Como configurar a veiculação do Knative

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

Para configurar o balanceador de carga interno:

  1. 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.

  2. 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.

    1. Observe a anotação cloud.google.com/load-balancer-type: Internal.
    2. Procure o valor de IP no balanceador de carga do Ingress a fim de mudar para um endereço IP particular.
    3. Pressione Ctrl+C para interromper as atualizações depois de ver um endereço IP particular no campo IP.
  3. 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:

  1. Implante um serviço chamado sample na exibição do Knative no namespace default:

    gcloud run deploy sample \
    --image gcr.io/knative-samples/helloworld \
    --namespace default
    --platform gke
    
  2. 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
    
  3. Armazene o endereço IP particular do gateway de entrada do Istio em uma variável de ambiente chamada EXTERNAL_IP e um arquivo chamado external-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.

  4. Copie o arquivo que contém o endereço IP da VM:

    gcloud compute scp external-ip.txt $VM:~
    
  5. Conecte-se à VM usando SSH:

    gcloud compute ssh $VM
    
  6. 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!
    
  7. 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.

A seguir