Como injetar proxies sidecar

O Anthos Service Mesh usa proxies sidecar para aumentar a segurança, a confiabilidade e a observabilidade da rede. Com o Anthos Service Mesh, essas funções são abstraídas do contêiner principal do aplicativo e implementadas em um proxy comum fora do processo, que é exibido como um contêiner separado no mesmo pod. Para aproveitar ao máximo os recursos do Anthos Service Mesh, ao implantar ou reimplantar as cargas de trabalho, injete um proxy sidecar no pod da carga de trabalho. O proxy intercepta todo o tráfego de entrada e de saída das cargas de trabalho e se comunica com o Anthos Service Mesh.

Como ativar a injeção automática de sidecar

Para injetar um proxy sidecar manualmente, atualize a configuração do Kubernetes dos pods ou use a injeção automática de sidecar baseada em webhooks. Por padrão, a injeção automática de sidecar está desativada para todos os namespaces. Para ativar a injeção automática:

kubectl label namespace NAMESPACE istio-injection=enabled --overwrite

em que NAMESPACE é o nome do namespace para os serviços do seu aplicativo ou default se você não tiver criado explicitamente um namespace.

Como os sidecars são injetados quando os pods são criados, é necessário reiniciar todos os pods em execução para que a alteração entre em vigor.

Injeção manual de sidecar

Para injetar sidecars manualmente, consulte Como instalar o sidecar.

Como atualizar sidecars para pods existentes

Com a injeção automática de sidecar, é possível reiniciar os pods para atualizar os sidecars deles:

A maneira como você reinicia os pods depende se foram criados como parte de uma implantação.

  1. Se você usou uma implantação, reinicie-a. Isso reinicia todos os pods com sidecars:

    kubectl rollout restart deployment
    

    Se você não usou uma implantação, exclua os pods. Eles serão recriados automaticamente com os sidecars:

    kubectl delete pod -n YOUR_NAMESPACE --all
  2. Confira se todos os pods no namespace têm sidecars injetados:

    kubectl get pod -n YOUR_NAMESPACE --all

    Neste exemplo de saída do comando anterior, observe que a coluna READY indica que há dois contêineres para cada uma das cargas de trabalho: o principal e o contêiner do proxy sidecar.

    NAME                    READY   STATUS    RESTARTS   AGE
    YOUR_WORKLOAD           2/2     Running   0          20s
    ...
    

A seguir

Saiba mais sobre estas situações: