Como instalar o Knative serving no VMware

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

Aviso: executar as etapas desta página realizará uma nova instalação do Knative serving no VMware e substituirá de maneira irreversível a instalação anterior que não seja da frota. Não continue com as etapas a seguir nos clusters em que você ativou o Knative serving.

Para instalações de "teste gratuito" anteriores do Knative serving, você precisa primeiro fazer upgrade do Knative serving no VMware para usar as frotas do GKE Enterprise.

Use as etapas desta página para configurar uma nova instalação ou atualizar uma instalação de frota 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 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 o Knative serving

Ative o componente Knative serving na 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 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, é preciso 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.

    Para mais detalhes e opções, consulte a 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 os detalhes da versão do Knative serving aparecem: 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 no status de execução nos namespaces knative-serving e appdevexperience.

A seguir

Configure sua instalação do Knative serving.