- v1.15 (última)
- v1.14
- v1.13
- Lista de versiones admitidas
- v1.12
- v1.11
- v1.10
- v1.9
- v1.8
- v1.7
- Versión 1.6
- v1.5
- Versión 1.4
- Versión 1.3
- v1.2
- v1.1
Versiones compatibles:
Versiones no compatibles:
A partir de la versión 1.8 de Apigee hybrid, Apigee hybrid usa la puerta de enlace de entrada de Apigee para proporcionar una puerta de enlace de entrada para tu instalación híbrida. Si prefieres usar Anthos Service Mesh para el tráfico de entrada, sigue estos pasos para instalar Anthos Service Mesh en tu clúster.
Versiones compatibles de Anthos Service Mesh
Consulta las plataformas compatibles con Apigee Hybrid para ver las versiones de Anthos Service Mesh compatibles con la versión 1.8 de Hybrid.
Si vas a actualizar tu instalación híbrida, sigue las instrucciones que se indican en Actualizar Anthos Service Mesh.
Instalar Anthos Service Mesh
Realiza estos pasos en una instalación nueva de Apigee hybrid solo si no utilizas la pasarela de entrada de Apigee.
Sigue los procedimientos que se indican en la documentación de Anthos Service Mesh correspondiente a tu plataforma:
Las instrucciones para instalar y configurar Anthos Service Mesh varían en función de la plataforma. Las plataformas se dividen en las siguientes categorías:
- GKE clústeres de Google Kubernetes Engine que se ejecutan en Google Cloud.
- Fuera de Google Cloud: clústeres de Anthos que se ejecutan en:
- Clústeres de Anthos en VMware (GKE On-Prem)
- Anthos en Bare Metal
- Clústeres de Anthos en AWS
- Amazon EKS
- Otras plataformas de Kubernetes: clústeres conformes creados y ejecutados en:
- AKS
- EKS
- OpenShift
GKE
La secuencia para instalar Anthos Service Mesh es la siguiente:
- Prepárate para la instalación.
- Instala la nueva versión de Anthos Service Mesh.
Prepararse para instalar Anthos Service Mesh
- Consulta los requisitos en Actualizar Anthos Service Mesh, pero no realices la actualización todavía.
- Crea un archivo
overlay.yaml
o comprueba que el que ya tienes contiene lo siguiente:overlay.yaml
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: nodeSelector: # default node selector, if different or not using node selectors, change accordingly. cloud.google.com/gke-nodepool: apigee-runtime resources: requests: cpu: 1000m service: type: LoadBalancer loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out. ports: - name: http-status-port port: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443 meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
- Sigue las instrucciones de las siguientes secciones de la documentación de Anthos Service Mesh:
- Descargar asmcli
- Conceder permisos de administrador de clústeres
- Validar proyecto y clúster
- Actualiza tu plan con funciones opcionales. Detente antes de empezar la sección "Actualizar pasarelas".
Fuera de Google Cloud
Estas instrucciones explican cómo actualizar Anthos Service Mesh en los siguientes entornos:
- Clústeres de Anthos en VMware (GKE On-Prem)
- Anthos en Bare Metal
- Clústeres de Anthos en AWS
- Amazon EKS
La secuencia para instalar Anthos Service Mesh es la siguiente:
- Prepárate para la instalación.
- Instala la nueva versión de Anthos Service Mesh.
Prepararse para instalar Anthos Service Mesh
- Consulta los requisitos en Actualizar Anthos Service Mesh, pero no realices la actualización todavía.
- Crea un archivo
overlay.yaml
o comprueba que el que ya tienes contiene lo siguiente:overlay.yaml
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: nodeSelector: # default node selector, if different or not using node selectors, change accordingly. cloud.google.com/gke-nodepool: apigee-runtime resources: requests: cpu: 1000m service: type: LoadBalancer loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out. ports: - name: http-status-port port: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443 values: gateways: istio-ingressgateway: runAsRoot: true meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
- Sigue las instrucciones de las siguientes secciones de la documentación de Anthos Service Mesh:
- Descargar asmcli
- Conceder permisos de administrador de clústeres
- Validar proyecto y clúster
- Actualiza tu plan con funciones opcionales. Detente antes de empezar la sección "Actualizar pasarelas".
AKS/EKS
Prepararse para instalar Anthos Service Mesh
- Descarga el archivo de instalación de Anthos Service Mesh en tu directorio de trabajo actual:
curl -LO https://storage.googleapis.com/gke-release/asm/1.17.8-asm.4-distroless-linux-amd64.tar.gz
- Descarga el archivo de firma y usa OpenSSL para verificar la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/1.17.8-asm.4-distroless-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature 1.17.8-asm.4-distroless-linux-amd64.tar.gz.1.sig 1.17.8-asm.4-distroless.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extrae el contenido del archivo a cualquier ubicación de tu sistema de archivos. Por ejemplo, para extraer el contenido al directorio de trabajo actual, haz lo siguiente:
tar xzf 1.17.8-asm.4-distroless-linux-amd64.tar.gz
El comando crea un directorio de instalación en tu directorio de trabajo actual llamado
1.17.8-asm.4-distroless
que contiene lo siguiente:- Aplicaciones de ejemplo en el directorio
samples
. - La herramienta de línea de comandos
istioctl
que usas para instalar Anthos Service Mesh se encuentra en el directoriobin
. - Los perfiles de configuración de Anthos Service Mesh se encuentran en el directorio
manifests/profiles
.
- Aplicaciones de ejemplo en el directorio
- Asegúrate de que te encuentras en el directorio raíz de la instalación de Anthos Service Mesh:
cd 1.17.8-asm.4-distroless
- Para mayor comodidad, añade las herramientas del directorio
/bin
a tuPATH
:export PATH=$PWD/bin:$PATH
- Descarga el archivo de instalación de Anthos Service Mesh en tu directorio de trabajo actual:
curl -LO https://storage.googleapis.com/gke-release/asm/1.17.8-asm.4-distroless-osx.tar.gz
- Descarga el archivo de firma y usa OpenSSL para verificar la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/1.17.8-asm.4-distroless-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature 1.17.8-asm.4-distroless-osx.tar.gz.1.sig 1.17.8-asm.4-distroless.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extrae el contenido del archivo a cualquier ubicación de tu sistema de archivos. Por ejemplo, para extraer el contenido al directorio de trabajo actual, haz lo siguiente:
tar xzf 1.17.8-asm.4-distroless-osx.tar.gz
El comando crea un directorio de instalación en tu directorio de trabajo actual llamado
1.17.8-asm.4-distroless
que contiene lo siguiente:- Aplicaciones de ejemplo en el directorio
samples
. - La herramienta de línea de comandos
istioctl
que usas para instalar Anthos Service Mesh se encuentra en el directoriobin
. - Los perfiles de configuración de Anthos Service Mesh se encuentran en el directorio
manifests/profiles
.
- Aplicaciones de ejemplo en el directorio
- Asegúrate de que te encuentras en el directorio raíz de la instalación de Anthos Service Mesh:
cd 1.17.8-asm.4-distroless
- Para mayor comodidad, añade las herramientas del directorio
/bin
a tuPATH
:export PATH=$PWD/bin:$PATH
- Descarga el archivo de instalación de Anthos Service Mesh en tu directorio de trabajo actual:
curl -LO https://storage.googleapis.com/gke-release/asm/1.17.8-asm.4-distroless-win.zip
- Descarga el archivo de firma y usa OpenSSL para verificar la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/1.17.8-asm.4-distroless-win.zip.1.sig
openssl dgst -verify - -signature 1.17.8-asm.4-distroless-win.zip.1.sig 1.17.8-asm.4-distroless.win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extrae el contenido del archivo a cualquier ubicación de tu sistema de archivos. Por ejemplo, para extraer el contenido al directorio de trabajo actual, haz lo siguiente:
tar xzf 1.17.8-asm.4-distroless-win.zip
El comando crea un directorio de instalación en tu directorio de trabajo actual llamado
1.17.8-asm.4-distroless
que contiene lo siguiente:- Aplicaciones de ejemplo en el directorio
samples
. - La herramienta de línea de comandos
istioctl
que usas para instalar Anthos Service Mesh se encuentra en el directoriobin
. - Los perfiles de configuración de Anthos Service Mesh se encuentran en el directorio
manifests\profiles
.
- Aplicaciones de ejemplo en el directorio
- Asegúrate de que te encuentras en el directorio raíz de la instalación de Anthos Service Mesh:
cd 1.17.8-asm.4-distroless
- Para mayor comodidad, añade las herramientas del directorio \bin a tu PATH:
set PATH=%CD%\bin:%PATH%
- Ahora que se ha instalado Anthos Service Mesh Istio, comprueba la versión de
istioctl
:istioctl version
- Crea un espacio de nombres llamado istio-system para los componentes del plano de control:
kubectl create namespace istio-system
Linux
macOS
Windows
Instalar Anthos Service Mesh
- Edita el archivo
overlay.yaml
o crea uno con el siguiente contenido:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}' components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443
- Instala Anthos Service Mesh con
istioctl
mediante el perfilasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1178-1" \ --filename overlay.yaml
La salida debería tener un aspecto similar a este:
kubectl get pods -n istio-system NAME READY STATUS RESTARTS AGE istio-ingressgateway-88b6fd976-flgp2 1/1 Running 0 3m13s istio-ingressgateway-88b6fd976-p5dl9 1/1 Running 0 2m57s istiod-asm-1178-1-798ffb964-2ls88 1/1 Running 0 3m21s istiod-asm-1178-1-798ffb964-fnj8c 1/1 Running 1 3m21s
El argumento
--set revision
añade una etiqueta de revisión con el formatoistio.io/rev=asm-1178-1
aistiod
. El webhook del inyector automático de sidecars usa la etiqueta de revisión para asociar los sidecars inyectados con una revisiónistiod
concreta. Para habilitar la inyección automática de sidecar en un espacio de nombres, debes etiquetarlo con una revisión que coincida con la etiqueta deistiod
. - Comprueba que la instalación se ha completado:
kubectl get svc -n istio-system
La salida debería tener un aspecto similar a este:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 172.200.48.52 34.74.177.168 15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP 3m35s istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 4m46s istiod-asm-1178-1 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
OpenShift
Prepararse para instalar Anthos Service Mesh
- Antes de instalar la nueva versión, determina la revisión actual. Necesitará esta información para eliminar el webhook de validación y el webhook de mutación de su instalación actual de Anthos Service Mesh. Usa el siguiente comando para almacenar la revisión actual de
istiod
en una variable de entorno:export DELETE_REV=$(kubectl get deploy -n istio-system -l app=istiod -o jsonpath={.items[*].metadata.labels.'istio\.io\/rev'}'{"\n"}')
echo $DELETE_REV
La salida debería tener un aspecto similar a este:
1.16
- Asigna la restricción de contexto de seguridad (SCC)
anyuid
a istio-system con el siguiente comando de la CLI de OpenShift (oc
):oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Descarga el archivo de instalación de Anthos Service Mesh en tu directorio de trabajo actual:
curl -LO https://storage.googleapis.com/gke-release/asm/1.17.8-asm.4-distroless-linux-amd64.tar.gz
- Descarga el archivo de firma y usa OpenSSL para verificar la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/1.17.8-asm.4-distroless-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature 1.17.8-asm.4-distroless-linux-amd64.tar.gz.1.sig 1.17.8-asm.4-distroless.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extrae el contenido del archivo a cualquier ubicación de tu sistema de archivos. Por ejemplo, para extraer el contenido al directorio de trabajo actual, haz lo siguiente:
tar xzf 1.17.8-asm.4-distroless-linux-amd64.tar.gz
El comando crea un directorio de instalación en tu directorio de trabajo actual llamado
1.17.8-asm.4-distroless
que contiene lo siguiente:- Aplicaciones de ejemplo en el directorio
samples
. - La herramienta de línea de comandos
istioctl
que usas para instalar Anthos Service Mesh se encuentra en el directoriobin
. - Los perfiles de configuración de Anthos Service Mesh se encuentran en el directorio
manifests/profiles
.
- Aplicaciones de ejemplo en el directorio
- Asegúrate de que te encuentras en el directorio raíz de la instalación de Anthos Service Mesh:
cd 1.17.8-asm.4-distroless
- Para mayor comodidad, añade las herramientas del directorio
/bin
a tuPATH
:export PATH=$PWD/bin:$PATH
- Asigna la restricción de contexto de seguridad (SCC)
anyuid
a istio-system con el siguiente comando de la CLI de OpenShift (oc
):oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Descarga el archivo de instalación de Anthos Service Mesh en tu directorio de trabajo actual:
curl -LO https://storage.googleapis.com/gke-release/asm/1.17.8-asm.4-distroless-osx.tar.gz
- Descarga el archivo de firma y usa OpenSSL para verificar la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/1.17.8-asm.4-distroless-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature 1.17.8-asm.4-distroless-osx.tar.gz.1.sig 1.17.8-asm.4-distroless.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extrae el contenido del archivo a cualquier ubicación de tu sistema de archivos. Por ejemplo, para extraer el contenido al directorio de trabajo actual, haz lo siguiente:
tar xzf 1.17.8-asm.4-distroless-osx.tar.gz
El comando crea un directorio de instalación en tu directorio de trabajo actual llamado
1.17.8-asm.4-distroless
que contiene lo siguiente:- Aplicaciones de ejemplo en el directorio
samples
. - La herramienta de línea de comandos
istioctl
que usas para instalar Anthos Service Mesh se encuentra en el directoriobin
. - Los perfiles de configuración de Anthos Service Mesh se encuentran en el directorio
manifests/profiles
.
- Aplicaciones de ejemplo en el directorio
- Asegúrate de que te encuentras en el directorio raíz de la instalación de Anthos Service Mesh:
cd 1.17.8-asm.4-distroless
- Para mayor comodidad, añade las herramientas del directorio
/bin
a tuPATH
:export PATH=$PWD/bin:$PATH
- Asigna la restricción de contexto de seguridad (SCC)
anyuid
a istio-system con el siguiente comando de la CLI de OpenShift (oc
):oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Descarga el archivo de instalación de Anthos Service Mesh en tu directorio de trabajo actual:
curl -LO https://storage.googleapis.com/gke-release/asm/1.17.8-asm.4-distroless-win.zip
- Descarga el archivo de firma y usa OpenSSL para verificar la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/1.17.8-asm.4-distroless-win.zip.1.sig
openssl dgst -verify - -signature 1.17.8-asm.4-distroless-win.zip.1.sig 1.17.8-asm.4-distroless.win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extrae el contenido del archivo a cualquier ubicación de tu sistema de archivos. Por ejemplo, para extraer el contenido al directorio de trabajo actual, haz lo siguiente:
tar xzf 1.17.8-asm.4-distroless-win.zip
El comando crea un directorio de instalación en tu directorio de trabajo actual llamado
1.17.8-asm.4-distroless
que contiene lo siguiente:- Aplicaciones de ejemplo en el directorio
samples
. - La herramienta de línea de comandos
istioctl
que usas para instalar Anthos Service Mesh se encuentra en el directoriobin
. - Los perfiles de configuración de Anthos Service Mesh se encuentran en el directorio
manifests\profiles
.
- Aplicaciones de ejemplo en el directorio
- Asegúrate de que te encuentras en el directorio raíz de la instalación de Anthos Service Mesh:
cd 1.17.8-asm.4-distroless
- Para mayor comodidad, añade las herramientas del directorio \bin a tu PATH:
set PATH=%CD%\bin:%PATH%
- Ahora que se ha instalado Anthos Service Mesh Istio, comprueba la versión de
istioctl
:istioctl version
- Crea un espacio de nombres llamado istio-system para los componentes del plano de control:
kubectl create namespace istio-system
Linux
macOS
Windows
Configurar el webhook de validación
Cuando instalas Anthos Service Mesh, asignas una etiqueta de revisión a istiod
. Debes definir la misma revisión en el webhook de validación.
- Crea un archivo llamado
istiod-service.yaml
con el siguiente contenido:apiVersion: v1 kind: Service metadata: name: istiod namespace: istio-system labels: istio.io/rev: asm-1178-1 app: istiod istio: pilot release: istio spec: ports: - port: 15010 name: grpc-xds # plaintext protocol: TCP - port: 15012 name: https-dns # mTLS with k8s-signed cert protocol: TCP - port: 443 name: https-webhook # validation and injection targetPort: 15017 protocol: TCP - port: 15014 name: http-monitoring # prometheus stats protocol: TCP selector: app: istiod istio.io/rev: asm-1178-1 meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
- Usa
kubectl
para aplicar la configuración del webhook de validación:kubectl apply -f istiod-service.yaml
- Verifica que se ha aplicado la configuración:
kubectl get svc -n istio-system
La respuesta debería ser similar a esta:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 22s
Instalar Anthos Service Mesh
- Edita el archivo
overlay.yaml
o crea uno con el siguiente contenido:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}' components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443
- Instala Anthos Service Mesh con
istioctl
mediante el perfilasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1178-1" \ --filename overlayfile.yaml
La salida debería tener un aspecto similar a este:
kubectl get pods -n istio-system NAME READY STATUS RESTARTS AGE istio-ingressgateway-88b6fd976-flgp2 1/1 Running 0 3m13s istio-ingressgateway-88b6fd976-p5dl9 1/1 Running 0 2m57s istiod-asm-1178-1-798ffb964-2ls88 1/1 Running 0 3m21s istiod-asm-1178-1-798ffb964-fnj8c 1/1 Running 1 3m21s
El argumento
--set revision
añade una etiqueta de revisión con el formatoistio.io/rev=1.6.11-asm.1
aistiod
. El webhook del inyector automático de sidecars usa la etiqueta de revisión para asociar los sidecars inyectados con una revisiónistiod
concreta. Para habilitar la inyección automática de sidecar en un espacio de nombres, debes etiquetarlo con una revisión que coincida con la etiqueta deistiod
. - Comprueba que la instalación se ha completado:
kubectl get svc -n istio-system
La salida debería tener un aspecto similar a este:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 172.200.48.52 34.74.177.168 15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP 3m35s istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 4m46s istiod-asm-1178-1 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s