Instalar ferramentas dependentes e verificar clusters
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.
Instalar 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 CLI do Google Cloud
- As ferramentas de linha de comando padrão:
awk,curl,grep,sedetr gitkubectljq- 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 CLI do Google Cloud:
gcloud auth login --project PROJECT_IDAtualize 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 doGoogle Cloud , de acordo com as instruções específicas da plataforma.
Baixar o asmcli
Nesta seção, descrevemos como baixar o asmcli.
Baixe a versão que instala o Cloud Service Mesh 1.23.6 no diretório de trabalho atual:
curl https://storage.googleapis.com/csm-artifacts/asm/asmcli_1.23 > asmcliSaí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 --:--:-- --:--:-- --:--:-- 701kTorne 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ê vai usá-las 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 ou no
cluster e também não instala o Cloud Service Mesh.
O asmcli valida se:
o seu ambiente tem as ferramentas necessárias;
o cluster atende aos requisitos mínimos;
você tem as permissões necessárias para o projeto específico;
todas as APIs do Google necessárias estão ativadas no projeto.
Por padrão, o asmcli baixa e extrai o arquivo de instalação e
baixa o
pacote de configuração
asm do GitHub para um diretório temporário. Antes de sair,
o asmcli gera uma mensagem que fornece o nome do diretório temporário.
Recomendamos especificar um diretório para os arquivos baixados com a
opção --output_dir DIR_PATH. A opção
--output_dir facilita o uso da ferramenta de linha de comando istioctl. Talvez
o istioctl seja necessário para
resolver problemas de configuração.
Além disso, os arquivos de configuração para
ativar recursos opcionais usando o asmcli estão incluídos no diretório asm/istio/options.
Execute o comando a seguir para validar a configuração e baixar o
arquivo de instalação e o 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_NAMEExecute o seguinte comando para validar a configuração e baixar o arquivo de instalação e o pacote
asmpara o diretórioOUTPUT_DIR:./asmcli validate \ --kubeconfig KUBECONFIG_FILE \ --fleet_id FLEET_PROJECT_ID \ --output_dir DIR_PATH \ --platform multicloud--kubeconfigO caminho parakubeconfig. É possível especificar um caminho relativo ou completo. A variável de ambiente$PWDnão funciona aqui.--fleet_idO ID do projeto host da frota.asmcli validateverifica se o cluster está registrado na frota especificada.--output_dirInclua essa opção para especificar um diretório em queasmclibaixa o pacoteasme extrai o arquivo de instalação, que contémistioctl, amostras e manifestos. Caso contrário,asmclibaixará os arquivos para um diretóriotmp. É possível especificar um caminho relativo ou um caminho completo. A variável de ambiente$PWDnão funciona aqui.--platform multicloudespecifica que a plataforma é algo diferente de Google Cloud, como no local ou multicloud.
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
flag de ativação,
tem as seguintes opções:
Inclua a flag específica da mensagem de erro ou
--enable_allao executarasmclipara 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.
O asmcli validate não permite flags de ativação porque ele apenas
confirma que o projeto e o cluster estão 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
istioctldistribuída com a nova versão do Cloud Service Mesh.istioctl experimental precheck