Ao instalar o Anthos Service Mesh, dependendo do seu ambiente, você especifica um perfil de configuração ou especifica um arquivo de sobreposição que define o perfil para você. Os perfis de configuração são arquivos YAML que usam a API IstioOperator
. Os perfis de configuração
definem e configuram os recursos instalados com o Anthos Service Mesh. Os perfis do Anthos Service Mesh são sobreposições do perfil empty
(o que significa que não há configurações) ou do perfil default
do Istio (em inglês).
Os perfis a seguir são fornecidos
com o Anthos Service Mesh:
asm-gcp
: use este perfil se todos os clusters do GKE estiverem no mesmo projeto. Quando você instala o Anthos Service Mesh com este perfil, os seguintes recursos são ativados:Telemetria de malha, que fornece dados aos painéis do Anthos Service Mesh no console do Google Cloud.
Os outros recursos padrão compatíveis listados na página Recursos compatíveis do perfil de configuração
asm-gcp
.
asm-gcp-multiproject
: use este perfil se seu cluster do GKE estiver em uma nuvem privada virtual compartilhada e você quiser adicionar clusters de diferentes projetos ao Anthos Service Mesh. Ao instalar o Anthos Service Mesh com o perfilasm-gcp-multiproject
:No momento, os painéis do Anthos Service Mesh no Console do Google Cloud não estão disponíveis. No entanto, ainda é possível ver registros no Cloud Logging e métricas no Cloud Monitoring de cada projeto.
Osrecursos padrão compatíveis listados na página Recursos compatíveis do perfil de configuração
asm-gcp-multiproject
estão ativados.
asm-multicloud
: use esse perfil para clusters em outros ambientes compatíveis: GKE on VMware, GKE na AWS, Amazon Elastic Kubernetes Service (Amazon EKS) e Microsoft Azure Kubernetes Service (Microsoft AKS). Instalar o Anthos Service Mesh com o perfilasm-multicloud.yaml
ativa os recursos padrão compatíveis listados na página Recursos compatíveis do perfil de configuraçãoasm-multicloud
.
Os perfis estão localizados no subdiretório manifests/profiles
no diretório raiz da instalação do Anthos Service Mesh.
Arquivos de sobreposição
Um arquivo de sobreposição é um arquivo YAML contendo um recurso personalizado (CR)
IstioOperator
usado para configurar o plano de controle. É possível substituir a configuração
padrão e ativar os recursos opcionais compatíveis em um arquivo de sobreposição.
É possível usar mais camadas, e cada arquivo de sobreposição substitui a
configuração nas camadas anteriores.
Quando você instala ou faz upgrade do Anthos Service Mesh usando o comando istioctl install
, é possível especificar um ou mais arquivos de sobreposição na linha de comando com a opção de linha de comando -f
.
Não inclua várias respostas automáticas em um arquivo YAML | Crie arquivos YAML separados para cada resposta automática |
---|---|
Embora você possa modificar a configuração especificando parâmetros de configuração
na linha de comando usando a opção --set
para istioctl install
,
recomendamos o uso de um arquivo de sobreposição para armazenar o arquivo em seu
sistema de controle de versões junto com seus outros arquivos de definição de recursos. É preciso
manter esses arquivos para fazer upgrade do Anthos Service Mesh. Assim, a malha de serviço
terá a mesma configuração após o upgrade.
Os arquivos de sobreposição nesta página estão no pacote asm
(em inglês) no GitHub. Esses arquivos contêm personalizações comuns nos perfis.
É possível usar esses arquivos como estão ou fazer outras alterações neles conforme necessário. Você também pode criar seus próprios arquivos de sobreposição, conforme descrito em Como personalizar a configuração.
Ao instalar o Anthos Service Mesh usando o script install_asm
fornecido pelo Google, você pode especificar um ou mais arquivos de sobreposição com --option
ou o --custom_overlay
opções. Caso não precise fazer mudanças nos arquivos, use --option
, e o script busca o arquivo no GitHub para você. Caso contrário, você pode fazer alterações no arquivo de sobreposição e usar a opção --custom_overlay
para passá-la para o script install_asm
. Para exemplos de uso de ambas as opções, consulte exemplos de install_asm
.
Para fazer o download do pacote asm
:
Nas etapas a seguir, kpt
é usado para fazer o download do pacote asm
no repositório do GitHub. Se preferir, use git clone
.
Instale
kpt
caso ainda não tenha feito isso:gcloud components install kpt
Faça o download do pacote que contém os arquivos:
kpt pkg get \ https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.7-asm asm
Examples
Para ativar um recurso ao instalar ou fazer upgrade do Anthos Service Mesh, inclua o perfil ou o arquivo de sobreposição que define o perfil e o arquivo do recurso que você quer ativar. O comando exato será ligeiramente diferente, dependendo do seu ambiente e se você está usando o script install_asm
ou o comando istioctl install
.
Todos os comandos a seguir definem um rótulo de revisão em istiod
. O rótulo de revisão está no formato istio.io/rev=asm-178-10
. O rótulo de revisão é usado pelo webhook do injetor automático de sidecar
para associar os sidecars injetados a uma revisão istiod
específica. Para ativar a injeção automática de arquivo secundário para um namespace, rotule-o com uma revisão correspondente ao rótulo de revisão em istiod
.
Ativar um gateway de saída no GKE On-Prem
Neste exemplo, presume-se que você tenha seguido as etapas do guia Como instalar o Anthos Service Mesh no local ao ponto em que instalar o Anthos Service Mesh e que o pacote asm
é no diretório de trabalho atual. O arquivo egressgateways.yaml
contém a configuração para ativar um gateway de saída.
Instale o Anthos Service Mesh no GKE no VMware:
istioctl install \ --set profile=asm-multicloud \ -f asm/istio/options/egressgateways.yaml \ --set revision=asm-178-10
Não deixe de voltar ao guia de instalação do GKE no VMware para configurar o webhook de validação, que é necessário para novas instalações.
Ativar um gateway de saída no GKE no Google Cloud
Recomendamos que você use o script install_asm
para configurar clusters independentes ou vários clusters no mesmo projeto. O script usa o perfil asm-gcp
e define um rótulo de revisão em istiod
. Para seguir este exemplo,
é necessário que você tenha seguido o guia
Como instalar o Anthos Service Mesh no GKE
para fazer o download da versão do script install_asm
na
ramificação release-1.7-asm
que instala o Anthos Service Mesh 1.7.8.
Para usar o script install_asm
para instalar um gateway de saída:
./install_asm \
--project_id PROJECT_ID \
--cluster_name CLUSTER_NAME \
--cluster_location CLUSTER_LOCATION \
--mode install \
--enable_apis \
--option egressgateways
Esse comando executa o script para uma nova instalação, define oasm-gcp
configurar seu cluster com as opções exigidas pelo Anthos Service Mesh, ativar o Mesh CA (a autoridade de certificação padrão para novas instalações), permitir que o script ative as APIs do Google necessárias e buscar o { 1.01}egressgateways.yaml
do GitHub.
Ativar um gateway de saída em clusters do GKE em diferentes projetos
Atualmente, o script install_asm
não é compatível com a instalação do Anthos Service Mesh com o perfil asm-gcp-multiproject
, que é o perfil necessário quando você quer configurar vários clusters em diferentes para o Anthos Service Mesh.
A linha de comando a seguir pressupõe que você seguiu todas as etapas em instalação e migração de vários projetos até o ponto em que instala o Anthos Service Mesh e que o pacote asm
está no diretório de trabalho atual.
Instale o Anthos Service Mesh:
istioctl install \ -f asm/istio/istio-operator.yaml \ -f asm/istio/options/multiproject.yaml \ -f asm/istio/options/multicluster.yaml\ -f asm/istio/options/egressgateways.yaml \ --set revision=asm-178-10
Os arquivos a seguir se sobrepõem às configurações do arquivo
istio-operator.yaml
:O arquivo
multiproject.yaml
define o perfil doasm-gcp-multiproject
. Como esse arquivo define o perfil, você precisa especificá-lo antes dos outros arquivos de sobreposição.O arquivo
multicluster.yaml
define as configurações que o Anthos Service Mesh precisa para uma configuração de vários clusters.O arquivo
egressgateways.yaml
configura o gateway de saída.
Volte para o guia de instalação de vários projetos para configurar o webhook de validação, que é necessário para novas instalações.
YAML para recursos opcionais
As seções a seguir fornecem o YAML para ativar recursos opcionais e compatíveis.
Modo mTLS STRICT
A configuração global.mtls.enabled
foi removida para evitar problemas com
os upgrades e fornecer uma instalação mais flexível. Para ativar o mTLS STRICT
,
configure uma
política de autenticação de
peering.
Envoy direto para stdout
Para mais informações, consulte Ativar a geração de registros de acesso do Envoy.
Cloud Trace
Para instalações no GKE, é possível ativar o Cloud Trace. Para informações detalhadas de preço do Cloud Trace, consulte esta página.
A taxa de amostragem padrão é de 1%, mas é possível substituir o padrão especificando
um valor tracing.sampling
. O valor precisa estar no intervalo de 0,0 a 100,0 com uma
precisão de 0,01. Por exemplo, para gerar traces de cinco solicitações de cada 10.000,
use 0,05.
O exemplo a seguir mostra uma taxa de amostragem de 100%, que é o que você faria apenas para fins de demonstração ou solução de problemas.
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
meshConfig:
enableTracing: true
defaultConfig:
tracing:
sampling: 100
values:
global:
proxy:
tracer: stackdriver
Propagação do contexto de trace
Os proxies secundários podem enviar períodos de trace automaticamente, mas eles precisam de algumas dicas para unir todo o trace. Os aplicativos precisam propagar os cabeçalhos HTTP apropriados para que, quando os proxies enviarem informações de período, os períodos possam ser correlacionados corretamente em um único trace.
Para fazer isso, um aplicativo precisa coletar e propagar os seguintes cabeçalhos da solicitação de entrada para qualquer solicitação de saída:
- x-request-id
- x-b3-traceid
- x-b3-spanid
- x-b3-paispan
- x-b3
- x-b3-flags
- x-ot-span-context
- x-cloud-trace-context
- traceparent
- grpc-trace-bin
Para exemplos de propagação dos cabeçalhos, consulte Rastrear a propagação de contexto.
Criar um trace do cliente com um ID personalizado.
Para criar um trace de um cliente com um ID personalizado, use o comando curl
para criar uma solicitação com um cliente externo e forçá-lo a mostrar um trace. Exemplo:
curl $URL --header "x-client-trace-id: 105445aa7843bc8bf206b12000100000"
Para mais informações sobre x-client-trace-id
, consulte a documentação do Envoy (em inglês).
Saída por meio de gateways
Para mais informações, consulte Gateways de saída.
Interface de rede de contêiner do Istio
A forma como você ativa a interface de rede de contêiner do Istio (CNI, na sigla em inglês) depende do ambiente em que o Anthos Service Mesh está instalado. Você também precisa ativar uma política de rede.
Ativar a CNI no GKE
Ativar CNI no GKE no VMware
Ativar um balanceador de carga interno
Para instalações no GKE, é possível ativar um balanceador de carga interno para o gateway de entrada do Istio.
Gerenciamento de certificados externos no gateway de entrada
Para informações sobre como ativar o gerenciamento de certificados externos no gateway de entrada usando o Envoy SDS, consulte Gateways seguros.