Referência do asmcli

Nesta página, descrevemos os argumentos disponíveis para asmcli.

Opções

Identifique o cluster Você tem as seguintes opções para identificar o cluster:

Apenas GKE

-p|--project_id CLUSTER_PROJECT_ID
O ID do projeto em que o cluster foi criado.
-n|--cluster_name CLUSTER_NAME
O nome do cluster.
-l|--cluster_location CLUSTER_LOCATION
A zona (para clusters de zona única) ou a região (para clusters regionais) em que o cluster foi criado.

Todas as plataformas

--kubeconfig KUBECONFIG_FILE O caminho completo para o arquivo kubeconfig. A variável de ambiente $PWD não funciona aqui.

--ctx|--context KUBE_CONTEXT O contexto kubeconfig a ser usado. Se não especificado, asmcli usa o contexto padrão.

-c|--ca {mesh_ca|gcp_cas|citadel}

A autoridade de certificação (CA) a ser usada para gerenciar certificados TLS mútuos. Especifique mesh_ca para usar a autoridade certificadora do Anthos Service Mesh (Mesh CA, na sigla em inglês), gcp_cas para usar o Certificate Authority Service ou citadel para usar a CA do Istio. O Anthos Service Mesh gerenciado não é compatível com a CA do Istio. Para mais informações, consulte os links a seguir:

--co|--custom_overlay OVERLAY_FILE

Use --custom_overly com o nome de um arquivo YAML (chamado de arquivo de sobreposição) que contém o recurso personalizado IstioOperator para configurar o plano de controle no cluster. Especifique um arquivo de sobreposição para ativar um recurso que não está ativado por padrão. O Anthos Service Mesh gerenciado não é compatível com a API IstioOperator. Portanto, não é possível usar --custom_overlay para configurar o plano de controle gerenciado. asmcli precisa conseguir localizar o arquivo de sobreposição. Por isso, ele precisa estar no mesmo diretório que asmcli ou você pode especificar um caminho relativo. Para adicionar vários arquivos, especifique --co|--custom_overlay e o nome do arquivo, por exemplo: --co overlay_file1.yaml --co overlay_file2.yaml --co overlay_file3.yaml

--hub-registration-extra-flags HUB_REGISTRATION_EXTRA_FLAGS

Se você estiver usando clusters do Amazon EKS anexados, use --hub-registration-extra-flags para registrar o cluster na frota caso ele ainda não esteja registrado.

-k|--key_file FILE_PATH

O arquivo de chave de uma conta de serviço. Omita essa opção se não estiver usando uma conta de serviço.

--network_id NETWORK_ID

Use --network_id para definir o rótulo topology.istio.io/network aplicado ao namespace istio-system. Para o GKE, --network_id tem como padrão o nome da rede do cluster. Para outros ambientes, default será usado.

-o|--option OVERLAY_FILE

O nome do arquivo de sobreposição (sem a extensão .yaml) que asmcli faz o download do repositório anthos-service-mesh para ativar um recurso opcional. Você precisa de conectividade com a Internet para usar o --option. As opções --option e --custom_overlay são semelhantes, mas têm comportamentos um pouco diferentes:

  • Use --custom_overlay quando precisar alterar as configurações no arquivo de sobreposição.

  • Use --option para ativar um recurso que não exija alterações no arquivo de sobreposição, por exemplo, para configurar políticas de auditoria dos serviços.

Para adicionar vários arquivos, especifique -o|--option e o nome do arquivo. Por exemplo: -o option_file1 -o option_file2 -o option_file3

-D|--output_dir DIR_PATH

Se não for especificado, o asmcli criará um diretório temporário em que fará o download dos arquivos e das configurações necessárias para instalar o Anthos Service Mesh. Especifique a sinalização --output-dir para especificar um caminho relativo para um diretório a ser usado. Após a conclusão, o diretório especificado conterá os subdiretórios asm e istio-1.20.4-asm.0. O diretório asm contém a configuração da instalação. O diretório istio-1.20.4-asm.0 contém o conteúdo extraído do arquivo de instalação, que contém istioctl, amostras e manifestos. Se você especificar --output-dir e o diretório já contiver os arquivos necessários, o asmcli usará esses arquivos em vez de fazer o download deles novamente.

--platform PLATFORM {gcp|multicloud}

A plataforma ou o provedor do cluster do Kubernetes. O padrão é gcp (para clusters do GKE). Para todas as outras plataformas, use multicloud.

-r|--revision_name REVISION NAME

Um rótulo de revisão é um par de chave-valor definido no plano de controle. A chave do rótulo de revisão é sempre istio.io/rev. Por padrão, o asmcli define o valor do rótulo de revisão com base na versão do Anthos Service Mesh, por exemplo: asm-1204-0. Inclua essa opção se quiser modificar o valor padrão e especificar seu próprio valor. O argumento REVISION NAME precisa ser um rótulo DNS-1035. Isso significa que o nome precisa:

  • conter no máximo 63 caracteres
  • conter apenas caracteres alfanuméricos minúsculos ou '-'
  • começam com um caractere alfabético
  • terminar com um caractere alfanumérico.

O regex usado para validação é: '[a-z]([-a-z0-9]*[a-z0-9])?'

