Personalizar a instalação do Google Cloud

Saiba como instalar o Knative Serving nos seus clusters do GKE em Google Cloud. O Knative Serving usa agora o Cloud Service Mesh e os conjuntos do GKE Enterprise. Saiba o que é novo e o que mudou no Knative serving fleet installations.

Use esta página para personalizar uma nova instalação ou para configurar uma instalação de frota existente do Knative serving. Por exemplo, pode configurar clusters privados ou definir credenciais do Cloud Monitoring.

Os passos de instalação predefinidos implementam automaticamente o seguinte recurso personalizado CloudRun, que ativa as métricas no GKE Enterprise em clusters do Google Cloud:

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

Para saber mais sobre os recursos personalizados em geral, consulte os recursos personalizados.

Antes de começar

  • Tem de se certificar de que cumpre os pré-requisitos de instalação.

  • Se o Knative Serving estiver instalado no seu cluster, tem de garantir que o "suplemento do GKE" não existe antes de executar estes passos de instalação de componentes da frota. Se tiver o "suplemento" instalado, tem de seguir os passos para atualizar para frotas do GKE Enterprise.

    Verifique se o "suplemento do GKE" está instalado.

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

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

    Substituição:

    • CLUSTER_NAME com o nome do seu cluster.
    • CLUSTER_LOCATION com a localização onde o seu cluster está localizado.
    • PROJECT_ID com o ID do seu Google Cloud projeto.

    Resultados:

    • "Suplemento do GKE" não instalado:
      • Não é devolvido nada ao seu terminal se o suplemento nunca tiver sido instalado.
      • disabled=true é devolvido se o suplemento tiver sido desinstalado anteriormente.
    • "Suplemento do GKE" está instalado: se o suplemento estiver instalado no seu cluster, são devolvidos os detalhes de configuração do suplemento. Exemplo: loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
    Exemplo:
    O exemplo seguinte demonstra que o Knative Serving foi instalado no cluster my-addon-cluster através do "suplemento do GKE", que está configurado para processar 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

Configure o seu CloudRun recurso personalizado

Tem de criar e configurar manualmente o recurso personalizado CloudRun para configurar a instalação.

Para criar manualmente um CloudRunrecurso personalizado para clusters do GKE em Google Cloud:
  1. Crie um ficheiro YAML e inclua a configuração predefinida, por exemplo cloudrunanthos.yaml:

    apiVersion: operator.run.cloud.google.com/v1alpha1
    kind: CloudRun
    metadata:
      name: cloud-run
    
  2. Em cloudrunanthos.yaml, personaliza a instalação configurando um ou mais dos seguintes atributos numa secção spec:

    • Clusters privados: tem de adicionar o conjunto de atributos clusterConfig e isPrivate para instalar o Knative Serving num cluster privado no Google Cloud.

      Os atributos clusterConfig e isPrivate:

      spec:
        clusterConfig:
          isPrivate: true
      

      Tenha em atenção que esta definição desativa o TLS gerido porque os clusters privados não conseguem comunicar com a autoridade de certificação por predefinição.

    • Métricas: adicione o metricscollector conjunto de atributos para configurar o Cloud Monitoring. Por predefinição, as métricas estã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 o seguinte:

      • PROJECT_ID com o ID do seu Google Cloud projeto.
      • CLUSTER_LOCATION com a região ou a zona em que o seu cluster está localizado.
      • CLUSTER_NAME com o ID do cluster ou o identificador totalmente qualificado do cluster.
      • SECRET_NAME com o nome do segredo para a conta de serviço do espaço de nomes knative-serving.
      • SECRET_KEY com a chave do segredo para a conta de serviço do espaço de nomes knative-serving. Por exemplo: key.json

        Para ver detalhes sobre as contas de serviço, consulte:

Exemplo

Neste exemplo de CloudRun recurso personalizado, os detalhes de configuração do Cloud Monitoring são especificados para usar o segredo 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
 ```

Ative e instale o Knative Serving

Ative o componente Knative serving na sua frota do GKE Enterprise e, em seguida, implemente o seu recurso personalizado CloudRun:

  1. Ative a publicação do Knative na sua frota:

    gcloud container fleet cloudrun enable --project=PROJECT_ID
    

    Substitua PROJECT_ID pelo ID do seu Google Cloud projeto.

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

  2. Opcional: verifique se o componente da funcionalidade Knative serving está ativado:

    Consola

    Veja se o componente Knative Serving está ativado na Google Cloud consola:

    Aceda ao Gestor de funcionalidades

    Linha de comandos

    Veja se o estado appdevexperience é ACTIVE:

    gcloud container fleet features list  --project=PROJECT_ID
    

    Substitua PROJECT_ID pelo ID do seu Google Cloud projeto.

    Para ver detalhes e opções adicionais, consulte a lista de funcionalidades do gcloud container fleet de referência.

    Resultado:

    NAME               STATE
    appdevexperience   ACTIVE
    
  3. Para cada cluster do GKE Enterprise onde quer instalar o Knative Serving, tem de implementar o seu CloudRun recurso personalizado:

    gcloud

    gcloud container fleet cloudrun apply --gke-cluster=CLUSTER_LOCATION/CLUSTER_NAME --config=CONFIG_FILE
    

    Substitua o seguinte:

    • CLUSTER_LOCATION com a região ou a zona em que o seu cluster está localizado.
    • CLUSTER_NAME com o ID do cluster ou o identificador totalmente qualificado do cluster.
    • CONFIG_FILE com o caminho relativo do nome do ficheiro para o seu recurso personalizado.cloudRun Exemplo cloudrunanthos.yaml.

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

    kubectl

    kubectl apply --kubeconfig=KUBECONFIG --filename CONFIG_FILE
    

    Substitua o seguinte:

    • KUBECONFIG com o caminho absoluto para o ficheiro de configuração do kubectl.
    • CONFIG_FILE com o nome do ficheiro e o caminho relativo para o seu recurso personalizado cloudRun. Exemplo cloudrunanthos.yaml.

    Para ver detalhes e opções adicionais, consulte a referência do comando kubectl apply.

  4. Verifique se a publicação do Knative foi ativada no cluster:
    1. Abra a Google Cloud consola:

      Aceda aos clusters do GKE

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

    3. Execute este comando para verificar se consegue ver os detalhes da versão do Knative Serving: kubectl get all -n knative-serving -o 'go-template={{index .metadata.labels "serving.knative.dev/release"}}'
    4. Verifique se todas as implementações específicas do Knative Serving estão em estado de execução nos espaços de nomes knative-serving e appdevexperience.

O que se segue?

Configure a instalação do Knative Serving.