Usa il criterio NAT in uscita per configurare il mascheramento IP nei cluster Autopilot


Questa pagina spiega come configurare i cluster creati della modalità Autopilot di Google Kubernetes Engine (GKE) Accesso mascherato IP con il criterio NAT in uscita.

Per ulteriori informazioni sul mascheramento degli indirizzi IP in modalità GKE Standard, consulta Configurare un agente di mascheramento IP.

Panoramica

Il criterio NAT in uscita di GKE ti consente di configurare comportamento mascherato per i cluster Autopilot.

GKE supporta due criteri NAT in uscita generati automaticamente:

  • Gestiti da GKE che sono fissi e non modificabili.
  • Criteri predefiniti modificabili.

Questa pagina mostra come modificare ed eseguire il deployment di un criterio NAT in uscita modificando il criterio predefinito o creando un criterio NAT in uscita. Questa pagina mostra anche come eliminare un criterio NAT in uscita creato.

Per ulteriori informazioni sul comportamento del criterio NAT in uscita, consulta comportamento mascherato per i cluster Autopilot.

Prima di iniziare

Prima di iniziare, assicurati di aver eseguito le seguenti attività:

  • Attiva l'API Google Kubernetes Engine.
  • Abilita l'API Google Kubernetes Engine .
  • Se vuoi utilizzare Google Cloud CLI per questa attività, install e poi inizializzare con gcloud CLI. Se hai già installato gcloud CLI, scarica la versione più recente eseguendo gcloud components update.
  • Assicurati di avere un cluster Autopilot che esegue la versione 1.23.4-gke.1600 o successive oppure 1.22.7-gke.1500 o successive. Nel cluster deve essere abilitato GKE Dataplane V2.

  • Assicurati che nel cluster sia in esecuzione un carico di lavoro. Per ulteriori informazioni, consulta l'articolo su come richiedere risorse.

Controlla lo stato dei criteri NAT in uscita

Puoi verificare se nel cluster è in esecuzione la risorsa personalizzata del criterio NAT in uscita (CRD) mediante lo strumento Google Cloud CLI:

  1. Ottieni le credenziali per il tuo cluster:

    gcloud container clusters get-credentials CLUSTER-NAME
    

    Sostituisci CLUSTER_NAME con il nome del cluster.

  2. Controlla se il criterio NAT in uscita è in esecuzione:

    kubectl get crds egressnatpolicies.networking.gke.io
    

    Se il criterio NAT in uscita è in esecuzione, l'output è simile al seguente:

     NAME                                  CREATED AT
     egressnatpolicies.networking.gke.io   2022-03-16T21:05:43Z
    
  3. Recupera l'elenco dei criteri NAT in uscita creati:

    kubectl get egressnatpolicies
    

    L'output è simile al seguente:

      NAME             AGE
      default          44h
      gke-bbfa6c0e-1   44h
    

Modifica il criterio predefinito esistente

GKE supporta due criteri NAT generati automaticamente, norme e gestite dal criterio GKE. Il criterio predefinito è modificabile e configura le destinazioni predefinite non mascherate.

Per modificare il criterio predefinito esistente:

  1. Ottieni le credenziali per il tuo cluster:

    gcloud container clusters get-credentials CLUSTER_NAME
    

    Sostituisci CLUSTER_NAME con il nome del tuo cluster.

  2. Modifica il criterio NAT in uscita predefinito:

    kubectl edit egressnatpolicies default
    
  3. Aggiungere o rimuovere destinazioni con l'azione NoSNAT come attributo cidr in Formato CIDR:

      apiVersion: networking.gke.io/v1
      kind: EgressNATPolicy
      metadata:
        name: default
      spec:
        action: NoSNAT
        destinations:
        - cidr:  10.0.0.0/8
        - cidr:  172.16.0.0/12
        - cidr:  192.168.0.0/16
        - cidr:  240.0.0.0/4
        - cidr:  192.0.2.0/24
        - cidr:  198.51.100.0/24
        - cidr:  203.0.113.0/24
        - cidr:  100.64.0.0/10
        - cidr:  198.18.0.0/15
        - cidr:  192.0.0.0/24
        - cidr:  192.88.99.0/24
    

    Quando i pacchetti vengono inviati a queste destinazioni, il cluster non esegue il mascheramento dell'IP e conserva gli indirizzi IP dei pod di origine.

  4. Verifica che il deployment del criterio predefinito modificato sia stato eseguito controllando gli eventi Kubernetes:

    kubectl get events
    

    L'output è simile al seguente:

    LAST SEEN   TYPE     REASON           OBJECT                    MESSAGE
    13s         Normal   EnsuringPolicy   egressnatpolicy/default   Ensuring IP masquerade config for policy "default"
    

    L'applicazione delle modifiche potrebbe richiedere fino a tre minuti.

Esegui il deployment di un nuovo criterio NAT in uscita

Per aggiungere nuove destinazioni con l'azione NoSNAT, puoi utilizzare una delle seguenti opzioni:

Per creare un nuovo criterio NAT in uscita che non fa parte del criterio predefinito, segui questi passaggi:

  1. Salva il seguente manifest come egress_nat_policy.yaml:

    kind: EgressNATPolicy
    apiVersion: networking.gke.io/v1
    metadata:
      name: POLICY_NAME
    spec:
      action: NoSNAT
      destinations:
      - cidr: CIDR_1
      - cidr: CIDR_2
    

    Sostituisci quanto segue:

    • POLICY_NAME: il nome del nuovo criterio.
    • CIDR_1 e CIDR_2: gli intervalli di indirizzi IP in Formato CIDR. Quando i pacchetti vengono inviati a queste destinazioni, il cluster non delle origini degli indirizzi IP mascherati e conserva gli indirizzi IP dei pod di origine. Se hai bisogno di più di due CIDR, aggiungi altre voci al Elenco destinations seguendo lo stesso formato.
  2. Esegui il deployment del nuovo criterio:

    kubectl create -f egress_nat_policy.yaml
    
  3. Verifica che il deployment del criterio sia stato eseguito controllando gli eventi Kubernetes:

    kubectl get events
    

    L'output è simile al seguente:

    LAST SEEN   TYPE     REASON           OBJECT                              MESSAGE
    13s         Normal   EnsuringPolicy   egressnatpolicy/mypolicy            Ensuring IP masquerade config for policy "mypolicy"
    

Elimina un criterio NAT in uscita

Per eliminare completamente un criterio NAT in uscita, esegui questo comando:

kubectl delete egressnatpolicies POLICY_NAME

Sostituisci POLICY_NAME con il nome del criterio da utilizzare eliminare.

Passaggi successivi