Habilita funciones opcionales en el plano de control administrado
En esta página, se describe cómo habilitar funciones opcionales en la malla de servicios en la nube. Para obtener información sobre el plano de control en el clúster, consulta Habilita funciones opcionales en el plano de control en el clúster.
Cuando aprovisionas Cloud Service Mesh administrado, las funciones compatibles difieren
según la implementación del plano de control, y ciertas funciones solo
disponibles en la lista de entidades permitidas. Consulta
funciones compatibles para obtener más detalles.
Si actualmente usas una configuración basada en IstioOperator
, la
La herramienta Migrate from IstioOperator puede ayudarte.
convertirla en la configuración que admite el plano de control administrado.
Imagen de proxy distroless
Si te incorporaste directamente a Cloud Service Mesh con una implementación del plano de control
TRAFFIC_DIRECTOR
administrada, solo se admite el tipo de imagen sin distribución. No puedes cambiarlo.Si tu flota usaba originalmente la implementación del plano de control
ISTIOD
y se migró a la implementación deTRAFFIC_DIRECTOR
, el tipo de imagen no se modificó durante la migración, y puedes cambiarlo a distroless por tu cuenta.
Como práctica recomendada, debes restringir el contenido de un entorno de ejecución de un contenedor solo a los paquetes necesarios. Este enfoque mejora la seguridad y la relación entre las señales y el ruido de los analizadores de vulnerabilidades y riesgos comunes (CVE). Istio proporciona imágenes de proxy basadas en imágenes base distroless.
La imagen de proxy distroless no contiene ningún objeto binario distinto del proxy.
Por lo tanto, no es posible exec
un shell ni usar curl
, ping
ni otro
de depuración dentro del contenedor. Sin embargo, puedes usar contenedores efímeros para conectarte a un pod de carga de trabajo en ejecución y poder inspeccionarlo y ejecutar comandos personalizados. Por ejemplo, consulta
Recopila registros de la malla de servicios de Cloud.
La siguiente configuración habilita las imágenes de distrol para toda la malla de servicios de Cloud. Un cambio de tipo imagen requiere que cada pod se reinicie y se vuelva a insertar para que se aplique.
apiVersion: v1
kind: ConfigMap
metadata:
name: istio-release-channel
namespace: istio-system
data:
mesh: |-
defaultConfig:
image:
imageType: distroless
Puedes anular el imageType
con la siguiente anotación de Pod.
sidecar.istio.io/proxyImageType: debug
Después de cambiar el tipo de imagen de una implementación con la anotación, la implementación debe reiniciarse.
kubectl rollout restart deployment -n NAMESPACE DEPLOYMENT_NAME
Debido a que no requiere una imagen base de depuración, la mayoría de los tipos de depuración de proxy
deben usar gcloud beta container fleet mesh debug proxy-status / proxy-config
(detalles).
Política de tráfico saliente
De forma predeterminada, outboundTrafficPolicy
se configura como ALLOW_ANY
. En este modo, se permite todo el tráfico a cualquier servicio externo. Para controlar y restringir el tráfico solo a los servicios externos para los que se definen las entradas de servicio, puedes cambiar el comportamiento predeterminado de ALLOW_ANY
a REGISTRY_ONLY
.
La siguiente configuración establece el
outboundTrafficPolicy
enREGISTRY_ONLY
:apiVersion: v1 kind: ConfigMap metadata: name: istio-release-channel namespace: istio-system data: mesh: |- outboundTrafficPolicy: mode: REGISTRY_ONLY
En el ejemplo anterior, release-channel es tu canal de versiones (
asm-managed
,asm-managed-stable
oasm-managed-rapid
).Puedes hacer los cambios de configuración previos necesarios en el mapa de configuración con el siguiente comando:
kubectl edit configmap istio-release-channel -n istio-system -o yaml
Ejecuta el siguiente comando para ver el configmap:
kubectl get configmap istio-release-channel -n istio-system -o yaml
Para verificar que
outboundTrafficPolicy
esté habilitado conREGISTRY_ONLY
, asegúrate de que las siguientes líneas aparezcan en la secciónmesh:
.... apiVersion: v1 data: mesh: | outboundTrafficPolicy: mode: REGISTRY_ONLY ...
Autenticación del usuario final
Puedes configurar la autenticación de usuarios administrada de Cloud Service Mesh para la autenticación de usuarios finales basada en el navegador y el control de acceso a tus cargas de trabajo implementadas. Para obtener más información, consulta Configura la autenticación de usuarios de Cloud Service Mesh.
Configura la versión mínima de TLS para tus cargas de trabajo
Si te integraste directamente a Cloud Service Mesh con una implementación del plano de control TRAFFIC_DIRECTOR
administrada, no puedes cambiar este parámetro de configuración.
Puedes usar el campo minProtocolVersion
a fin de especificar la versión mínima de TLS para las conexiones de TLS entre tus cargas de trabajo. Para obtener más información sobre cómo establecer la versión mínima de TLS y verificar la configuración de TLS de tus cargas de trabajo, consulta Configuración de la versión mínima de TLS de las cargas de trabajo de Istio.
En el siguiente ejemplo, se muestra un ConfigMap
que establece la versión mínima de TLS para
cargas de trabajo a la versión 1.3:
apiVersion: v1
kind: ConfigMap
metadata:
name: istio-release-channel
namespace: istio-system
data:
mesh: |-
meshMTLS:
minProtocolVersion: TLSV1_3