Configurazioni avanzate cluster privato


Questa pagina descrive alcune configurazioni avanzate utili per la creazione di un cluster privato. Per conoscere la configurazione di base di un cluster privato, consulta Creazione di un cluster privato.

Concessione dell'accesso a internet in uscita da parte dei nodi privati

Per fornire l'accesso a internet in uscita per i nodi privati, ad esempio per eseguire il pull di immagini da un registro esterno, utilizza Cloud NAT per creare e configurare un router Cloud. Cloud NAT consente ai cluster privati di stabilire connessioni in uscita su internet per inviare e ricevere pacchetti.

Il router Cloud consente a tutti i nodi nella regione di utilizzare Cloud NAT per tutti gli intervalli IP principali e alias. Inoltre, alloca automaticamente gli indirizzi IP esterni per il gateway NAT.

Per istruzioni su come creare e configurare un router Cloud, consulta Creare una configurazione Cloud NAT utilizzando il router Cloud nella documentazione di Cloud NAT.

Creazione di un cluster privato in una rete VPC condiviso

Per scoprire come creare un cluster privato in una rete VPC condivisa, consulta Creazione di un cluster privato in un VPC condiviso.

Deployment di un'applicazione container Windows Server in un cluster privato

Per scoprire come eseguire il deployment di un'applicazione di container Windows Server su un cluster privato, consulta la documentazione sul pool di nodi Windows.

Accesso globale all'endpoint privato del piano di controllo

L'endpoint privato del piano di controllo è implementato da un bilanciatore del carico di rete passthrough interno nella rete VPC del piano di controllo. I client interni o connessi tramite tunnel Cloud VPN e collegamenti VLAN per Cloud Interconnect possono accedere ai bilanciatori del carico di rete passthrough interni.

Per impostazione predefinita, questi client devono trovarsi nella stessa regione del bilanciatore del carico.

Quando abiliti l'accesso globale al piano di controllo, il bilanciatore del carico di rete passthrough interno è accessibile a livello globale: le VM client e i sistemi on-premise possono connettersi all'endpoint privato del piano di controllo da qualsiasi regione, in base alla configurazione delle reti autorizzate.

Per ulteriori informazioni sui bilanciatori del carico di rete passthrough interni e sull'accesso globale, consulta Bilanciatori del carico interni e reti connesse.

Abilitazione dell'accesso globale agli endpoint privati del piano di controllo

Per impostazione predefinita, l'accesso globale non è abilitato per l'endpoint privato del piano di controllo quando crei un cluster privato. Per abilitare l'accesso globale al piano di controllo, utilizza i seguenti strumenti in base alla modalità cluster:

  • Per i cluster standard, puoi utilizzare Google Cloud CLI o la console Google Cloud.
  • Per i cluster Autopilot, puoi utilizzare la risorsa Terraform google_container_cluster.

Console

Per creare un nuovo cluster privato con l'accesso globale al piano di controllo abilitato, segui questi passaggi:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Fai clic su Crea e nella sezione Standard o Autopilot, fai clic su Configura.

  3. Inserisci un Nome.

  4. Nel riquadro di navigazione, fai clic su Networking.

  5. Seleziona Cluster privato.

  6. Seleziona la casella di controllo Attiva accesso globale piano di controllo.

  7. Configura gli altri campi come preferisci.

  8. Fai clic su Crea.

Per abilitare l'accesso globale al piano di controllo per un cluster privato esistente, segui questi passaggi:

  1. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  2. Accanto al cluster che vuoi modificare, fai clic su Azioni e poi su Modifica.

  3. Nella sezione Networking, accanto ad Accesso globale piano di controllo, fai clic su Modifica.

  4. Nella finestra di dialogo Modifica accesso globale piano di controllo, seleziona la casella di controllo Attiva accesso globale piano di controllo.

  5. Fai clic su Salva modifiche.

gcloud

Aggiungi il flag --enable-master-global-access per creare un cluster privato con accesso globale all'endpoint privato del piano di controllo abilitato:

gcloud container clusters create CLUSTER_NAME \
    --enable-private-nodes \
    --enable-master-global-access

