Como instalar a exibição do Knative no VMware

Aprenda a instalar o Knative nos clusters do GKE fora do Google Cloud. A veiculação do Knative agora usa frotas do Anthos Service Mesh e do GKE Enterprise. Saiba o que há de novo e o que mudou com as instalações da frota de veiculação do Knative.

Aviso: ao seguir as etapas nesta página, será executada uma nova instalação do Knative no VMware e vai substituir irreversível sua instalação anterior não frota. Não continue com as etapas a seguir nos clusters para os quais você ativou a veiculação do Knative anteriormente.

Para instalações anteriores de "teste gratuito" do Knative, primeiro é necessário fazer upgrade da veiculação do Knative no VMware para usar as frotas do GKE Enterprise.

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

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 GKE no VMware.

  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 a veiculação do Knative

Ative o componente de exibição Knative na sua frota do GKE Enterprise e implante o recurso personalizado CloudRun:

  1. Ative a veiculação do Knative 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 de exibição do Knative está ativado:

    Console

    Veja se o componente de exibição do Knative está ativado no Console do Google Cloud:

    Acessar os recursos do GKE Enterprise

    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 serviço Knative, é necessário implantar 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 a exibição do Knative foi ativada no cluster:
    1. Abra o Console do Google Cloud:

      Acesse os clusters do GKE Enterprise

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

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

A seguir

Configure sua instalação de veiculação do Knative.