Como personalizar a instalação do Google Cloud

Aprenda a instalar o Knative nos clusters do GKE no 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.

Use esta página para personalizar uma nova instalação ou configurar uma instalação da frota (link em inglês) do Knative. Por exemplo, é possível configurar para clusters particulares ou definir credenciais do Cloud Monitoring.

As etapas de instalação padrão implantam automaticamente o recurso personalizado CloudRun a seguir, que permite as métricas nos clusters do GKE Enterprise no Google Cloud:

  apiVersion: operator.run.cloud.google.com/v1alpha1
  kind: CloudRun
  metadata:
    name: cloud-run

Saiba mais sobre recursos personalizados em geral nesta página.

Antes de começar

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

  • Se o Knative estiver instalado no cluster, verifique se o "complemento do GKE" não existe antes de executar essas etapas de instalação dos componentes da frota. Se o "complemento" estiver instalado, siga as etapas de upgrade para as frotas do GKE Enterprise.

    Verifique se o complemento GKE está instalado.

    Para verificar se a instalação do Knative é o "complemento do GKE", execute o seguinte comando:

    gcloud container clusters describe \
    CLUSTER_NAME \
    --region CLUSTER_LOCATION \
    --project PROJECT_ID --format='get(addonsConfig.cloudRunConfig)'
    

    Substitua:

    • CLUSTER_NAME pelo nome do cluster.
    • CLUSTER_LOCATION: pelo local em que o cluster está localizado.
    • PROJECT_ID pelo ID do seu projeto do Google Cloud.

    Resultados:

    • "Complemento do GKE" não instalado:
      • Nada será retornado ao terminal se o complemento nunca tiver sido instalado.
      • disabled=true será retornado se o complemento tiver sido desinstalado anteriormente.
    • "Complemento do GKE" está instalado: se o complemento estiver instalado no cluster, os detalhes da configuração do complemento serão retornados. Exemplo: loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
    Exemplo:
    O exemplo a seguir demonstra que a exibição do Knative foi instalada no cluster my-addon-cluster por meio do "complemento do GKE", que é configurado para processar o tráfego externo:
    gcloud container clusters describe my-addon-cluster \
    --region us-central1-c --project my-gcp-project \
    --format='get(addonsConfig.cloudRunConfig)'
    

    Resposta:

    loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
    

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 no Google Cloud:
  1. Crie um arquivo YAML e inclua a configuração padrão, por exemplo, cloudrunanthos.yaml:

    apiVersion: operator.run.cloud.google.com/v1alpha1
    kind: CloudRun
    metadata:
      name: cloud-run
    
  2. Em cloudrunanthos.yaml, você pode personalizar a instalação configurando um ou mais dos seguintes atributos em uma seção spec:

    • Clusters particulares: adicione o conjunto de atributos clusterConfig e isPrivate para instalar a exibição do Knative em clusters particulares no Google Cloud.

      Os atributos clusterConfig e isPrivate:

      spec:
        clusterConfig:
          isPrivate: true
      

      Essa configuração desativa o TLS gerenciado porque os clusters particulares não podem se comunicar com a autoridade de certificação por padrão.

    • Métricas: adicione o conjunto metricscollector de atributos para configurar o Cloud Monitoring. Por padrão, as métricas são ativadas para o GKE Enterprise nos clusters do Google Cloud.

      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 --gke-cluster=CLUSTER_LOCATION/CLUSTER_NAME --config=CONFIG_FILE
    

    Substitua:

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