Puoi anche abilitare l'accesso globale all'endpoint privato del piano di controllo per un cluster privato esistente:

gcloud container clusters update CLUSTER_NAME \
    --enable-master-global-access

Verifica dell'accesso globale agli endpoint privati del piano di controllo

Puoi verificare che l'accesso globale all'endpoint privato del piano di controllo sia abilitato eseguendo il comando seguente e osservando l'output.

gcloud container clusters describe CLUSTER_NAME

L'output include una sezione privateClusterConfig in cui puoi vedere lo stato di masterGlobalAccessConfig.

privateClusterConfig:
  enablePrivateNodes: true
  masterIpv4CidrBlock: 172.16.1.0/28
  peeringName: gke-1921aee31283146cdde5-9bae-9cf1-peer
  privateEndpoint: 172.16.1.2
  publicEndpoint: 34.68.128.12
  masterGlobalAccessConfig:
    enabled: true

Accesso all'endpoint privato del piano di controllo da altre reti

Quando crei un cluster privato GKE e disabiliti l'endpoint pubblico del piano di controllo, devi amministrare il cluster con strumenti come kubectl utilizzando l'endpoint privato del relativo piano di controllo. Puoi accedere all'endpoint privato del piano di controllo del cluster da un'altra rete, tra cui:

  • Una rete on-premise connessa alla rete VPC del cluster tramite tunnel Cloud VPN o collegamenti VLAN per Cloud Interconnect
  • Un'altra rete VPC connessa alla rete VPC del cluster tramite tunnel Cloud VPN

Il seguente diagramma mostra un percorso di routing tra una rete on-premise e i nodi del piano di controllo GKE:

Diagramma che mostra il routing tra il VPC on-premise e il piano di controllo del cluster

Per consentire ai sistemi in un'altra rete di connettersi all'endpoint privato del piano di controllo di un cluster, completa i seguenti requisiti:

  1. Identifica e registra le informazioni di rete pertinenti per il cluster e l'endpoint privato del relativo piano di controllo.

    gcloud container clusters describe CLUSTER_NAME \
       --location=COMPUTE_LOCATION \
       --format="yaml(network, privateClusterConfig)"
    

    Sostituisci quanto segue:

    Dall'output del comando, identifica e registra le seguenti informazioni da utilizzare nei passaggi successivi:

    • network: il nome o l'URI della rete VPC del cluster.
    • privateEndpoint: l'indirizzo IPv4 dell'endpoint privato del piano di controllo o dell'intervallo CIDR IPv4 che lo contiene (masterIpv4CidrBlock).
    • peeringName: il nome della connessione di peering di rete VPC utilizzata per connettere la rete VPC del cluster alla rete VPC del piano di controllo.

    L'output è simile al seguente:

    network: cluster-network
    privateClusterConfig:
      enablePrivateNodes: true
      masterGlobalAccessConfig:
        enabled: true
      masterIpv4CidrBlock: 172.16.1.0/28
      peeringName: gke-1921aee31283146cdde5-9bae-9cf1-peer
      privateEndpoint: 172.16.1.2
      publicEndpoint: 34.68.128.12
    
  2. Potresti abilitare l'accesso globale agli endpoint privati del piano di controllo per consentire l'ingresso dei pacchetti da qualsiasi regione nella rete VPC del cluster. Se abiliti l'accesso globale agli endpoint privati del piano di controllo, puoi connetterti all'endpoint privato utilizzando i tunnel Cloud VPN o i collegamenti VLAN di Cloud Interconnect in qualsiasi regione, non solo nella regione del cluster.

  3. Crea una route per l'indirizzo IP privateEndpoint o l'intervallo di indirizzi IP masterIpv4CidrBlock nell'altra rete. Poiché l'indirizzo IP dell'endpoint privato del piano di controllo rientra sempre nell'intervallo di indirizzi IPv4 masterIpv4CidrBlock, la creazione di una route per l'indirizzo IP privateEndpoint o per il relativo intervallo di inclusione fornisce un percorso per i pacchetti dall'altra rete all'endpoint privato del piano di controllo se:

    • L'altra rete si connette alla rete VPC del cluster utilizzando i collegamenti VLAN di Cloud Interconnect o i tunnel Cloud VPN che utilizzano route dinamiche (BGP): utilizza un annuncio di route personalizzata del router Cloud. Per ulteriori informazioni, consulta la sezione Pubblicità di intervalli IP personalizzati nella documentazione del router Cloud.

    • L'altra rete si connette alla rete VPC del cluster utilizzando tunnel VPN classica che non utilizzano route dinamiche: devi configurare una route statica nell'altra rete.

  4. Configura la rete VPC del cluster per esportare le relative route personalizzate nella relazione di peering con la rete VPC del piano di controllo. Google Cloud configura sempre la rete VPC del piano di controllo in modo da importare route personalizzate dalla rete VPC del cluster. Questo passaggio fornisce un percorso per i pacchetti dall'endpoint privato del piano di controllo all'altra rete.

    Per abilitare l'esportazione delle route personalizzate dalla rete VPC del cluster, utilizza il seguente comando:

    gcloud compute networks peerings update PEERING_NAME \
        --network=CLUSTER_VPC_NETWORK \
        --export-custom-routes
    

    Sostituisci quanto segue:

    • PEERING_NAME: nome del peering che connette la rete VPC del cluster alla rete VPC del piano di controllo
    • CLUSTER_VPC_NETWORK: il nome o l'URI della rete VPC del cluster

    Quando l'esportazione delle route personalizzate è abilitata per il VPC, la creazione di route che si sovrappongono agli intervalli IP di Google Cloud potrebbe interrompere il cluster.

    Per ulteriori dettagli su come aggiornare lo scambio di route per le connessioni di peering di rete VPC esistenti, consulta Aggiornare la connessione di peering.

    Le route personalizzate nella rete VPC del cluster includono route le cui destinazioni sono intervalli di indirizzi IP in altre reti, ad esempio una rete on-premise. Per assicurarti che queste route diventino effettive come route personalizzate di peering nella rete VPC del piano di controllo, consulta Destinazioni supportate dall'altra rete.

