Configura i bilanciatori del carico esterni

I bilanciatori del carico esterni (ELB) espongono i servizi al di fuori del progetto da un pool di indirizzi IP assegnati al progetto dal pool di IP esterni delle istanze più grande.

Gli indirizzi IP virtuali (VIP) ELB non sono in conflitto tra le organizzazioni e sono univoci in tutte le organizzazioni. Per questo motivo, devi utilizzare i servizi ELB solo per i servizi a cui i client esterni al progetto devono necessariamente accedere.

I carichi di lavoro in esecuzione all'interno del progetto possono accedere ai servizi ELB a condizione che i carichi di lavoro possano uscire dal progetto. Questo pattern di traffico richiede effettivamente il traffico in uscita dal progetto prima di tornare al servizio interno.

Prima di iniziare

Per configurare i servizi ELB, devi disporre di quanto segue:

  • Essere proprietario del progetto per cui stai configurando il bilanciatore del carico. Per saperne di più, consulta Creare un progetto.
  • Un criterio di ingresso ProjectNetworkPolicy (PNP) personalizzato per consentire il traffico a questo servizio ELB. Per ulteriori informazioni, consulta Configurare PNP per consentire il traffico verso ELB.
  • I ruoli di identità e accesso necessari:

    • Amministratore NetworkPolicy del progetto: ha accesso alla gestione dei criteri di rete del progetto nello spazio dei nomi del progetto. Chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore NetworkPolicy del progetto (project-networkpolicy-admin).
    • Amministratore del bilanciatore del carico: chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore del bilanciatore del carico (load-balancer-admin).

Configura PNP per consentire il traffico verso ELB

Affinché i servizi ELB funzionino, devi configurare e applicare il tuo criterio di ingresso ProjectNetworkPolicy personalizzato per consentire il traffico a questo servizio ELB. Specifica l'indirizzo CIDR esterno per consentire il traffico a questo ELB:

kubectl --kubeconfig MANAGEMENT_API_SERVER apply -f - <<EOF
apiVersion: networking.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
  namespace: PROJECT
  name: allow-inbound-traffic-from-external
spec:
  policyType: Ingress
  subject:
    subjectType: UserWorkload
  ingress:
  - from:
    - ipBlock:
        cidr: CIDR
    ports:
    - protocol: TCP
      port: PORT
EOF

Sostituisci quanto segue:

  • MANAGEMENT_API_SERVER: il percorso kubeconfig del server API Management. Se non hai ancora generato un file kubeconfig per il server API nella zona di destinazione, consulta Accedi per maggiori dettagli.
  • PROJECT: il nome del tuo progetto GDC.
  • CIDR: il CIDR esterno da cui deve essere accessibile l'ELB. Questa policy è necessaria perché il bilanciatore del carico esterno utilizza il ritorno diretto del server (DSR), che conserva l'indirizzo IP esterno di origine e bypassa il bilanciatore del carico sul percorso di ritorno.
  • PORT: la porta di backend sui pod dietro il bilanciatore del carico. Questo valore si trova nel campo .spec.ports[].targetPort del manifest per la risorsa Service.

Crea un bilanciatore del carico esterno

Crea ELB utilizzando tre metodi diversi in GDC:

Puoi scegliere come target i carichi di lavoro dei pod o delle VM utilizzando l'API KRM e gcloud CLI. Puoi scegliere come target solo i workload nel cluster in cui viene creato l'oggetto Service quando utilizzi il servizio Kubernetes direttamente nel cluster Kubernetes.