Instalar ferramentas dependentes e verificar cluster
Nesta página, mostramos como preparar o ambiente e o cluster para a instalação do Cloud 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
- 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
Se você estiver instalando o Cloud Service Mesh em um cluster do GKE, configure
kubectl
para apontar para o cluster.gcloud container clusters get-credentials CLUSTER_NAME \ --location 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 Cloud Service Mesh 1.23.2 para 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 a lista de permissões controle de acesso baseado em função (RBAC) 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 verificar se o projeto e o cluster estão
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, o asmcli
faz o download e extrai o arquivo de instalação.
faz o download do
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 istioctl
para
solucionar problemas de configuração
ou
configurar uma malha de vários clusters em clusters particulares do GKE.
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
.
GKE;
./asmcli validate \
--project_id PROJECT_ID \
--cluster_name CLUSTER_NAME \
--cluster_location CLUSTER_LOCATION \
--fleet_id FLEET_PROJECT_ID \
--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.--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.
Fora do Google Cloud
Use o seguinte comando para executar asmcli validate
nas seguintes plataformas:
Google Distributed Cloud, Google Distributed Cloud, GKE na AWS,
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