Saiba como configurar sua instalação do Knative serving.
Antes de começar
Você precisa ter o Knative serving instalado no seu cluster do GKE. Consulte a guia de instalação para mais detalhes sobre Pré-requisitos do cluster do GKE e como instalar o Knative serving.
Como configurar a autenticação com a Identidade da carga de trabalho
É possível usar a Identidade da carga de trabalho para autenticar seus serviços do Knative serving às 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 relatar a contagem de solicitações ou a latência das solicitações, Google Cloud Observability, será preciso definir manualmente as permissões de gravação para 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 Cloud Service Mesh
Para configurar as opções do Cloud Service Mesh para o Knative serving, consulte a Opções de plano de controle no cluster, incluindo como configure uma rede privada e interna.
Como configurar uma rede privada e interna
Implantar serviços em uma rede interna é útil para empresas que fornecem apps internos à equipe e para serviços usados clientes executados fora do cluster do Knative serving. 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 sua rede interna, configure o Cloud Service Mesh para usar Balanceamento de carga TCP/UDP interno em vez de um balanceador de carga de rede público externo. Depois disso, é possível implantar serviços do Knative serving em um endereço IP interno na sua Rede VPC.
Antes de começar
- Você precisa ter permissões
admin
no cluster. - Se você tiver configurado um domínio personalizado, desativar o recurso TLS gerenciado porque o TLS gerenciado no Knative serving 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:
Ativar o recurso de balanceador de carga interno no Cloud Service Mesh.
O balanceador de carga interno é um recurso opcional que pode ser configurado durante a instalação do Cloud Service Mesh ou ao atualizar e instalação.
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 seu serviço de entrada do Cloud Service Mesh. Especifique
istio-system
se você tiver instalado o Cloud 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 Cloud Service Mesh.
Para verificar a conectividade interna após as alterações:
Implante um serviço chamado
sample
no Knative serving na 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 seu serviço de entrada do Cloud Service Mesh. Especifique
istio-system
se você tiver instalado o Cloud 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 do Knative serving a um cluster do Google Kubernetes Engine que está 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 o Knative serving, consulte Multilocação entre projetos.