Como instalar o Knative serving fora do Google Cloud

Saiba como instalar o Knative serving nos clusters do GKE fora do Google Cloud. O Knative serving agora usa frotas do Cloud Service Mesh e do GKE Enterprise. Saiba o que há de novo e o que mudou nas instalações da frota do Knative serving.

Para o Knative serving no VMware, consulte o Guia de instalação no nível do GA.

O suporte para os seguintes clusters do GKE está disponível como uma Visualização:

Use as etapas nesta página para configurar uma nova instalação ou para atualizar uma instalação da frota existente do Knative serving.

Antes de começar

Verifique se você atende aos pré-requisitos de instalação.

Configurar seu recurso personalizado do CloudRun

É necessário criar e configurar manualmente o recurso personalizado CloudRun para personalizar sua instalação.

Para criar manualmente um recurso personalizado CloudRun para clusters do GKE fora do Google Cloud:

  1. É necessário criar ou ter uma conta de serviço atual que tenha recebido o papel de gravador de métricas do Monitoring (monitoring.metricWriter) necessário.

    • Para criar uma nova conta de serviço e fazer o download da chave, consulte Como usar contas de serviço.

    • Se você tiver uma conta de serviço atual com as permissões necessárias, localize a chave que salvou quando criou essa conta de serviço.

  2. Verifique se o Cloud Monitoring está ativado no cluster do GKE:

  3. Crie o namespace knative-serving

    kubectl create namespace knative-serving
    
  4. Crie um secret no namespace knative-serving que contenha a conta de serviço com permissões monitoring.metricWriter:

    kubectl create secret -n knative-serving generic SECRET_NAME --from-file=PATH_TO_KEY_FILE/SECRET_KEY
    

    Substitua:

    • SECRET_NAME pelo nome escolhido para o secret.
    • SECRET_KEY pelo nome do arquivo que inclui as credenciais. Exemplo: key.json
    • PATH_TO_KEY_FILE pelo caminho para o diretório do SECRET_KEY.

    Consulte a referência kubectl create secret para saber mais, incluindo sinalizações opcionais.

  5. Crie um arquivo YAML com os seguintes atributos, por exemplo: cloudrunanthos.yaml:

    apiVersion: operator.run.cloud.google.com/v1alpha1
    kind: CloudRun
    metadata:
      name: cloud-run
    spec:
      metricscollector:
        stackdriver:
          projectid: PROJECT_ID
          gcpzone: CLUSTER_LOCATION
          clustername: CLUSTER_NAME
          secretname: SECRET_NAME
          secretkey: SECRET_KEY
    

    Substitua:

    • PROJECT_ID pelo ID do projeto do Google Cloud.
    • CLUSTER_LOCATION pela região ou zona em que o cluster está localizado.
    • CLUSTER_NAME pelo ID do cluster ou pelo identificador totalmente qualificado do cluster.
    • SECRET_NAME pelo nome do Secret para a conta de serviço do namespace knative-serving.
    • SECRET_KEY pela chave do secret da conta de serviço do namespace knative-serving. Por exemplo: key.json

      Para detalhes sobre contas de serviço, consulte:

    Exemplo

    Neste exemplo de recurso personalizado CloudRun, os detalhes da configuração do Cloud Monitoring são especificados para usar o secret my-gcp-logging-secret e a chave key.json:

     apiVersion: operator.run.cloud.google.com/v1alpha1
     kind: CloudRun
     metadata:
       name: cloud-run
     spec:
       metricscollector:
         stackdriver:
           projectid: my-gcp-project-id
           gcpzone: us-central1-c
           clustername: my-anthos-cluster-name
           secretname: my-gcp-logging-secret
           secretkey: key.json
     ```
    

Ativar e instalar o Knative serving

Ative o componente Knative serving na sua frota do GKE Enterprise e implante o recurso personalizado CloudRun:

  1. Ative o Knative serving na sua frota:

    gcloud container fleet cloudrun enable --project=PROJECT_ID
    

    Substitua PROJECT_ID pelo ID do projeto do Google Cloud.

    Para mais detalhes e opções, consulte a referência gcloud container fleet cloudrun enable.

  2. Opcional: verifique se o componente do recurso Knative serving está ativado:

    Console

    Confira se o componente do Knative serving está ativado no Console do Google Cloud:

    Acessar o gerenciador de recursos

    Linha de comando

    Veja se o estado appdevexperience é ACTIVE:

    gcloud container fleet features list  --project=PROJECT_ID
    

    Substitua PROJECT_ID pelo ID do projeto do Google Cloud.

    Para mais detalhes e opções, consulte a referência da lista de recursos da frota de contêiner do gcloud.

    Resultado:

    NAME               STATE
    appdevexperience   ACTIVE
    
  3. Para cada cluster do GKE Enterprise em que você quer instalar o Knative serving, implante o recurso personalizado CloudRun:

    gcloud

    gcloud container fleet cloudrun apply --kubeconfig=KUBECONFIG --context=CONTEXT --config=CONFIG_FILE
    

    Substitua:

    • KUBECONFIG pelo caminho absoluto para o arquivo de configuração kubectl.
    • CONTEXT pelo nome do contexto no arquivo de configuração kubectl a ser usado para conexão.
    • CONFIG_FILE pelo caminho relativo do nome de arquivo para o recurso personalizado do cloudRun. Por exemplo, cloudrunanthos.yaml.

    Para detalhes e opções adicionais, consulte a referência gcloud container fleet cloudrun apply.

    kubectl

    kubectl apply --kubeconfig=KUBECONFIG --filename CONFIG_FILE
    

    Substitua:

    • KUBECONFIG pelo caminho absoluto para o arquivo de configuração kubectl.
    • CONFIG_FILE pelo nome de arquivo e caminho relativo para o recurso personalizado do cloudRun. Por exemplo, cloudrunanthos.yaml.

    Veja mais detalhes e opções na referência de kubectl apply.

  4. Verifique se o Knative serving foi ativado no cluster:
    1. Abra o Console do Google Cloud:

      Acesse os clusters do GKE

    2. Clique no nome do cluster para abrir o painel de detalhes.

    3. Execute este comando para verificar se é possível ver os detalhes da versão do Knative serving: kubectl get namespace knative-serving -o 'go-template={{index .metadata.labels "serving.knative.dev/release"}}'
    4. Verifique se todas as implantações específicas do Knative serving estão com status de execução nos namespaces knative-serving e appdevexperience.

A seguir

Configure sua instalação do Knative serving.