Instale ferramentas dependentes e valide o cluster
Esta página mostra como preparar o ambiente e o cluster para instalar o Cloud Service Mesh no cluster para cargas de trabalho do Kubernetes Google Cloud.
Instale as ferramentas necessárias
Pode executar o comando asmcli
no Cloud Shell
ou na sua máquina local com o Linux. O Cloud Shell pré-instala todas as ferramentas necessárias.
Se estiver a executar o asmcli
localmente, certifique-se de que tem as seguintes ferramentas instaladas:
- A CLI do Google Cloud
- As ferramentas de linhas de comando padrão:
awk
,curl
,grep
,sed
etr
git
kubectl
jq
- (Opcional, para testar a conetividade) netcat (
nc
)
Configure o gcloud
Siga os passos seguintes, mesmo que esteja a usar o Cloud Shell.
Autentique com a CLI do Google Cloud:
gcloud auth login --project PROJECT_ID
Atualize os componentes:
gcloud components update
Defina o contexto atual para o cluster de utilizadores:
Defina o contexto kubectl
para apontar para o seu cluster externoGoogle Cloud , de acordo com as instruções específicas da plataforma.
Transfira o asmcli
Esta secção descreve como transferir o asmcli
.
Transfira a versão que instala o Cloud Service Mesh 1.24.6 para o diretório de trabalho atual:
curl https://storage.googleapis.com/csm-artifacts/asm/asmcli_1.24 > asmcli
Resultado esperado:
% 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
Conceda autorizações de administrador do cluster
Certifique-se de que definiu o contexto para o cluster de utilizadores:
kubectl config use-context CONTEXT
Conceda autorizações de administrador do cluster à sua conta de utilizador (o seu Google Cloud endereço de email de início de sessão). Precisa destas autorizações para criar as regras de controlo de acesso baseado em funções (CABF) necessárias para o Cloud Service Mesh:
kubectl create clusterrolebinding cluster-admin-binding \ --clusterrole=cluster-admin \ --user=USER_ACCOUNT
Valide o projeto e o cluster
Pode executar asmcli validate
para se certificar de que o seu projeto e cluster estão
configurados conforme necessário para instalar o Cloud Service Mesh. Com esta opção, asmcli
não faz alterações ao seu projeto nem cluster e não instala o Cloud Service Mesh.
asmcli
valida que:
O seu ambiente tem as ferramentas necessárias.
O cluster cumpre os requisitos mínimos.
Tem as autorizações necessárias no projeto especificado.
O projeto tem todas as APIs Google necessárias ativadas.
Por predefinição, o asmcli
transfere e extrai o ficheiro de instalação e
transfere o
asm
pacote de configuração do GitHub para um diretório temporário. Antes de sair,
asmcli
gera uma mensagem que indica o nome do diretório temporário.
Recomendamos que especifique um diretório para as transferências com a opção --output_dir DIR_PATH
. A opção --output_dir
facilita a utilização da ferramenta de linha de comandos istioctl
. Pode precisar do istioctl
para resolver problemas de configuração.
Além disso, os ficheiros de configuração para ativar funcionalidades opcionais através de asmcli
estão incluídos no diretório asm/istio/options
.
Execute o seguinte comando para validar a configuração e transferir o ficheiro de instalação e o pacote asm
para o diretório OUTPUT_DIR
.
Use o seguinte comando para executar o asmcli validate
nas seguintes plataformas:
Google Distributed Cloud (apenas software) para VMware, Google Distributed Cloud (apenas software) para bare metal, GKE no AWS,
GKE no Azure, Amazon EKS e Microsoft AKS.
Defina o contexto atual para o cluster de utilizadores:
kubectl config use-context CLUSTER_NAME
Execute o seguinte comando para validar a sua configuração e transferir o ficheiro de instalação e o 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 para okubeconfig
Pode especificar um caminho relativo ou um caminho completo. A variável de ambiente$PWD
não funciona aqui.--fleet_id
O ID do projeto do projeto anfitrião da frota.asmcli validate
verifica se o cluster está registado na frota especificada.--output_dir
Inclua esta opção para especificar um diretório ondeasmcli
transfere o pacoteasm
e extrai o ficheiro de instalação, que contémistioctl
, exemplos e manifestos. Caso contrário, oasmcli
transfere os ficheiros para um diretóriotmp
. Pode 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 de Google Cloud, como no local ou na nuvem múltipla.
Em caso de êxito, o comando asmcli
produz o seguinte resultado:
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 a validação, o asmcli
produz uma mensagem de erro.
Por exemplo, se o seu projeto não tiver todas as APIs Google necessárias ativadas, é apresentado 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 recebeu uma mensagem de erro a indicar que tem de executar o comando asmcli
com uma
flag de ativação,
tem as seguintes opções:
Inclua a flag específica da mensagem de erro ou a flag
--enable_all
quando executarasmcli
para fazer a instalação real.Se preferir, pode atualizar o projeto e o cluster antes de executar o comando
asmcli
, conforme descrito em Configure o seu projeto e cluster do GKE.
Tenha em atenção que o asmcli validate
não permite flags de ativação porque apenas
valida se o seu projeto e cluster estão prontos para a instalação.
Inspecione os requisitos de instalação e atualização do cluster
Antes de fazer a atualização, deve verificar se a sua configuração é compatível com a nova versão do Cloud Service Mesh.
Altere para o diretório que especificou em
--output_dir
.Execute o seguinte comando para inspecionar o cluster do Kubernetes quanto aos requisitos de instalação e atualização. Certifique-se de que usa a versão do
istioctl
distribuída com a nova versão do Cloud Service Mesh.istioctl experimental precheck