Este tópico mostra como instalar o Cloud Service Mesh, que é pré-instalado com um Ingress Gateway. Com a Cloud Service Mesh, pode configurar um recurso Kubernetes Ingress para as suas implementações se precisar de um controlador Ingress. Este tópico fornece um exemplo que mostra como configurar um exemplo de recurso de implementação e de entrada.
A instalação da Cloud Service Mesh é constituída por duas partes principais:
- Instalar uma versão específica da malha de serviços na nuvem do plano de controlo gerido pelo cliente e do gateway de entrada.
 - Etiquetar os seus espaços de nomes com uma etiqueta de revisão e voltar a implementar as suas cargas de trabalho para injetar um proxy sidecar.
 
Se só precisar de usar um objeto Ingress com um controlador Ingress, não tem de injetar um proxy sidecar nos seus pods de carga de trabalho. No entanto, se quiser usufruir das vantagens de segurança que o Cloud Service Mesh oferece e se quiser usar as capacidades de encaminhamento de tráfego, tem de injetar os proxies sidecar.
Antes de começar
Antes de começar a usar o GKE on AWS, certifique-se de que realizou as seguintes tarefas:
- Cumpra os pré-requisitos.
 
- Instale um serviço de gestão.
 - Crie um cluster de utilizadores.
 - Registe o seu cluster no Connect seguindo os passos descritos no artigo Estabelecer ligação ao seu cluster com a consola do Google Cloud.
 - Configure o cluster para usar o Workload Identity com o Google Cloud.
 Se os seus clusters de utilizadores tiverem acesso de saída restrito à Internet, permita o acesso aos seguintes domínios do repositório de contentores:
docker.ioquay.io
No diretório do
anthos-aws, useanthos-gkepara mudar o contexto para o cluster de utilizadores. Substitua CLUSTER_NAME pelo nome do cluster de utilizadores.cd anthos-aws env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
Instalar o Anthos Service Mesh
Siga os passos em Instale o Cloud Service Mesh.
Criar uma implementação de exemplo
Nesta secção, instala uma aplicação de exemplo e cria um ponto final de entrada para a mesma.
Crie uma implementação de
hello-appe um ClusterIP para a implementação. Copie o seguinte YAML para um ficheiro com o nomehello-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: 8080Aplique o YAML ao seu cluster com
kubectl apply.env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f hello-app.yamlCrie um Kubernetes Ingress para a aplicação de exemplo. Copie o seguinte YAML para um ficheiro denominado
hello-app-ingress.yamlapiVersion: 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: 8080Crie o Ingress aplicando a configuração com
kubectl apply.env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f hello-app-ingress.yamlVerifique o estado do seu gateway com
kubectl get svc.env HTTPS_PROXY=http://localhost:8118 \ kubectl get ingress hello-appO campo
ADDRESSdeve ter um nome de domínio do ELB. Se oADDRESSpermanecerpending, confirme a etiquetagem da VPC e da sub-rede.Pode verificar o URL do gateway de entrada ao compor o anfitrião e a porta. Para obter o URL do gateway, execute os seguintes 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_URLO último comando imprime o ponto final do seu Ingress.
Se criou um Ingress público, pode ver a
hello-apppágina Web predefinida emcurlvisitandohttp://$INGRESS_URL/.curl $INGRESS_URL/
Limpar
Remove os componentes hello-app com kubectl delete.
env HTTPS_PROXY=http://localhost:8118 \
  kubectl delete -f hello-app.yaml &&\
  kubectl delete -f hello-app-ingress.yaml
Se quiser remover o Cloud Service Mesh, consulte o artigo Desinstalar o Cloud Service Mesh.
O que se segue?
Saiba mais sobre: