En este tema se explica cómo instalar Cloud Service Mesh, que viene preinstalado con una puerta de enlace de entrada. Con Cloud Service Mesh, puedes configurar un recurso Ingress de Kubernetes para tus implementaciones si necesitas un controlador Ingress. En este tema se proporciona un ejemplo que muestra cómo configurar un recurso de implementación y de entrada de ejemplo.
La instalación de Cloud Service Mesh consta de dos partes principales:
- Instalar una versión específica del plano de control gestionado por el cliente y de Ingress Gateway de Cloud Service Mesh.
- Etiquetar tus espacios de nombres con una etiqueta de revisión y volver a implementar tus cargas de trabajo para insertar un proxy sidecar.
Si solo necesitas usar un objeto Ingress con un controlador Ingress, no tienes que insertar un proxy sidecar en tus pods de carga de trabajo. Sin embargo, si quieres disfrutar de las ventajas de seguridad que ofrece Cloud Service Mesh y usar las funciones de enrutamiento del tráfico, debes insertar los proxies sidecar.
Antes de empezar
Antes de empezar a usar GKE en AWS, asegúrate de haber completado las siguientes tareas:
- Cumple los requisitos previos.
- Instala un servicio de gestión.
- Crea un clúster de usuarios.
- Para registrar tu clúster con Connect, sigue los pasos que se indican en el artículo Conectarse a un clúster con la consola de Cloud.
- Configura tu clúster para usar Workload Identity con Google Cloud.
- Si tus clústeres de usuarios tienen restringido el acceso saliente a Internet, permite el acceso a los siguientes dominios de repositorios de contenedores: - docker.io
- quay.io
 
- En tu directorio de - anthos-aws, usa- anthos-gkepara cambiar el contexto a tu clúster de usuarios.- cd anthos-aws env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME 
Instalar Anthos Service Mesh
Sigue los pasos que se indican en Instalar Cloud Service Mesh.
Crear un Deployment de ejemplo
En esta sección, instalarás una aplicación de ejemplo y crearás un endpoint de entrada para ella.
- Crea un Deployment de - hello-appy un ClusterIP para el Deployment. Copia el siguiente código YAML en un archivo llamado- hello-app.yaml.- apiVersion: apps/v1 kind: Deployment metadata: labels: app: hello-app name: hello-app spec: selector: matchLabels: app: hello-app replicas: 3 template: metadata: labels: app: hello-app spec: containers: - name: hello image: "gcr.io/google-samples/hello-app:2.0" --- apiVersion: v1 kind: Service metadata: labels: app: hello-app name: hello-app spec: type: ClusterIP selector: app: hello-app ports: - protocol: TCP port: 8080 targetPort: 8080
- Aplica el archivo YAML a tu clúster con - kubectl apply.- env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f hello-app.yaml
- Crea un Ingress de Kubernetes para la aplicación de ejemplo. Copia el siguiente código YAML en un archivo llamado - hello-app-ingress.yaml.- apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: annotations: kubernetes.io/ingress.class: istio labels: app: hello-app name: hello-app spec: rules: - host: http: paths: - backend: serviceName: hello-app servicePort: 8080
- Crea el Ingress aplicando la configuración con - kubectl apply.- env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f hello-app-ingress.yaml
- Consulta el estado de tu pasarela con - kubectl get svc.- env HTTPS_PROXY=http://localhost:8118 \ kubectl get ingress hello-app- El campo - ADDRESSdebe tener un nombre de dominio de ELB. Si el- ADDRESSsigue siendo- pending, confirma el etiquetado de la VPC y la subred.
- Puedes consultar la URL de la puerta de enlace de entrada combinando el host y el puerto. Para obtener la URL de tu pasarela, ejecuta los siguientes comandos: - export INGRESS_URL=$(env HTTPS_PROXY=http://localhost:8118 \ kubectl get ingress hello-app -o jsonpath='{.status.loadBalancer.ingress[0].hostname}') echo "Your hello-app Ingress URL is: http://"$INGRESS_URL- El último comando imprime el endpoint de tu Ingress. 
- Si has creado un Ingress público, puedes ver la - hello-apppágina web predeterminada en- curlvisitando- http://$INGRESS_URL/.- curl $INGRESS_URL/
Eliminar los recursos utilizados
Elimina los componentes hello-app con kubectl delete.
env HTTPS_PROXY=http://localhost:8118 \
  kubectl delete -f hello-app.yaml &&\
  kubectl delete -f hello-app-ingress.yaml
Si quieres quitar Cloud Service Mesh, consulta el artículo sobre cómo desinstalar Cloud Service Mesh.
Siguientes pasos
Consulta más información sobre lo siguiente: