Como ativar recursos opcionais

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:

  • 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 perfil asm-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 perfil asm-multicloud.yaml ativa os recursos padrão compatíveis listados na página Recursos compatíveis do perfil de configuração asm-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.

  1. 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
  2. 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.

  1. 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
  2. Para instalar o Anthos Service Mesh no GKE, na seguinte linha de comando:

    • Substitua PROFILE pelo perfil que você está usando: asm-gcp ou asm-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

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.