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:
- A Google Cloud CLI
- As ferramentas de linha de comando padrão:
awk
,curl
,grep
,sed
etr
. - git
- kubectl
- jq
Configurar a gcloud
Siga as etapas abaixo mesmo se estiver usando o Cloud Shell.
Faça a autenticação com a Google Cloud CLI:
gcloud auth login --project PROJECT_ID
Atualize os componentes:
gcloud components update
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
.
Faça o download da versão que instala o Anthos Service Mesh 1.10.6 no diretório de trabalho atual:
curl https://storage.googleapis.com/csm-artifacts/asm/asmcli_alpha > asmcli
Torne o script executável:
chmod +x asmcli
Conceder permissões de administrador de cluster
Alterne o contexto para seu cluster de usuário:
kubectl config use-context CLUSTER_NAME
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:
seu ambiente tem as ferramentas necessárias;
O cluster atende aos requisitos mínimos.
Você tem a permissão necessária no projeto especificado.
O projeto tem todas as APIs do Google necessárias ativadas.
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 queasmcli
faz o download do pacoteasm
e extrai o arquivo de instalação, que contémistioctl
, amostras e manifestos. Caso contrário,asmcli
fará o download dos arquivos para um diretóriotmp
. É possível especificar um caminho relativo ou um caminho completo. A variável de ambiente$PWD
não funciona aqui.
No local
Defina o contexto atual para o cluster de usuário:
kubectl config use-context CLUSTER_NAME
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órioOUTPUT_DIR
:./asmcli validate \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud
--kubeconfig
O caminho parakubeconfig
. É 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 queasmcli
faz o download do pacoteasm
e extrai o arquivo de instalação, que contémistioctl
, amostras e manifestos. Caso contrário,asmcli
fará o download dos arquivos para um diretóriotmp
. É 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.
Altere para o diretório especificado em
--output_dir
.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