Crea criteri di rete per il traffico tra progetti

Questa pagina fornisce istruzioni per configurare i criteri di rete per il traffico tra progetti nell'appliance con air gap di Google Distributed Cloud (GDC).

Il traffico tra progetti si riferisce alla comunicazione tra servizi e carichi di lavoro di spazi dei nomi di progetti diversi, ma all'interno della stessa organizzazione.

Per impostazione predefinita, i servizi e i workload di un progetto sono isolati da servizi e workload esterni. Tuttavia, i servizi e i carichi di lavoro di spazi dei nomi di progetti diversi e all'interno della stessa organizzazione possono comunicare tra loro applicando criteri di rete per il traffico tra progetti.

Prima di iniziare

Per configurare i criteri di rete per il traffico intra-progetto, devi disporre di quanto segue:

Crea una policy di gestione del traffico tra progetti

Puoi definire criteri di traffico tra progetti in entrata o in uscita per gestire la comunicazione tra i progetti.

Crea una regola firewall in entrata per il traffico tra progetti

Affinché i servizi o i carichi di lavoro del progetto consentano le connessioni da altri carichi di lavoro in un altro progetto, devi configurare una regola firewall in entrata per consentire il traffico in entrata di altri carichi di lavoro del progetto.

Segui questi passaggi per creare una nuova regola firewall e consentire il traffico in entrata dai carichi di lavoro in un altro progetto:

Console

  1. Nella console GDC del progetto che stai configurando, vai a Networking > Firewall nel menu di navigazione per aprire la pagina Firewall.
  2. Fai clic su Crea nella barra delle azioni per iniziare a creare una nuova regola firewall.
  3. Nella pagina Dettagli regola firewall, inserisci le seguenti informazioni:

    1. Nel campo Nome, inserisci un nome valido per la regola firewall.
    2. Nella sezione Direzione del traffico, seleziona In entrata per consentire il traffico in entrata dai carichi di lavoro in altri progetti.
    3. Nella sezione Target, seleziona una delle seguenti opzioni:
      • Tutti i workload utente: consentono le connessioni ai workload del progetto che stai configurando.
      • Servizio:indica che questa regola firewall ha come target un servizio specifico all'interno del progetto che stai configurando.
    4. Se la destinazione è un servizio di progetto, seleziona il nome del servizio dall'elenco dei servizi disponibili nel menu a discesa Servizio.
    5. Nella sezione Da, seleziona una delle seguenti due opzioni:
      • Tutti i progetti:consente le connessioni dai carichi di lavoro in tutti i progetti.
      • Un altro progetto e Tutti i workload utente consentono le connessioni dai workload in un altro progetto.
    6. Se vuoi trasferire i carichi di lavoro solo da un altro progetto, seleziona un progetto a cui puoi accedere dall'elenco dei progetti nel menu a discesa ID progetto.
    7. Se il target sono tutti i carichi di lavoro utente, seleziona una delle seguenti opzioni nella sezione Protocolli e porte:
      • Consenti tutto:consente le connessioni utilizzando qualsiasi protocollo o porta.
      • Protocolli e porte specificati:consentono le connessioni utilizzando solo i protocolli e le porte specificati nei campi corrispondenti per la regola firewall in entrata.
  4. Nella pagina Dettagli regola firewall, fai clic su Crea.

Ora hai consentito le connessioni da altri workload del progetto. Dopo aver creato la regola firewall, questa è visibile in una tabella nella pagina Firewall.

API

La seguente policy consente ai carichi di lavoro nel progetto PROJECT_1 di consentire le connessioni dai carichi di lavoro nel progetto PROJECT_2, nonché il traffico di ritorno per gli stessi flussi. Applica le norme:

kubectl --kubeconfig API_SERVER apply -f - <<EOF
apiVersion: networking.global.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
  namespace: PROJECT_1
  name: allow-inbound-traffic-from-PROJECT_2
spec:
  policyType: Ingress
  subject:
    subjectType: UserWorkload
  ingress:
  - from:
    - projectSelector:
        projects:
          matchNames:
          - PROJECT_2
EOF

Sostituisci API_SERVER con il percorso kubeconfig del server API. Se non hai ancora generato un file kubeconfig per il server API, consulta la sezione Accedi per i dettagli.

Il comando precedente consente a PROJECT_2 di andare a PROJECT_1, ma non consente le connessioni avviate da PROJECT_1 a PROJECT_2. Per quest'ultimo, è necessaria una policy reciproca nel progetto PROJECT_2. Applica la norma di reciprocità:

kubectl --kubeconfig API_SERVER apply -f - <<EOF
apiVersion: networking.global.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
  namespace: PROJECT_2
  name: allow-inbound-traffic-from-PROJECT_1
spec:
  policyType: Ingress
  subject:
    subjectType: UserWorkload
  ingress:
  - from:
    - projectSelector:
        projects:
          matchNames:
          - PROJECT_1
EOF

Ora le connessioni sono consentite da e verso PROJECT_1 e PROJECT_2.