El producto descrito en esta documentación, clústeres de Anthos en AWS (generación anterior), ahora está en modo de mantenimiento. Todas las instalaciones nuevas deben usar el producto de generación actual, clústeres de Anthos en AWS.
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En este tema, se muestra cómo instalar Anthos Service Mesh, que viene preinstalada con una puerta de enlace de Ingress.
Con Anthos Service Mesh, puedes configurar un recurso de Ingress de Kubernetes para tus Deployments si necesitas un controlador de Ingress.
En este tema, se proporciona un ejemplo en el que se muestra cómo configurar un recurso de muestra de Ingress y Deployment.
La instalación de Anthos Service Mesh consta de dos partes principales:
Etiquetar los espacios de nombres con una etiqueta de revisión y volver a implementar las cargas de trabajo para incorporar un proxy de sidecar.
Si solo necesitas usar un objeto Ingress mediante un controlador de Ingress, no tienes que incorporar un proxy de sidecar en los Pods de la carga de trabajo. Pero si deseas los beneficios de seguridad que proporciona Anthos Service Mesh y, si quieres usar las capacidades del enrutamiento de tráfico debes insertar los proxies de sidecar.
Antes de comenzar
Antes de comenzar a usar GKE on AWS, completa las siguientes tareas:
Si tus clústeres de usuario tienen acceso de salida restringido a Internet, permite el acceso a los siguientes dominios del repositorio de contenedores:
docker.io
quay.io
Desde tu directorio de anthos-aws, usa anthos-gke para cambiar el contexto a tu clúster de usuario.
cd anthos-aws
env HTTPS_PROXY=http://localhost:8118 \
anthos-gke aws clusters get-credentials CLUSTER_NAME
Reemplaza CLUSTER_NAME por el nombre de tu clúster de usuario.
Verifica el estado de la puerta de enlace con kubectl get svc.
env HTTPS_PROXY=http://localhost:8118 \
kubectl get ingress hello-app
El campo ADDRESS debe tener un nombre de dominio de ELB. Si ADDRESS sigue siendo pending, confirma el etiquetado de VPC y subred.
Para verificar la URL de la puerta de enlace de Ingress, redacta el host y el puerto.
Para obtener la URL de tu puerta de enlace, 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
Con el último comando, se imprime el extremo de tu Ingress.
Si creaste un Ingress público, puedes visitar http://$INGRESS_URL/ para ver la página web predeterminada de hello-app en curl.
curl $INGRESS_URL/
Realiza una limpieza
Quita los componentes hello-app con kubectl delete.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[],[],null,["This topic shows you how to install Cloud Service Mesh, which comes preinstalled\nwith an [Ingress Gateway](https://istio.io/latest/docs/tasks/traffic-management/ingress/ingress-control/).\nWith Cloud Service Mesh, you can configure a\n[Kubernetes Ingress resource](https://kubernetes.io/docs/concepts/services-networking/ingress/)\nfor your Deployments if you need an\n[Ingress controller](https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/).\nThis topic provides an example that shows you how to configure a sample\nDeployment and Ingress resource.\n\nThe installation of Cloud Service Mesh consists of two main parts:\n\n1. Installing a specific version of the Cloud Service Mesh [customer-managed control plane](/service-mesh/docs/glossary#control_plane) and Ingress Gateway.\n2. Labeling your namespaces with a [revision label](/service-mesh/docs/revisions-overview) and redeploying your workloads to inject a [sidecar proxy](/service-mesh/docs/proxy-injection).\n\nIf you only need to use an Ingress object using an Ingress controller, you don't\nhave to inject a sidecar proxy into your workload Pods. But if you want the\n[security benefits](/service-mesh/docs/overview#security_benefits) that\nCloud Service Mesh provides, and if you want to make use of the\n[traffic routing](/service-mesh/docs/overview#traffic_management) capabilities,\nyou need to inject the sidecar proxies.\n\nBefore you begin\n\n\nBefore you start using GKE on AWS, make sure you have performed the following tasks:\n\n- Complete the [Prerequisites](/kubernetes-engine/multi-cloud/docs/aws/previous-generation/how-to/prerequisites).\n\n\u003c!-- --\u003e\n\n- Install a [management service](/kubernetes-engine/multi-cloud/docs/aws/previous-generation/how-to/installing-management).\n- Create a [user cluster](/kubernetes-engine/multi-cloud/docs/aws/previous-generation/how-to/creating-user-cluster).\n- Register your cluster with Connect by following the steps in [Connecting to your cluster with Cloud console](/kubernetes-engine/multi-cloud/docs/aws/previous-generation/how-to/connecting-to-a-cluster).\n- Configure your cluster to [Use workload identity with Google Cloud](/kubernetes-engine/multi-cloud/docs/aws/previous-generation/how-to/workload-identity-gcp).\n- If your user clusters have restricted outbound access to the internet,\n allow access to the following container repository domains:\n\n - `docker.io`\n - `quay.io`\n- From your `anthos-aws` directory, use\n `anthos-gke` to switch context to your user cluster.\n\n ```sh\n cd anthos-aws\n env HTTPS_PROXY=http://localhost:8118 \\\n anthos-gke aws clusters get-credentials CLUSTER_NAME\n ```\n Replace \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e with your user cluster name.\n\n \u003cbr /\u003e\n\nInstalling Anthos Service Mesh\n\nFollow the steps in\n[Install Cloud Service Mesh](/service-mesh/docs/unified-install/install).\n\nCreating an example Deployment\n\nIn this section, you install a sample application and create an Ingress endpoint\nfor it.\n\n1. Create a Deployment of `hello-app` and a ClusterIP for the deployment.\n Copy the following YAML into a file named `hello-app.yaml`.\n\n apiVersion: apps/v1\n kind: Deployment\n metadata:\n labels:\n app: hello-app\n name: hello-app\n spec:\n selector:\n matchLabels:\n app: hello-app\n replicas: 3\n template:\n metadata:\n labels:\n app: hello-app\n spec:\n containers:\n - name: hello\n image: \"gcr.io/google-samples/hello-app:2.0\"\n ---\n apiVersion: v1\n kind: Service\n metadata:\n labels:\n app: hello-app\n name: hello-app\n spec:\n type: ClusterIP\n selector:\n app: hello-app\n ports:\n - protocol: TCP\n port: 8080\n targetPort: 8080\n\n2. Apply the YAML to your cluster with `kubectl apply`.\n\n env HTTPS_PROXY=http://localhost:8118 \\\n kubectl apply -f hello-app.yaml\n\n3. Create a Kubernetes Ingress for the sample application. Copy the following\n YAML into a file named `hello-app-ingress.yaml`\n\n apiVersion: networking.k8s.io/v1beta1\n kind: Ingress\n metadata:\n annotations:\n kubernetes.io/ingress.class: istio\n labels:\n app: hello-app\n name: hello-app\n spec:\n rules:\n - host:\n http:\n paths:\n - backend:\n serviceName: hello-app\n servicePort: 8080\n\n4. Create the Ingress by applying the configuration with `kubectl apply`.\n\n env HTTPS_PROXY=http://localhost:8118 \\\n kubectl apply -f hello-app-ingress.yaml\n\n5. Check the status of your gateway with `kubectl get svc`.\n\n env HTTPS_PROXY=http://localhost:8118 \\\n kubectl get ingress hello-app\n\n The `ADDRESS` field should have an ELB domain name. If the `ADDRESS`\n remains `pending`, confirm your VPC and Subnet labeling.\n6. You can check the Ingress gateway URL by composing the host and port.\n To get your gateway URL, perform the following commands:\n\n export INGRESS_URL=$(env HTTPS_PROXY=http://localhost:8118 \\\n kubectl get ingress hello-app -o jsonpath='{.status.loadBalancer.ingress[0].hostname}')\n echo \"Your hello-app Ingress URL is: http://\"$INGRESS_URL\n\n The last command prints the endpoint of your Ingress.\n7. If you created a public Ingress, you can view the `hello-app` default web page\n in `curl` by visiting `http://$INGRESS_URL/`.\n\n curl $INGRESS_URL/\n\nCleaning up\n\nYou remove the `hello-app` components with `kubectl delete`. \n\n env HTTPS_PROXY=http://localhost:8118 \\\n kubectl delete -f hello-app.yaml &&\\\n kubectl delete -f hello-app-ingress.yaml\n\nIf you would like to remove Cloud Service Mesh, see\n[Uninstalling Cloud Service Mesh](/service-mesh/docs/uninstall#uninstalling).\n\nWhat's next\n\nLearn more about:\n\n- [Injecting sidecar proxies](/service-mesh/docs/proxy-injection)\n\n- [Naming service ports](/service-mesh/docs/naming-service-ports)\n\n- [Enabling Cloud Service Mesh optional features](/service-mesh/docs/enable-optional-features)\n\n- [Integrating with third-party add-ons](/service-mesh/docs/third-party-integrations)\n\n- [Configuring the Ingress Gateway](https://istio.io/latest/docs/tasks/traffic-management/ingress/ingress-control/)\n\n- [Routing traffic](https://istio.io/docs/tasks/traffic-management/ingress/)"]]