Como personalizar a instalação do Google Cloud

Saiba como instalar o Knative serving nos clusters do GKE no 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.

Use esta página para personalizar uma nova instalação ou configurar uma instalação de frota atual do Knative serving. Por exemplo, é possível configurar para clusters particulares ou definir credenciais do Cloud Monitoring.

As etapas de instalação padrão implantam automaticamente o seguinte recurso personalizado CloudRun, que ativa 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 serving estiver instalado no seu cluster, verifique se o "complemento do GKE" não existe antes da execução dessas etapas de instalação dos componentes da frota. Se o "complemento" estiver instalado, siga as etapas para fazer upgrade para as frotas do GKE Enterprise.

    Verifique se o complemento GKE está instalado.

    Para verificar se a instalação do Knative serving é 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 o Knative serving foi instalado no cluster my-addon-cluster pelo "complemento do GKE", que está configurado para lidar com 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 os atributos clusterConfig e isPrivate para instalar o Knative serving em um cluster particular 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 em 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 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 --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 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.