Instala ASM
Apigee Hybrid usa la distribución de Istio proporcionada con Anthos Service Mesh (ASM). Sigue estos pasos para instalar ASM en tu clúster.
Versiones de ASM admitidas
Consulta Apigee Hybrid: Plataformas compatibles para ver las versiones de ASM compatibles con la versión de Hybrid 1.7.
Realiza los pasos de configuración y ajustes de ASM
Para completar la instalación de ASM, primero debes seguir los pasos de configuración y ajustes específicos de ASM en la documentación de ASM. Luego, debes regresar aquí para completar la configuración específica de la opción híbrida antes de aplicar la configuración al clúster.
Las instrucciones para instalar y configurar ASM varían según 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 alojados en VMware (GKE On-Prem)
- Anthos en Bare Metal
- Clústeres de Anthos en AWS
- Amazon EKS
- Otras plataformas de Kubernetes: clústeres que cumplen con las especificaciones que se crean y ejecutan en los siguientes entornos:
- AKS
- EKS
- OpenShift
GKE
Prepárate para instalar ASM
- Verifica las variables de entorno que necesitarás para los siguientes pasos y configúralas si lo necesitas:
echo $PROJECT_ID
echo $CLUSTER_NAME
echo $CLUSTER_LOCATION
- Crea un archivo de superposición llamado
overlay.yaml
con el siguiente contenido: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)%"}'
apigee-runtime
es el valor predeterminado para el selector de nodos. Este es el grupo de nodosapigee-runtime
que creaste en el Paso 1: Crea un clúster. Si usas un selector de nodos diferente o no usas uno, cambia u omite la propiedadnodeSelector
.- STATIC_IP es la dirección IP de tu balanceador de cargas. Si no configuraste una, omite la propiedad
loadBalancerIP
, pero conserva las propiedadestype
yports
.
- Sigue las instrucciones a fin de prepararte para instalar ASM:
- Instala
asmcli
y cualquier herramienta necesaria, como git, kubectl y jq, mediante las instrucciones que se indican en Instala las herramientas necesarias. - Continúa con el paso Otorga permisos de administrador de clúster y detente. No realices el paso “Validar proyecto y clúster”.
- Instala ASM con funciones opcionales.
Especifica la puerta de enlace de entrada heredada con
--option legacy-default-ingressgateway
. Por ejemplo:./asmcli install \ --verbose \ --project_id $PROJECT_ID \ --cluster_name $CLUSTER_NAME \ --cluster_location $CLUSTER_LOCATION \ --output_dir dir_path \ --custom_overlay overlay.yaml \ --enable_all \ --option legacy-default-ingressgateway
- dir_path es el directorio de salida en el que deseas que
asmcli
configure la instalación de ASM, incluidos todos los subdirectorios. - overlay.yaml es el archivo de superposición que creaste en los pasos anteriores.
Usa esta configuración cuando sigas las instrucciones de Instala con funciones opcionales.
- dir_path es el directorio de salida en el que deseas que
Soluciona problemas
Si encuentras un error en gcloud container hub memberships register
, es posible que hayas excedido la cantidad máxima de clústeres registrados en GKE Hub. Por ejemplo:
asmcli_1.12: [WARNING]: Command 'run_command gcloud container hub memberships register my-hybrid-example ...' failed.
Prueba los siguientes pasos para solucionar este error y, luego, vuelve a ejecutar asmcli install
:
- Enumera las membresías de GKE Hub para tu proyecto:
gcloud container hub memberships list --project=$PROJECT_ID
- Borra las membresías de GKE Hub:
gcloud container hub memberships delete "membership" --project=$PROJECT_ID
Para obtener más información sobre los límites de GKE Hub, consulta Cuotas y límites.
Fuera de Google Cloud
Estas instrucciones son para instalar y configurar ASM en instancias de Apigee Hybrid mediante Anthos a fin de ejecutarse en lo siguiente:
- Clústeres de Anthos alojados en VMware (GKE On-Prem)
- Anthos en Bare Metal
- Clústeres de Anthos en AWS
- Amazon EKS
Prepárate para instalar ASM
- Verifica las variables de entorno que necesitarás para los siguientes pasos y configúralas si lo necesitas:
echo ${PROJECT_ID}
echo ${CLUSTER_NAME}
echo ${CLUSTER_LOCATION}
- Toma nota de los valores que necesitarás con
ASMCLI
. Estos son los valores que se te pedirá que proporciones cuando sigas los pasos de la documentación de ASM:- FLEET_PROJECT_ID es el nombre del proyecto con el que se asociarán los clústeres.
Usa el proyecto que creaste para esta instalación, almacenado en la variable de entorno
${PROJECT_ID}
. - KUBECONFIG_FILE es la ruta completa al archivo kubeconfig. La ruta predeterminada es
$HOME/.kube/config
. Para obtener más información, consulta Organiza el acceso de clúster mediante archivos kubeconfig en la documentación de Kubernetes. - DIR_PATH es el directorio de salida para ASMCLI. Esta es la ruta en la que se crearán los archivos de configuración de Istio. Por ejemplo:
./asm
. - GATEWAY_NAMESPACE es el espacio de nombres para tu puerta de enlace de entrada de Istio, por ejemplo:
istio
. - REVISION es la etiqueta de revisión para esta versión de ASM. Usa
asm-1129-3
- CONTEXT es el contexto de Kubernetes. Verifica que Kubernetes use el contexto de tu clúster con el siguiente comando:
kubectl config get-contexts
Si tu clúster actual no es el contexto actual, puedes configurarlo con el siguiente comando:
kubectl config use-context CONTEXT
- USER_ACCOUNT es la cuenta con los permisos de administrador de clúster que usas para administrar el clúster.
- FLEET_PROJECT_ID es el nombre del proyecto con el que se asociarán los clústeres.
Usa el proyecto que creaste para esta instalación, almacenado en la variable de entorno
- Configura el contexto en tu proyecto y región con los siguientes comandos:
Establece tu ID de proyecto predeterminado:
gcloud config set project ${PROJECT_ID}
Si trabajas con clústeres regionales, establece tu región de procesamiento predeterminada:
gcloud config set compute/region ${CLUSTER_LOCATION}
- Obtén credenciales con el siguiente comando:
gcloud container clusters get-credentials ${CLUSTER_NAME} --region ${CLUSTER_LOCATION} --project ${PROJECT_ID}
- Crea un archivo de superposición llamado
overlay.yaml
con el siguiente contenido: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)%"}'
apigee-runtime
es el valor predeterminado para el selector de nodos. Este es el grupo de nodosapigee-runtime
que creaste en el Paso 1: Crea un clúster. Si usas un selector de nodos diferente o no usas uno, cambia u omite la propiedadnodeSelector
.- STATIC_IP es la dirección IP de tu balanceador de cargas. Si no configuraste una, omite la propiedad
loadBalancerIP
, pero conserva las propiedadestype
yports
.
- Sigue las instrucciones a fin de prepararte para instalar ASM:
- Instala
asmcli
y cualquier herramienta necesaria, como git, kubectl y jq, mediante las instrucciones que se indican en Instala las herramientas necesarias. - Continúa con el paso Otorga permisos de administrador de clúster y detente. No realices el paso “Validar proyecto y clúster”.
- Instala ASM con funciones opcionales.
Especifica la puerta de enlace de entrada heredada con
--option legacy-default-ingressgateway
. Por ejemplo:./asmcli install \ --verbose \ --project_id $PROJECT_ID \ --cluster_name $CLUSTER_NAME \ --cluster_location $CLUSTER_LOCATION \ --output_dir dir_path \ --custom_overlay overlay.yaml \ --enable_all \ --option legacy-default-ingressgateway
- dir_path es el directorio de salida en el que deseas que
asmcli
configure la instalación de ASM, incluidos todos los subdirectorios. - overlay.yaml es el archivo de superposición que creaste en los pasos anteriores.
Usa esta configuración cuando sigas las instrucciones de Instala con funciones opcionales.
- dir_path es el directorio de salida en el que deseas que
Soluciona problemas
Si encuentras un error en gcloud container hub memberships register
, es posible que hayas excedido la cantidad máxima de clústeres registrados en GKE Hub. Por ejemplo:
asmcli_1.12: [WARNING]: Command 'run_command gcloud container hub memberships register my-hybrid-example ...' failed.
Prueba los siguientes pasos para solucionar este error y, luego, vuelve a ejecutar asmcli install
:
- Enumera las membresías de GKE Hub para tu proyecto:
gcloud container hub memberships list --project=$PROJECT_ID
- Borra las membresías de GKE Hub:
gcloud container hub memberships delete "membership" --project=$PROJECT_ID
Para obtener más información sobre los límites de GKE Hub, consulta Cuotas y límites.
Otras plataformas de Kubernetes
AKS
Cómo configurar y descargar los ASM
Antes de comenzar, lee los siguientes pasos. Te pediremos que sigas algunos de los pasos que se indican en la documentación de ASM y, luego, regresa para completar la instalación.
En esta guía, se explica cómo realizar una instalación limpia de la versión de Anthos Service Mesh (ASM) 1.12.9-asm.3 en clústeres conectados a Anthos. Usa esta guía para instalar Anthos Service Mesh en los siguientes entornos:
- Amazon Elastic Kubernetes Service (Amazon EKS) en Kubernetes
- Microsoft Azure Kubernetes Service (Microsoft AKS) en Kubernetes
- Red Hat OpenShift
Prepárate para instalar Anthos Service Mesh
- Descarga el archivo de instalación de Anthos Service Mesh en el directorio de trabajo actual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-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/istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3-linux-amd64.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extrae el contenido del archivo a cualquier ubicación en tu sistema de archivos. Por ejemplo, para extraer el contenido en el directorio de trabajo actual, ingresa este comando:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
El comando crea un directorio de instalación en tu directorio de trabajo actual llamado
istio-1.12.9-asm.3
que contiene lo siguiente:- Hay aplicaciones de muestra en el directorio
samples
. - La herramienta de línea de comandos de
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
.
- Hay aplicaciones de muestra en el directorio
- Asegúrate de estar en el directorio raíz de la instalación de Anthos Service Mesh.
cd istio-1.12.9-asm.3
- Para mayor comodidad, agregue las herramientas que contiene el directorio /bin a su RUTA DE ACCESO.
export PATH=$PWD/bin:$PATH
- Descarga el archivo de instalación de Anthos Service Mesh en el directorio de trabajo actual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
- Descarga el archivo de firma y usa openssl para verificar la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3-osx.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extrae el contenido del archivo a cualquier ubicación en tu sistema de archivos. Por ejemplo, para extraer el contenido en el directorio de trabajo actual, ingresa este comando:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
El comando crea un directorio de instalación en tu directorio de trabajo actual llamado
istio-1.12.9-asm.3
que contiene lo siguiente:- Hay aplicaciones de muestra en el directorio
samples
. - La herramienta de línea de comandos de
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
.
- Hay aplicaciones de muestra en el directorio
- Asegúrate de estar en el directorio raíz de la instalación de Anthos Service Mesh.
cd istio-1.12.9-asm.3
- Para mayor comodidad, agregue las herramientas que contiene el directorio /bin a su RUTA DE ACCESO.
export PATH=$PWD/bin:$PATH
- Descarga el archivo de instalación de Anthos Service Mesh en el directorio de trabajo actual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
- Descarga el archivo de firma y usa openssl para verificar la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3-win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extrae el contenido del archivo a cualquier ubicación en tu sistema de archivos. Por ejemplo, para extraer el contenido en el directorio de trabajo actual, ingresa este comando:
tar xzf istio-1.12.9-asm.3-win.zip
El comando crea un directorio de instalación en tu directorio de trabajo actual llamado
istio-1.12.9-asm.3
que contiene lo siguiente:- Hay aplicaciones de muestra en el directorio
samples
. - La herramienta de línea de comandos de
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
.
- Hay aplicaciones de muestra en el directorio
- Asegúrate de estar en el directorio raíz de la instalación de Anthos Service Mesh.
cd istio-1.12.9-asm.3
- Para mayor comodidad, agregue las herramientas que contiene el directorio /bin a su RUTA DE ACCESO.
set PATH=%CD%\bin:%PATH%
- Ahora que ASM Istio está instalado, verifica 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
Instala Anthos Service Mesh
- Crea un archivo
overlay.yaml
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-1129-3" \ --filename overlay.yaml
El argumento
--set revision
agrega una etiqueta de revisión con el formatoistio.io/rev=asm-1129-3
a istiod. El webhook automático de inyector de sidecar usa la etiqueta de revisión para asociar los sidecars insertados con una revisión istiod particular. Para habilitar la inserción automática del sidecar para un espacio de nombres, debes etiquetarlo con una revisión que coincida con la etiqueta en istiod. - Verifica que los Pods
istiod
se ejecuten conkubectl get pods
:kubectl get pods -n istio-system
Deberías obtener un resultado similar al siguiente:
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-1129-3-dbfb7c7b6-2ls88 1/1 Running 0 3m21s istiod-asm-1129-3-dbfb7c7b6-fnj8c 1/1 Running 1 3m21s
- Verifica que se haya completado la instalación:
kubectl get svc -n istio-system
Deberías obtener un resultado similar al siguiente:
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-1129-3 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
EKS
Cómo configurar y descargar los ASM
Antes de comenzar, lee los siguientes pasos. Te pediremos que sigas algunos de los pasos que se indican en la documentación de ASM y, luego, regresa para completar la instalación.
En esta guía, se explica cómo realizar una instalación limpia de la versión de Anthos Service Mesh (ASM) 1.12.9-asm.3 en clústeres conectados a Anthos. Usa esta guía para instalar Anthos Service Mesh en los siguientes entornos:
- Amazon Elastic Kubernetes Service (Amazon EKS) en Kubernetes
- Microsoft Azure Kubernetes Service (Microsoft AKS) en Kubernetes
- Red Hat OpenShift
Prepárate para instalar Anthos Service Mesh
- Descarga el archivo de instalación de Anthos Service Mesh en el directorio de trabajo actual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-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/istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3-linux-amd64.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extrae el contenido del archivo a cualquier ubicación en tu sistema de archivos. Por ejemplo, para extraer el contenido en el directorio de trabajo actual, ingresa este comando:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
El comando crea un directorio de instalación en tu directorio de trabajo actual llamado
istio-1.12.9-asm.3
que contiene lo siguiente:- Hay aplicaciones de muestra en el directorio
samples
. - La herramienta de línea de comandos de
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
.
- Hay aplicaciones de muestra en el directorio
- Asegúrate de estar en el directorio raíz de la instalación de Anthos Service Mesh.
cd istio-1.12.9-asm.3
- Para mayor comodidad, agregue las herramientas que contiene el directorio /bin a su RUTA DE ACCESO.
export PATH=$PWD/bin:$PATH
- Descarga el archivo de instalación de Anthos Service Mesh en el directorio de trabajo actual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
- Descarga el archivo de firma y usa openssl para verificar la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3-osx.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extrae el contenido del archivo a cualquier ubicación en tu sistema de archivos. Por ejemplo, para extraer el contenido en el directorio de trabajo actual, ingresa este comando:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
El comando crea un directorio de instalación en tu directorio de trabajo actual llamado
istio-1.12.9-asm.3
que contiene lo siguiente:- Hay aplicaciones de muestra en el directorio
samples
. - La herramienta de línea de comandos de
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
.
- Hay aplicaciones de muestra en el directorio
- Asegúrate de estar en el directorio raíz de la instalación de Anthos Service Mesh.
cd istio-1.12.9-asm.3
- Para mayor comodidad, agregue las herramientas que contiene el directorio /bin a su RUTA DE ACCESO.
export PATH=$PWD/bin:$PATH
- Descarga el archivo de instalación de Anthos Service Mesh en el directorio de trabajo actual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
- Descarga el archivo de firma y usa openssl para verificar la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3-win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extrae el contenido del archivo a cualquier ubicación en tu sistema de archivos. Por ejemplo, para extraer el contenido en el directorio de trabajo actual, ingresa este comando:
tar xzf istio-1.12.9-asm.3-win.zip
El comando crea un directorio de instalación en tu directorio de trabajo actual llamado
istio-1.12.9-asm.3
que contiene lo siguiente:- Hay aplicaciones de muestra en el directorio
samples
. - La herramienta de línea de comandos de
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
.
- Hay aplicaciones de muestra en el directorio
- Asegúrate de estar en el directorio raíz de la instalación de Anthos Service Mesh.
cd istio-1.12.9-asm.3
- Para mayor comodidad, agregue las herramientas que contiene el directorio /bin a su RUTA DE ACCESO.
set PATH=%CD%\bin:%PATH%
- Ahora que ASM Istio está instalado, verifica 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
Instala Anthos Service Mesh
- Crea un archivo
overlay.yaml
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-1129-3" \ --filename overlay.yaml
El argumento
--set revision
agrega una etiqueta de revisión con el formatoistio.io/rev=asm-1129-3
a istiod. El webhook automático de inyector de sidecar usa la etiqueta de revisión para asociar los sidecars insertados con una revisión istiod particular. Para habilitar la inserción automática del sidecar para un espacio de nombres, debes etiquetarlo con una revisión que coincida con la etiqueta en istiod. - Verifica que los Pods
istiod
se ejecuten conkubectl get pods
:kubectl get pods -n istio-system
Deberías obtener un resultado similar al siguiente:
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-1129-3-dbfb7c7b6-2ls88 1/1 Running 0 3m21s istiod-asm-1129-3-dbfb7c7b6-fnj8c 1/1 Running 1 3m21s
- Verifica que se haya completado la instalación:
kubectl get svc -n istio-system
Deberías obtener un resultado similar al siguiente:
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-1129-3 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
OpenShift
Cómo configurar y descargar los ASM
Antes de comenzar, lee los siguientes pasos. Te pediremos que sigas algunos de los pasos que se indican en la documentación de ASM y, luego, regresa para completar la instalación.
En esta guía, se explica cómo realizar una instalación limpia de la versión de Anthos Service Mesh (ASM) 1.12.9-asm.3 en clústeres conectados a Anthos. Usa esta guía para instalar Anthos Service Mesh en los siguientes entornos:
- Amazon Elastic Kubernetes Service (Amazon EKS) en Kubernetes
- Microsoft Azure Kubernetes Service (Microsoft AKS) en Kubernetes
- Red Hat OpenShift
Prepárate para instalar Anthos Service Mesh
- Otorga la restricción de contexto de seguridad (SCC)
anyuid
al sistema istio con el siguiente comandooc
:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Descarga el archivo de instalación de Anthos Service Mesh en el directorio de trabajo actual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-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/istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3-linux-amd64.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extrae el contenido del archivo a cualquier ubicación en tu sistema de archivos. Por ejemplo, para extraer el contenido en el directorio de trabajo actual, ingresa este comando:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
El comando crea un directorio de instalación en tu directorio de trabajo actual llamado
istio-1.12.9-asm.3
que contiene lo siguiente:- Hay aplicaciones de muestra en el directorio
samples
. - La herramienta de línea de comandos de
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
.
- Hay aplicaciones de muestra en el directorio
- Asegúrate de estar en el directorio raíz de la instalación de Anthos Service Mesh.
cd istio-1.12.9-asm.3
- Para mayor comodidad, agregue las herramientas que contiene el directorio /bin a su RUTA DE ACCESO.
export PATH=$PWD/bin:$PATH
- Otorga la restricción de contexto de seguridad (SCC)
anyuid
al sistema istio con el siguiente comandooc
:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Descarga el archivo de instalación de Anthos Service Mesh en el directorio de trabajo actual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
- Descarga el archivo de firma y usa openssl para verificar la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3-osx.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extrae el contenido del archivo a cualquier ubicación en tu sistema de archivos. Por ejemplo, para extraer el contenido en el directorio de trabajo actual, ingresa este comando:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
El comando crea un directorio de instalación en tu directorio de trabajo actual llamado
istio-1.12.9-asm.3
que contiene lo siguiente:- Hay aplicaciones de muestra en el directorio
samples
. - La herramienta de línea de comandos de
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
.
- Hay aplicaciones de muestra en el directorio
- Asegúrate de estar en el directorio raíz de la instalación de Anthos Service Mesh.
cd istio-1.12.9-asm.3
- Para mayor comodidad, agregue las herramientas que contiene el directorio /bin a su RUTA DE ACCESO.
export PATH=$PWD/bin:$PATH
- Otorga la restricción de contexto de seguridad (SCC)
anyuid
al sistema istio 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 el directorio de trabajo actual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
- Descarga el archivo de firma y usa openssl para verificar la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3-win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extrae el contenido del archivo a cualquier ubicación en tu sistema de archivos. Por ejemplo, para extraer el contenido en el directorio de trabajo actual, ingresa este comando:
tar xzf istio-1.12.9-asm.3-win.zip
El comando crea un directorio de instalación en tu directorio de trabajo actual llamado
istio-1.12.9-asm.3
que contiene lo siguiente:- Hay aplicaciones de muestra en el directorio
samples
. - La herramienta de línea de comandos de
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
.
- Hay aplicaciones de muestra en el directorio
- Asegúrate de estar en el directorio raíz de la instalación de Anthos Service Mesh.
cd istio-1.12.9-asm.3
- Para mayor comodidad, agregue las herramientas que contiene el directorio /bin a su RUTA DE ACCESO.
set PATH=%CD%\bin:%PATH%
- Ahora que ASM Istio está instalado, verifica 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
Instala Anthos Service Mesh
- Crea un archivo
overlay.yaml
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-1129-3" \ --filename overlay.yaml
El argumento
--set revision
agrega una etiqueta de revisión con el formatoistio.io/rev=asm-1129-3
a istiod. El webhook automático de inyector de sidecar usa la etiqueta de revisión para asociar los sidecars insertados con una revisión istiod particular. Para habilitar la inserción automática del sidecar para un espacio de nombres, debes etiquetarlo con una revisión que coincida con la etiqueta en istiod. - Verifica que los Pods
istiod
se ejecuten conkubectl get pods
:kubectl get pods -n istio-system
Deberías obtener un resultado similar al siguiente:
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-1129-3-dbfb7c7b6-2ls88 1/1 Running 0 3m21s istiod-asm-1129-3-dbfb7c7b6-fnj8c 1/1 Running 1 3m21s
- Verifica que se haya completado la instalación:
kubectl get svc -n istio-system
Deberías obtener un resultado similar al siguiente:
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-1129-3 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
Personaliza la instalación de ASM
La instalación de ASM que acabas de realizar es una instalación mínima, suficiente para probar y usar Apigee Hybrid en casos de uso básicos. Para obtener información sobre cómo abordar casos de uso más avanzados, como agregar, quitar o modificar números de puertos del balanceador de cargas, consulta Habilita funciones opcionales.
Resumen
Ahora tienes instalado cert-manager y ASM, y estás listo para instalar la herramienta de línea de comandos híbrida de Apigee en tu máquina local.
1 2 3 (SIGUIENTE) Paso 4: Instala apigeectl 5 6 7 8 9