-s|--service_account ACCOUNT
O nome de uma conta de serviço usada para instalar o Anthos Service Mesh. Se não for especificado, a conta de usuário ativa na configuração de gcloud atual será usada. Se você precisar alterar a conta de usuário ativa, execute gcloud auth login.

Opções para o certificado personalizado de CA do Istio

Se você especificou --ca citadel e está usando uma CA personalizada, inclua as seguintes opções:

  • --ca_cert FILE_PATH: o certificado intermediário
  • --ca_key FILE_PATH: a chave do certificado intermediário.
  • --root_cert FILE_PATH: o certificado raiz
  • --cert_chain FILE_PATH: a cadeia de certificados

Para ver mais informações, consulte Como conectar certificados de CA existentes.

Sinalizações de ativação

As sinalizações que começam com --enable permitem que o asmcli ative as APIs do Google, defina as permissões Identity and Access Management (IAM) obrigatórias e atualize o cluster. Se preferir, atualize o projeto e o cluster antes de executar o asmcli. Todas as sinalizações de ativação são incompatíveis com asmcli validate. Se você especificar uma sinalização de ativação ao executar asmcli validate, o comando terminará com um erro.

-e|--enable_all
Permita que asmcli execute todas as ações de ativação individuais descritas abaixo.
--enable_cluster_roles
Permita que asmcli tente vincular a conta de usuário ou serviço do Google Cloud que está executando asmcli ao papel cluster-admin no cluster. asmcli determina a conta de usuário do comando gcloud config get core/account. Se você estiver executando asmcli localmente com uma conta de usuário, lembre-se de chamar o comando gcloud auth login antes de executar asmcli. Se você precisar alterar a conta de usuário, execute o comando gcloud config set core/account GCP_EMAIL_ADDRESS em que GCP_EMAIL_ADDRESS é a conta que você usa para fazer login no Google Cloud.
--enable_cluster_labels
Permita que asmcli defina os rótulos de cluster necessários.
--enable_gcp_components

Permita que asmcli ative os seguintes serviços e componentes gerenciados do Google Cloud:

--enable_gcp_apis

Permitir que asmcli ative todas as APIs necessárias do Google.

--enable_gcp_iam_roles

Permita que asmcli defina as permissões do IAM necessárias.

--enable_meshconfig_init

Permita que o script inicialize o endpoint meshconfig em seu nome. Implícito por --enable_gcp_components e --managed.

--enable_namespace_creation

Permita que asmcli crie o namespace istio-system raiz.

--enable_registration

Permitir que asmcli registre o cluster no projeto em que o cluster está. Se não incluir essa sinalização, siga as etapas em Como registrar um cluster e registre-o manualmente. Observe que, ao contrário das outras sinalizações de ativação, --enable_registration é incluído apenas em --enable_all quando você especifica uma opção (como --option hub-meshca) que requer registro do cluster. Caso contrário, será necessário especificar essa sinalização separadamente.

Outras sinalizações

--dry_run
Mostra comandos, mas não os executa.
--fleet_id
Registre um cluster em uma frota usando o ID do projeto host da frota. Essa sinalização é necessária para clusters que não são do Google Cloud. Quando não fornecido para clusters do Google Cloud, o padrão é o ID do projeto do cluster. Execute asmcli install com --fleet_id antes da instalação ou como parte da instalação transmitindo as sinalizações --enable-registration e --fleet-id. Não será possível mudar essa configuração depois.
--managed
Provisionar um plano de controle remoto gerenciado em vez de instalar um no cluster.
--offline
Execute uma instalação off-line usando o pacote pré-baixado no diretório de saída. Se o diretório não for especificado ou não tiver os arquivos necessários, o script será encerrado com erro.
--only_enable
Execute as etapas especificadas para configurar o usuário/cluster atual, mas não instala nada.
--only_validate
Execute a validação, mas não atualize o projeto ou o cluster, nem instale o Anthos Service Mesh. Essa sinalização é incompatível com as sinalizações de ativação. asmcli terminará com um erro se você especificar --only_validate com qualquer sinalização de ativação.
--print_config
Em vez de instalar o Anthos Service Mesh, imprima todo o YAML compilado para a saída padrão (stdout). Todas as outras saídas são gravadas no erro padrão (stderr), mesmo que você normalmente acesse stdout. asmcli ignora todas as validações e configurações quando você especifica essa sinalização.
--disable_canonical_service
Por padrão, asmcli implanta o controlador de serviço canônico no cluster (em inglês). Se você não quiser que asmcli implante o controlador, especifique --disable_canonical_service. Para mais informações, consulte Como ativar e desativar o controlador de serviço canônico.
-h|--help
Mostrar uma mensagem de ajuda com a descrição das opções, sinalizações e saídas.
--use_managed_cni
Use a CNI gerenciada. Se essa sinalização não for transmitida, asmcli aplicará os manifestos CNI estáticos.
--use_vpcsc
Essa sinalização não é mais necessária para usar o VPC Service Controls no projeto.
-v|--verbose
À medida que asmcli é executado, ele imprime o comando que será executado em seguida. Com a sinalização --verbose, asmcli também imprime o comando após a execução.
--version
Imprime a versão de asmcli e sai. Se você não tiver a versão mais recente, poderá fazer o download da versão mais recente do asmcli_1.20.

A seguir