Saiba como definir a instalação da veiculação do Knative.
Antes de começar
Você precisa ter o Knative Serving instalado no cluster do GKE. Consulte o guia de instalação para detalhes sobre os pré-requisitos do cluster do GKE e como instalar a exibição do Knative.
Como configurar a autenticação com a Identidade da carga de trabalho
É possível usar a Identidade da carga de trabalho para autenticar os serviços de exibição do Knative nas APIs e serviços do Google Cloud. É preciso configurar a Identidade da carga de trabalho antes de implantar serviços no cluster. Caso contrário, cada serviço que existir no cluster antes de permitir a Identidade da carga de trabalho terá que ser migrado. Saiba mais sobre como usar a Identidade da carga de trabalho.
Como ativar métricas com a Identidade da carga de trabalho
Para ativar métricas, como a contagem de solicitações de relatórios ou a latência de solicitações para a observabilidade do Google Cloud, é necessário definir manualmente as permissões de gravação do Cloud Monitoring. Para obter mais detalhes, consulte Como ativar métricas com a Identidade da carga de trabalho.
Como configurar HTTPS e domínios personalizados
Para ativar o HTTPS e definir um domínio personalizado, consulte as seguintes páginas:
Como configurar o Anthos Service Mesh
Para configurar as opções do Anthos Service Mesh para exibição do Knative, consulte as Opções de plano de controle no cluster, incluindo como configurar uma rede interna particular.
Como configurar uma rede privada e interna
A implantação de serviços em uma rede interna é útil para empresas que fornecem apps internos para a equipe e para serviços usados por clientes executados fora do cluster de exibição do Knative. Essa configuração permite que outros recursos na rede se comuniquem com o serviço usando um endereço IP interno particular (RFC 1918) que não possa ser acessado pelo público.
Para criar a rede interna, configure o Anthos Service Mesh para usar balanceamento de carga TCP/UDP interno em vez de um balanceador de carga de rede externo e público. Em seguida, é possível implantar os serviços de exibição do Knative em um endereço IP interno na rede VPC.
Antes de começar
- Você precisa ter permissões
admin
no cluster. - Se você configurou um domínio personalizado, será necessário desativar o recurso TLS gerenciado, porque o TLS gerenciado na exibição do Knative não é compatível com o balanceador de carga interno.
- Existe suporte somente para as versões 310.0 ou mais recentes da Google Cloud CLI. Para detalhes sobre como configurar suas ferramentas de linha de comando, consulte
Para configurar o balanceador de carga interno:
Ative o recurso de balanceador de carga interno no Anthos Service Mesh.
O balanceador de carga interno é um recurso opcional que pode ser configurado durante a instalação do Anthos Service Mesh ou ao atualizar a instalação existente.
Siga as etapas em Como ativar recursos opcionais no plano de controle no cluster e inclua a opção de script
--option internal-load-balancer
.Quando você especifica a opção
--option internal-load-balancer
, o script busca automaticamente o recurso personalizado Ativar um balanceador de carga interno no GitHub. Se você precisar modificar o recurso personalizado, siga as instruções para usar a opção--custom_overlay
.Execute o seguinte comando para acompanhar as atualizações do cluster do GKE:
kubectl -n INGRESS_NAMESPACE get svc istio-ingressgateway --watch
Substitua INGRESS_NAMESPACE pelo namespace do serviço de entrada do Anthos Service Mesh. Especifique
istio-system
se você instalou o Anthos Service Mesh usando a configuração padrão.- Observe a anotação
cloud.google.com/load-balancer-type: Internal
. - Procure o valor de
IP
no balanceador de carga do Ingress a fim de mudar para um endereço IP particular. - Pressione
Ctrl+C
para interromper as atualizações depois de ver um endereço IP particular no campoIP
.
- Observe a anotação
Para clusters particulares no Google Cloud, é preciso abrir portas. Para mais detalhes, consulte como abrir portas no cluster particular na documentação do Anthos Service Mesh.
Para verificar a conectividade interna após as alterações:
Implante um serviço chamado
sample
na exibição do Knative no namespacedefault
:gcloud run deploy sample \ --image gcr.io/knative-samples/helloworld \ --namespace default --platform gke
Para criar uma máquina virtual (VM) do Compute Engine na mesma zona que o cluster do GKE:
VM=cloudrun-gke-ilb-tutorial-vm gcloud compute instances create $VM
Armazene o endereço IP particular do gateway de entrada do Istio em uma variável de ambiente chamada
EXTERNAL_IP
e um arquivo chamadoexternal-ip.txt
:export EXTERNAL_IP=$(kubectl -n INGRESS_NAMESPACE get svc istio-ingressgateway \ -o jsonpath='{.status.loadBalancer.ingress[0].ip}' | tee external-ip.txt)
Substitua INGRESS_NAMESPACE pelo namespace do serviço de entrada do Anthos Service Mesh. Especifique
istio-system
se você instalou o Anthos Service Mesh usando a configuração padrão.Copie o arquivo que contém o endereço IP da VM:
gcloud compute scp external-ip.txt $VM:~
Conecte-se à VM usando SSH:
gcloud compute ssh $VM
Durante a sessão SSH, teste o serviço de amostra:
curl -s -w'\n' -H Host:sample.default.nip.io $(cat external-ip.txt)
A saída é a seguinte:
Hello World!
Saia da sessão SSH:
exit
Como configurar um ambiente multilocatário
Em casos de uso multilocatários, você precisará gerenciar e implantar serviços de exibição Knative em um cluster do Google Kubernetes Engine que esteja fora do projeto atual. Para mais informações sobre a multilocação do GKE, consulte Multilocação de cluster.
Para saber como configurar a multilocação para a exibição do Knative, consulte Multilocação entre projetos.