Inserimento di proxy sidecar

Anthos Service Mesh utilizza i proxy sidecar per migliorare la sicurezza, l'affidabilità e l'osservabilità della rete. Queste funzioni vengono astratte dal container principale dell'applicazione e implementate in un proxy out-of-process comune (il sidecar), distribuito come container separato nello stesso pod. Fornisce le funzionalità di Anthos Service Mesh senza riprogettare le applicazioni di produzione per partecipare a un mesh di servizi.

L'inserimento automatico del proxy sidecar (inserimento automatica) si verifica quando Anthos Service Mesh rileva un'etichetta dello spazio dei nomi che configuri per il pod del carico di lavoro. Il proxy intercetta tutto il traffico in entrata e in uscita verso i carichi di lavoro e comunica con Anthos Service Mesh.

Attivazione dell'inserimento automatico dei file collaterali

Il modo consigliato per inserire proxy sidecar è utilizzare l'iniettore automatico collaterale basato su webhook, anche se puoi aggiornare manualmente la configurazione Kubernetes dei pod. Per inserire i pod con il proxy sidecar, devi configurare l'inserimento automatico etichettando gli spazi dei nomi con la stessa etichetta di revisione che hai impostato su istiod al momento dell'installazione di Anthos Service Mesh.

Per abilitare l'inserimento automatico:

  1. Utilizza il seguente comando per individuare l'etichetta di revisione su istiod:

    kubectl -n istio-system get pods -l app=istiod --show-labels
    

    L'output è simile al seguente:

    NAME                                READY   STATUS    RESTARTS   AGE   LABELS
    istiod-asm-178-10-5788d57586-bljj4   1/1     Running   0          23h   app=istiod,istio.io/rev=asm-178-10,istio=istiod,pod-template-hash=5788d57586
    istiod-asm-178-10-5788d57586-vsklm   1/1     Running   1          23h   app=istiod,istio.io/rev=asm-178-10,istio=istiod,pod-template-hash=5788d57586

    Nell'output, sotto la colonna LABELS, prendi nota del valore dell'etichetta di revisione istiod, che segue il prefisso istio.io/rev=. In questo esempio, il valore è asm-178-10.

  2. Applica l'etichetta di revisione agli spazi dei nomi e rimuovi l'etichetta istio-injection (se esistente). Nel seguente comando, NAMESPACE è il nome dello spazio dei nomi in cui vuoi abilitare l'inserimento automatico e REVISION è l'etichetta di revisione che hai annotato nel passaggio precedente.

    kubectl label namespace NAMESPACE  istio-injection- istio.io/rev=REVISION --overwrite
    

    Se vedi "istio-injection not found" nell'output, puoi ignorarlo. Ciò significa che in precedenza lo spazio dei nomi non aveva l'etichetta istio-injection. Per le nuove installazioni di Anthos Service Mesh o per i nuovi deployment, gli spazi dei nomi non avranno l'etichetta istio-injection. Se uno spazio dei nomi aveva l'etichetta istio-injection, deve essere rimosso per abilitare correttamente l'inserimento automatico.

  3. Riavvia i pod interessati, seguendo i passaggi descritti nella sezione successiva.

Riavvia i pod per aggiornare i proxy sidecar

Con l'inserimento automatico dei file collaterali, puoi aggiornare i file collaterali per i pod esistenti con un riavvio del pod:

La modalità di riavvio dei pod dipende dal fatto che siano stati creati nell'ambito di un deployment.

  1. Se hai utilizzato un deployment, riavvialo, in modo da riavviare tutti i pod con i file collaterali:

    kubectl rollout restart deployment -n YOUR_NAMESPACE

    Se non hai utilizzato un deployment, elimina i pod, che vengono ricreati automaticamente con i file collaterali:

    kubectl delete pod -n YOUR_NAMESPACE --all
  2. Verifica che tutti i pod nello spazio dei nomi abbiano dei sidecar inseriti:

    kubectl get pod -n YOUR_NAMESPACE

    Nel seguente esempio di output del comando precedente, puoi notare che la colonna READY indica che esistono due container per ciascuno dei tuoi carichi di lavoro: il container principale e il container per il proxy sidecar.

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

Passaggi successivi

Scopri di più su: