Ao instalar o Anthos Service Mesh, você especifica um perfil de configuração. Os perfis de configuração são arquivos YAML que definem e configuram os recursos instalados com o Anthos Service Mesh. 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.
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.
É possível modificar o perfil de configuração e ativar os recursos opcionais compatíveis
usando a API
IstioOperator
. Especifique a configuração IstioOperator
em um arquivo YAML. Por exemplo,
feature.yaml
. O nome do arquivo YAML não importa.
É possível modificar a configuração fazendo alterações no perfil ou
especificando parâmetros de configuração na linha de comando usando a opção
--set
. No entanto, recomendamos o uso de um arquivo YAML de configuração IstioOperator
para que você consiga armazenar o arquivo no sistema de controle de versões em conjunto com os
outros arquivos de configuração de recursos. Há também a opção de especificar vários arquivos na
linha de comando ao ativar recursos opcionais.
Examples
Para ativar um recurso ao instalar ou fazer upgrade do Anthos Service Mesh, inclua o perfil e o arquivo YAML do recurso que você quer ativar. Nestes exemplos, presumimos que você concluiu todas as etapas no guia de instalação ou atualização que está acompanhando até o momento em que o Anthos Service Mesh é instalado.
Ativar um gateway de saída
Este exemplo mostra como ativar um gateway de saída no GKE no VMware.
Copie o seguinte YAML para
feature.yaml
e salve o arquivo:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: egressGateways: - name: istio-egressgateway enabled: true
Para instalar o Anthos Service Mesh no GKE no VMware, na linha de comando a seguir, substitua
REVISION
pela versão exata do Anthos Service Mesh que você está instalando, como:asm-1614-2
istioctl install \ --set profile=asm-multicloud \ --set revision=REVISION \ -f feature.yaml
Ativar rastreamento
Neste exemplo, mostramos como ativar o Cloud Trace no GKE.
Para instalações e upgrades no GKE, é preciso
preparar istio-operator.yaml
,
que contém informações sobre seu projeto e o cluster. Ao
configurar istio-operator.yaml
, você define o perfil que quer usar,
asm-gcp
ou asm-gcp-multiproject
. Como o perfil é configurado em
istio-operator.yaml
, não é necessário especificar o perfil na
linha de comando nesse caso, embora seja interessante especificá-lo para fins de
clareza.
Copie o seguinte YAML para
feature.yaml
e salve o arquivo:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: enableTracing: true values: global: proxy: tracer: stackdriver
Para instalar o Anthos Service Mesh no GKE, na seguinte linha de comando:
- Substitua
PROFILE
pelo perfil que você está usando:asm-gcp
ouasm-gcp-multiproject
. - Substitua
REVISION
pela versão exata do Anthos Service Mesh que você está instalando, como:asm-1614-2
istioctl install \ -f asm/cluster/istio-operator.yaml \ --set profile=PROFILE \ --set revision=REVISION \ -f feature.yaml
- Substitua
YAML para recursos opcionais
As seções a seguir fornecem o YAML para ativar recursos opcionais e
compatíveis. Ao ativar um recurso opcional, você precisa incluir o perfil
e o arquivo YAML para o recurso que quer ativar na linha de comando. Para o
GKE, o perfil é configurado em istio-operator.yaml
.
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
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: "/dev/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.
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: enableTracing: true values: global: proxy: tracer: stackdriver
A taxa de amostragem padrão é de 1%, mas é possível substituir o padrão especificando
um valor traceSampling
. 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 values: pilot: traceSampling: 100 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-parentspanid
- x-b3-sampled
- 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.
Saída por meio de gateways
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: egressGateways: - name: istio-egressgateway enabled: true
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
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: cni: enabled: true namespace: kube-system values: cni: cniBinDir: /home/kubernetes/bin excludeNamespaces: - istio-system - kube-system
Ativar CNI no GKE no VMware
Para o GKE no VMware, adicione gke-system
a
excludeNamespaces
e values.cni.cniBinDir
.
representa /opt/cni/bin
:
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: cni: enabled: true namespace: kube-system values: cni: cniBinDir: /opt/cni/bin excludeNamespaces: - istio-system - kube-system - gke-system
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. No YAML a seguir,
substitua PROFILE
pelo perfil que
você está usando, asm-gcp
ou asm-gcp-multiproject
.
apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: profile: PROFILE components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: serviceAnnotations: cloud.google.com/load-balancer-type: "internal" service: ports: - name: status-port port: 15020 - name: http2 port: 80 - name: https port: 443
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.