Quando você instala o Anthos Service Mesh,
os recursos do plano de controle ativados
por padrão diferem por plataforma. Para
ativar os recursos opcionais, inclua um arquivo de sobreposição ao instalar
(ou fazer upgrade) do Anthos Service Mesh. Um arquivo de sobreposição é um arquivo YAML que contém
um recurso personalizado (CR)
IstioOperator
usado para configurar o plano de controle. É possível substituir a configuração
padrão e ativar um recurso opcional em um arquivo de sobreposição. É possível usar mais camadas,
e cada arquivo de sobreposição substitui a configuração nas camadas
anteriores.
Sobre os arquivos de sobreposição
Os arquivos de sobreposição nesta página estão no pacote anthos-service-mesh
(em inglês) no GitHub. Esses arquivos contêm personalizações comuns da configuração
padrão. É possível usar esses arquivos como estão ou fazer outras
alterações neles conforme necessário.
Ao instalar o Anthos Service Mesh usando o comando
istioctl install
, especifique um ou mais arquivos de sobreposição com a opção de linha de comando-f
. Mesmo que seja possível modificar a configuração especificando parâmetros de configuração na linha de comando usando a opção--set
paraistioctl 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 recursos personalizados. É necessário manter esses arquivos para fazer upgrade do Anthos Service Mesh. Assim, o plano de controle terá a mesma configuração após o upgrade.Ao instalar o Anthos Service Mesh usando o script
install_asm
fornecido pelo Google, é possível especificar um ou mais arquivos de sobreposição com as opções--option
ou--custom_overlay
. Caso não precise fazer mudanças nos arquivos no repositórioanthos-service-mesh
, 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 scriptinstall_asm
. Para exemplos de uso de ambas as opções, consulte exemplos deinstall_asm
.
Não inclua várias respostas automáticas em um arquivo YAML | Crie arquivos YAML separados para cada resposta automática |
---|---|
Como fazer o download do pacote anthos-service-mesh
Para fazer o download do pacote anthos-service-mesh
:
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.8-asm asm
Os exemplos a seguir presumem que o pacote
asm
está no seu diretório de trabalho atual.
Examples
Para ativar um recurso ao instalar o Anthos Service Mesh, o comando exato
varia um pouco dependendo da sua plataforma e se você estiver 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 nome de implantação
istiod
será definido como istiod-asm-186-8
. Um rótulo de revisão
está no formato istio.io/rev=asm-186-8
. 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 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
até que esteja
instalando o Anthos Service Mesh.
O guia inclui as etapas para definir a variável de ambiente CTX_CLUSTER1
e
para configurar o cluster.yaml
. Uma das configurações que você define em
cluster.yaml
é a revisão. 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 --context="${CTX_CLUSTER1}" \ -f cluster.yaml \ -f asm/istio/options/egressgateways.yaml
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.
A ordem dos arquivos na linha de comando é importante. Especifique
cluster.yaml
primeiro, que tenha a configuração necessária para os recursos
padrão e, em seguida, os arquivos de sobreposição depois disso.
Ativar um gateway de saída no GKE no Google Cloud
Recomendamos que você use o script install_asm
para configurar um ou mais
clusters no mesmo projeto. O script 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.8-asm
que instala o Anthos Service Mesh 1.8.6.
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_all \
--option egressgateways
Esse comando executa o script para uma nova instalação e ativa
o Mesh CA, que é a CA padrão para instalações. A
sinalização --enable_all
permite que o script ative as APIs do Google necessárias, defina as permissões de gerenciamento de identidade e acesso
e faça as atualizações necessárias no cluster, que inclui
a ativação da
Identidade da carga de trabalho do GKE.
O script busca o arquivo egressgateways.yaml
do GitHub, que é usado para configurar o
plano de controle.
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
em clusters em projetos diferentes.
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.
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-186-8
Os arquivos a seguir se sobrepõem às configurações do arquivo
istio-operator.yaml
:O arquivo
multiproject.yaml
é usado para especificar os recursos padrão para uma malha de vários projetos. É necessário 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
Atualmente, a configuração do rastreador faz parte da configuração de inicialização do proxy. Por isso, o pod precisa ser reiniciado e reinjetado para coletar a atualização do rastreador. Por exemplo, é possível usar o comando a seguir para reiniciar os pods de uma implantação:
kubectl rollout restart deployment -n NAMESPACE DEPLOYMENT_NAME
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.