Instalar ferramentas dependentes e verificar cluster
Nesta página, mostramos como preparar o ambiente e o cluster para instalar o Cloud Service Mesh no cluster para cargas de trabalho do Kubernetes fora do Google Cloud.
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
- Opcional, para testar a conectividade: netcat (
nc
).
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
Defina o contexto atual para o cluster de usuário:
Defina o contexto kubectl
para apontar para o cluster fora do Google Cloud, de acordo
com as instruções específicas do seu sistema.
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 Cloud Service Mesh 1.23.3 no diretório de trabalho atual:
curl https://storage.googleapis.com/csm-artifacts/asm/asmcli_1.23 > asmcli
Saída esperada:
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 167k 100 167k 0 0 701k 0 --:--:-- --:--:-- --:--:-- 701k
Torne o script executável:
chmod +x asmcli
Conceder permissões de administrador de cluster
Verifique se você definiu o contexto para o cluster de usuário:
kubectl config use-context CONTEXT
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 Cloud 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 Cloud Service Mesh. Com essa opção, o asmcli
não faz alterações no projeto nem no cluster e também não instala o
Cloud Service Mesh.
asmcli
valida se:
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, asmcli
faz o download e extrai o arquivo de instalação e
faz o download do
pacote de configuração
asm
do GitHub para um diretório temporário. Antes de sair,
asmcli
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
. Talvez
seja necessário usar istioctl
para
resolver problemas de configuração.
Além disso, os arquivos de configuração para ativar recursos opcionais usando asmcli
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
.
Use o comando a seguir para executar asmcli validate
nas seguintes plataformas:
Google Distributed Cloud (somente software) para VMware, Google Distributed Cloud (somente software) para bare metal, GKE na AWS,
GKE no Azure, Amazon EKS e Microsoft AKS.
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 \ --fleet_id FLEET_PROJECT_ID \ --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.--fleet_id
O ID do projeto host da frota.asmcli validate
verifica se o cluster está registrado na frota especificada.--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 é algo diferente do Google Cloud, como no local ou em várias nuvens.
Se for bem-sucedido, o asmcli
gerará 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 asmcli
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 `asmcli` with the '--enable_gcp_apis' flag to allow `asmcli` to enable them on your behalf.
Se você recebeu uma mensagem de erro sobre a necessidade de executar asmcli
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 executarasmcli
para fazer a instalação real.Se preferir, atualize você mesmo seu projeto e cluster antes de executar
asmcli
, conforme descrito em Configurar seu projeto e o cluster do GKE por conta própria.
asmcli validate
não permite nenhuma sinalização de ativação porque valida
apenas que o projeto e o cluster estejam prontos para instalação.
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 Cloud 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 Cloud Service Mesh.istioctl experimental precheck