Você está vendo a documentação do Anthos Service Mesh 1.10. Veja uma mais recente ou selecione outra versão disponível:

Começar

Nesta página, mostramos como preparar o ambiente e o cluster para instalar o Anthos Service Mesh

Instale as ferramentas necessárias

Execute asmcli no Cloud Shell ou na máquina local em que o Linux é executado. Todas as ferramentas necessárias são pré-instaladas no Cloud Shell.

Se você estiver executando asmcli no local, verifique se você tem as seguintes ferramentas instaladas:

  • o SDK do Cloud (a ferramenta de linha de comando gcloud)
  • As ferramentas de linha de comando padrão: awk, curl, grep, sed e tr.
  • git
  • kubectl
  • jq

Configurar a gcloud

Siga as etapas abaixo mesmo se estiver usando o Cloud Shell.

  1. Faça a autenticação com o SDK do Cloud:

    gcloud auth login
    
  2. Atualize os componentes:

    gcloud components update
    
  3. Se você estiver instalando o Anthos Service Mesh em um cluster do GKE, configure kubectl para apontar para o cluster.

    gcloud container clusters get-credentials CLUSTER_NAME \
         --zone CLUSTER_LOCATION \
         --project PROJECT_ID
    

Fazer o download do asmcli

Nesta seção, descrevemos como fazer o download do asmcli.

  1. Faça o download da versão que instala o Anthos Service Mesh 1.10.4 no diretório de trabalho atual:

    curl https://storage.googleapis.com/csm-artifacts/asm/asmcli_alpha > asmcli
    
  2. Torne o script executável:

    chmod +x asmcli
    

Conceder permissões de administrador de cluster

  1. Alterne o contexto para seu cluster de usuário:

    kubectl config use-context CLUSTER_NAME
  2. Conceda permissões de administrador de cluster à sua conta de usuário (seu endereço de e-mail de login do Google Cloud). Você precisa dessas permissões para criar as regras necessárias de controle de acesso baseado em papéis (RBAC, na sigla em inglês) para o Anthos Service Mesh:

    kubectl create clusterrolebinding cluster-admin-binding \
      --clusterrole=cluster-admin \
      --user=USER_ACCOUNT

Validar o projeto e o cluster

É possível executar asmcli validate para garantir que o projeto e o cluster estejam configurados conforme necessário para instalar o Anthos Service Mesh. Com essa opção, o asmcli não faz alterações no projeto nem no cluster, assim como não instala o Anthos Service Mesh.

O script confirma que:

Por padrão, o script faz o download e extrai o arquivo de instalação e faz o download do pacote de configuração asm (em inglês) do GitHub para um diretório temporário. Antes de sair, o script gera uma mensagem que fornece o nome do diretório temporário. Recomendamos que você especifique um diretório para os downloads com a opção --output_dir DIR_PATH. A opção --output_dir facilita o uso da ferramenta de linha de comando istioctl, se for necessário usá-la. Além disso, os arquivos de configuração para ativar recursos opcionais estão incluídos no diretório asm/istio/options.

Execute o seguinte comando para validar a configuração e fazer o download do arquivo de instalação e do pacote asm para o diretório OUTPUT_DIR.

GKE;

./asmcli validate \
  --project_id PROJECT_ID \
  --cluster_name CLUSTER_NAME \
  --cluster_location CLUSTER_LOCATION \
  --output_dir DIR_PATH
  • --project_id, --cluster_name e --cluster_location especifique o ID do projeto em que o cluster está, o nome dele e a zona ou região do cluster.

    • --output_dir Inclua essa opção para especificar um diretório em que asmcli faz o download do pacote asm e extrai o arquivo de instalação, que contém istioctl, amostras e manifestos. Caso contrário, asmcli fará o download dos arquivos para um diretório tmp. É possível especificar um caminho relativo ou um caminho completo. A variável de ambiente $PWD não funciona aqui.

No local

  1. Defina o contexto atual para o cluster de usuário:

    kubectl config use-context CLUSTER_NAME
    
  2. Execute o seguinte comando para validar a configuração e fazer o download do arquivo de instalação e do pacote asm para o diretório OUTPUT_DIR:

    ./asmcli validate \
      --kubeconfig KUBECONFIG_FILE \
      --output_dir DIR_PATH \
      --platform multicloud
    
    • --kubeconfig O caminho para kubeconfig. É possível especificar um caminho relativo ou completo. A variável de ambiente $PWD não funciona aqui.

    • --output_dir Inclua essa opção para especificar um diretório em que asmcli faz o download do pacote asm e extrai o arquivo de instalação, que contém istioctl, amostras e manifestos. Caso contrário, asmcli fará o download dos arquivos para um diretório tmp. É possível especificar um caminho relativo ou um caminho completo. A variável de ambiente $PWD não funciona aqui.

    • --platform multicloud Especifica que a plataforma é local.

Em caso de sucesso, o script gera o seguinte:

asmcli: Setting up necessary files...
asmcli: Using asm_kubeconfig as the kubeconfig...
asmcli: Checking installation tool dependencies...
asmcli: Fetching/writing GCP credentials to kubeconfig file...
asmcli: Verifying connectivity (10s)...
asmcli: kubeconfig set to asm_kubeconfig
asmcli: using context gke_example-project-12345_us-central1_cluster-2
asmcli: Getting account information...
asmcli: Downloading ASM..
asmcli: Downloading ASM kpt package...
fetching package "/asm" from "https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages" to "asm"
asmcli: Checking required APIs...
asmcli: Checking for project example-project-12345...
asmcli: Reading labels for us-central1/cluster-2...
asmcli: Checking for istio-system namespace...
asmcli: Confirming node pool requirements for example-project-12345/us-central1/cluster-2...
asmcli: Checking Istio installations...
asmcli: [WARNING]: There is no way to validate that the meshconfig API has been initialized.
asmcli: [WARNING]: This needs to happen once per GCP project. If the API has not been initialized
asmcli: [WARNING]: for example-project-12345, please re-run this tool with the --enable_gcp_components
asmcli: [WARNING]: flag. Otherwise, installation will succeed but Anthos Service Mesh
asmcli: [WARNING]: will not function correctly.
asmcli: Successfully validated all requirements to install ASM.

Se um dos testes falhar na validação, o script exibirá uma mensagem de erro. Por exemplo, se seu projeto não tiver todas as APIs do Google necessárias ativadas, você verá o seguinte erro:

ERROR: One or more APIs are not enabled. Please enable them and retry, or run
the script with the '--enable_gcp_apis' flag to allow the script to enable them
on your behalf.

Se você recebeu uma mensagem de erro sobre a necessidade de executar o script com uma sinalização de ativação, terá as seguintes opções:

  • Inclua a sinalização específica da mensagem de erro ou a sinalização --enable_all ao executar o script para realizar a instalação real (ou seja, sem --only_validate).

  • Se preferir, atualize o projeto e o cluster antes de executar o script, conforme descrito em Como instalar o Anthos Service Mesh no GKE.

Observe que asmcli não permite nenhuma sinalização de ativação com --only_validate.

Inspecionar requisitos de instalação e upgrade do cluster

Antes de fazer upgrade, verifique se a configuração é compatível com a nova versão do Anthos Service Mesh.

  1. Altere para o diretório especificado em --output_dir.

  2. Execute o comando a seguir para inspecionar o cluster do Kubernetes e verificar os requisitos de instalação e upgrade. Use a versão de istioctl distribuída com a nova versão do Anthos Service Mesh.

    istioctl experimental precheck
    

A seguir