Conecte seu cluster AKS

Anexar um cluster significa conectá-lo a Google Cloud registrando-o com Google Cloud Gerenciamento de frota e instalação do software de clusters conectados ao GKE.

Você pode anexar um cluster usando a CLI do gcloud ou o Terraform. Para saber como criar e anexar um cluster do AKS usando o Terraform, consulte o repositório do GitHub de exemplos para clusters anexados ao GKE .

Para anexar um cluster AKS usando o gcloud, execute as seguintes etapas.

Pré-requisitos

Certifique-se de que seu cluster atenda aos requisitos de cluster .

Ao anexar seu cluster, você deve especificar o seguinte:

A região administrativa é uma Google Cloud região para administrar o cluster anexado. Você pode escolher qualquer região suportada, mas a prática recomendada é escolher a região geograficamente mais próxima do seu cluster. Nenhum dado de usuário é armazenado na região administrativa.

A versão da plataforma é a versão dos clusters anexados ao GKE a serem instalados no seu cluster. Você pode listar todas as versões compatíveis executando o seguinte comando:

gcloud container attached get-server-config  \
  --location=GOOGLE_CLOUD_REGION

Substitua GOOGLE_CLOUD_REGION pelo nome doGoogle Cloud local para administrar seu cluster.

Numeração da versão da plataforma

Estes documentos referem-se à versão dos clusters anexados ao GKE como a versão da plataforma, para diferenciá-la da versão do Kubernetes. Os clusters anexados ao GKE usam a mesma convenção de numeração de versão do GKE — por exemplo, 1.21.5-gke.1. Ao anexar ou atualizar seu cluster, você deve escolher uma versão da plataforma cuja versão secundária seja igual ou um nível abaixo da versão do Kubernetes do seu cluster. Por exemplo, você pode anexar um cluster executando o Kubernetes v1.22.* com a versão da plataforma 1.21.* ou 1.22.* dos clusters anexados ao GKE.

Isso permite que você atualize seu cluster para a próxima versão secundária antes de atualizar os clusters conectados ao GKE.

Conecte seu cluster AKS

Para conectar seu cluster AKS a Google CloudGerenciamento de frota , execute os seguintes comandos:

  1. Certifique-se de que seu arquivo kubeconfig tenha uma entrada para o cluster que você gostaria de anexar:

    az aks get-credentials -n AKS_CLUSTER_NAME \
      -g RESOURCE_GROUP
    
  2. Execute este comando para extrair o contexto kubeconfig do seu cluster e armazená-lo na variável de ambiente KUBECONFIG_CONTEXT :

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  3. O comando para registrar seu cluster varia um pouco dependendo se você configurou seu cluster com o emissor OIDC privado padrão ou com o emissor público experimental. Selecione a aba que se aplica ao seu cluster:

    Emissor privado de OIDC (padrão)

    Use o comando gcloud container attached clusters register para registrar o cluster:

    gcloud container attached clusters register CLUSTER_NAME \
      --location=GOOGLE_CLOUD_REGION \
      --fleet-project=PROJECT_NUMBER \
      --platform-version=PLATFORM_VERSION \
      --distribution=aks \
      --context=KUBECONFIG_CONTEXT \
      --has-private-issuer \
      --kubeconfig=KUBECONFIG_PATH
    

    Substitua o seguinte:

    • CLUSTER_NAME : o nome do seu cluster. Este nome pode ser o mesmo AKS_CLUSTER_NAME usado na etapa 1. O CLUSTER_NAME deve estar em conformidade com o padrão RFC 1123 Label Names .
    • GOOGLE_CLOUD_REGION : a Google Cloud região para administrar seu cluster
    • PROJECT_NUMBER : o projeto host da frota para registrar o cluster com
    • PLATFORM_VERSION : a versão da plataforma a ser usada para o cluster
    • KUBECONFIG_CONTEXT : contexto no kubeconfig para acessar o cluster AKS
    • KUBECONFIG_PATH : caminho para seu kubeconfig

    Emissor público de OIDC

    1. Recupere a URL do emissor OIDC do seu cluster com o seguinte comando:

        az aks show -n CLUSTER_NAME \
          -g RESOURCE_GROUP \
          --query "oidcIssuerProfile.issuerUrl" -otsv
      

      Substitua RESOURCE_GROUP pelo grupo de recursos do AKS ao qual seu cluster pertence.

      A saída deste comando será a URL do seu emissor OIDC. Salve este valor para uso posterior.

    2. Execute este comando para extrair o contexto kubeconfig do seu cluster e armazená-lo na variável de ambiente KUBECONFIG_CONTEXT :

      KUBECONFIG_CONTEXT=$(kubectl config current-context)
      
    3. Use o comando gcloud container attached clusters register para registrar o cluster:

      gcloud container attached clusters register CLUSTER_NAME \
        --location=GOOGLE_CLOUD_REGION \
        --fleet-project=PROJECT_NUMBER \
        --platform-version=PLATFORM_VERSION \
        --distribution=aks \
        --issuer-url=ISSUER_URL \
        --context=KUBECONFIG_CONTEXT \
        --kubeconfig=KUBECONFIG_PATH
      

      Substitua o seguinte:

      • CLUSTER_NAME : o nome do seu cluster. Este nome pode ser o mesmo AKS_CLUSTER_NAME usado na etapa 1. O CLUSTER_NAME deve estar em conformidade com o padrão RFC 1123 Label Names .
      • GOOGLE_CLOUD_REGION : a Google Cloud região para administrar seu cluster
      • PROJECT_NUMBER : o projeto host da frota onde o cluster será registrado
      • PLATFORM_VERSION : a versão dos clusters anexados do GKE a serem usados ​​para o cluster
      • ISSUER_URL : a URL do emissor recuperada anteriormente
      • KUBECONFIG_CONTEXT : contexto no kubeconfig para acessar seu cluster, conforme extraído anteriormente
      • KUBECONFIG_PATH : caminho para seu kubeconfig

Autorizar registro em nuvem/monitoramento em nuvem

Para que os clusters anexados do GKE criem e carreguem logs e métricas do sistema paraGoogle Cloud, deve ser autorizado.

Para autorizar a identidade de carga de trabalho do Kubernetes gke-system/gke-telemetry-agent a gravar logs em Google Cloud Registro e métricas para Google Cloud Monitoramento, execute este comando:

gcloud projects add-iam-policy-binding GOOGLE_PROJECT_ID \
  --member="serviceAccount:GOOGLE_PROJECT_ID.svc.id.goog[gke-system/gke-telemetry-agent]" \
  --role=roles/gkemulticloud.telemetryWriter

Substitua GOOGLE_PROJECT_ID pelo cluster Google Cloud ID do projeto.

Esta ligação IAM concede acesso para todos os clusters no Google Cloud projeto para carregar logs e métricas. Você só precisa executá-lo após criar seu primeiro cluster para o projeto.

Adicionar esta ligação IAM falhará a menos que pelo menos um cluster tenha sido criado em seu Google Cloud projeto. Isso ocorre porque o pool de identidades de carga de trabalho ao qual ele se refere ( GOOGLE_PROJECT_ID .svc.id.goog ) não é provisionado até a criação do cluster.