Destinazioni supportate dall'altra rete

Gli intervalli di indirizzi che l'altra rete invia ai router Cloud nella rete VPC del cluster devono rispettare le seguenti condizioni:

  • Sebbene il VPC del tuo cluster possa accettare una route predefinita (0.0.0.0/0), la rete VPC del piano di controllo rifiuta sempre le route predefinite perché ha già una route predefinita locale. Se l'altra rete invia una route predefinita alla tua rete VPC, l'altra rete deve inviare anche le destinazioni specifiche dei sistemi che devono connettersi all'endpoint privato del piano di controllo. Per maggiori dettagli, consulta Ordine di routing.

  • Se la rete VPC del piano di controllo accetta route che sostituiscono in modo efficace una route predefinita, queste interrompono la connettività ai servizi e alle API Google Cloud, interrompendo il piano di controllo del cluster. A titolo di esempio rappresentativo, l'altra rete non deve pubblicizzare route con destinazioni 0.0.0.0/1 e 128.0.0.0/1. Fai riferimento al punto precedente per avere un'alternativa.

Monitora i limiti dei router Cloud, in particolare il numero massimo di destinazioni univoche per le route apprese.

Protezione di un cluster privato con i Controlli di servizio VPC

Puoi proteggere ulteriormente i cluster privati GKE con i Controlli di servizio VPC.

I Controlli di servizio VPC forniscono ulteriore sicurezza per i cluster privati GKE per ridurre il rischio di esfiltrazione di dati. Utilizzando i Controlli di servizio VPC, puoi aggiungere progetti ai perimetri di servizio per proteggere risorse e servizi da richieste che hanno origine al di fuori del perimetro.

Per scoprire di più sui perimetri di servizio, vedi Dettagli e configurazione dei perimetri di servizio.

Se utilizzi Artifact Registry con il tuo cluster privato GKE in un perimetro di servizio Controlli di servizio VPC, devi configurare il routing all'IP virtuale limitato per evitare l'esfiltrazione di dati.