Como configurar um cluster do GKE

Nesta página, explicamos como configurar um cluster atual do GKE com as opções exigidas pelo Anthos Service Mesh. Se você quiser adicionar clusters de diferentes projetos do Google Cloud ao Anthos Service Mesh, os clusters precisarão estar em uma nuvem privada virtual (VPC) compartilhada. Consulte Como configurar clusters com a VPC compartilhada para ver mais informações.

Antes de começar

Antes de começar a configurar um cluster, verifique estes itens:

Como configurar um cluster existente

  1. Crie as variáveis de ambiente a seguir:

    • Defina o nome do cluster:

      export CLUSTER_NAME=YOUR_CLUSTER_NAME

    • Defina CLUSTER_LOCATION como a zona ou a região do cluster:

      export CLUSTER_LOCATION=YOUR_ZONE_OR_REGION

    • Defina o pool de carga de trabalho:

      export WORKLOAD_POOL=${PROJECT_ID}.svc.id.goog

    • Defina o ID da malha:

      export MESH_ID="proj-${FLEET_PROJECT_NUMBER}"

  2. Defina a zona ou a região padrão da Google Cloud CLI. Se você não definir o padrão aqui, especifique a opção --zone ou --region nos comandos gcloud container clusters desta página.

    • Se você tiver um cluster de zona única, defina a zona padrão:

      gcloud config set compute/zone ${CLUSTER_LOCATION}
    • Se você tiver um cluster regional, defina a região padrão:

      gcloud config set compute/region ${CLUSTER_LOCATION}

    Dica: para facilitar a configuração do ambiente shell no futuro, copie e cole as instruções export de cada variável de ambiente em um script de shell simples que você source ao iniciar um novo shell. Também é possível adicionar os comandos gcloud que definem valores padrão ao script. Outra opção é usar gcloud init para criar e ativar uma configuração gcloud nomeada.

  3. Defina o mesh_idrótulo no cluster. Se o cluster tiver rótulos existentes que você quer manter, inclua-os ao adicionar o rótulo mesh_id.

    1. Para ver se o cluster tem rótulos existentes:

      gcloud container clusters describe ${CLUSTER_NAME} \
        --project ${PROJECT_ID}

      Procure o campo resourceLabels na saída. Cada rótulo é armazenado em uma linha separada no campo resourceLabels. Por exemplo:

      resourceLabels:
        csm: ''
        env: dev
        release: stable

      Se o rótulo csm estiver na saída, não será necessário preservá-lo. O rótulo mesh_id substitui o rótulo csm.

      Para facilitar, é possível adicionar os rótulos a uma variável de ambiente. No exemplo a seguir, substitua YOUR_EXISTING_LABELS por uma lista separada por vírgulas dos rótulos existentes no seu cluster no formato KEY=VALUE. Por exemplo: env=dev,release=stable

      export EXISTING_LABELS="YOUR_EXISTING_LABELS"
    2. Defina o rótulo mesh_id:

      • Se o cluster tiver rótulos que você quer manter, atualize o cluster com o mesh_id e os rótulos existentes:

        gcloud container clusters update ${CLUSTER_NAME} \
          --project ${PROJECT_ID} \
          --update-labels=mesh_id=${MESH_ID},${EXISTING_LABELS}
      • Se o cluster não tiver rótulos existentes, atualize o cluster com apenas com o rótulo mesh_id:

        gcloud container clusters update ${CLUSTER_NAME} \
          --project=${PROJECT_ID} \
          --update-labels=mesh_id=${MESH_ID}
  4. Ative a Identidade da carga de trabalho:

    gcloud container clusters update ${CLUSTER_NAME} \
       --project=${PROJECT_ID} \
       --workload-pool=${WORKLOAD_POOL}

    A ativação da Identidade da carga de trabalho pode levar de 10 a 15 minutos.

  5. Ative o Cloud Monitoring e o Cloud Logging no GKE:

    gcloud container clusters update ${CLUSTER_NAME} \
       --project=${PROJECT_ID} \
       --enable-stackdriver-kubernetes

O que você quer fazer agora?