Esegui il deployment di carichi di lavoro di terze parti su Config Controller

Questa pagina spiega come eseguire il deployment dei tuoi carichi di lavoro sui cluster Config Controller.

Questa pagina è rivolta agli amministratori IT e agli operatori che gestiscono il ciclo di vita dell'infrastruttura tecnologica sottostante e pianificano la capacità, nonché implementano app e servizi in produzione. Per scoprire di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei contenuti, consulta la pagina Ruoli e attività comuni degli utenti GKE. Google Cloud

Prima di iniziare

Prima di iniziare, assicurati di aver eseguito le seguenti operazioni:

  1. Configura Config Controller.
  2. Se il cluster Config Controller utilizza una versione di GKE precedente alla versione 1.27, esegui l'upgrade del cluster alla versione 1.27 o successive.

Abilita il provisioning automatico dei nodi sui cluster Standard

Per eseguire il deployment dei tuoi workload sui cluster Config Controller, devi abilitare il provisioning automatico dei nodi. Ciò consente la separazione dei workload tra i tuoi workload e quelli gestiti da Google installati per impostazione predefinita sui cluster Config Controller.

Se utilizzi cluster Autopilot, non devi abilitare il provisioning automatico dei nodi perché GKE gestisce automaticamente lo scaling e il provisioning dei nodi.

gcloud

Per abilitare il provisioning automatico dei nodi, esegui questo comando:

gcloud container clusters update CLUSTER_NAME \
    --enable-autoprovisioning \
    --min-cpu MINIMUM_CPU \
    --min-memory MIMIMUM_MEMORY \
    --max-cpu MAXIMUM_CPU \
    --max-memory MAXIMUM_MEMORY \
    --autoprovisioning-scopes=https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring,https://www.googleapis.com/auth/devstorage.read_only

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del cluster Config Controller.
  • MINIMUM_CPU: il numero minimo di core nel cluster.
  • MINIMUM_MEMORY: il numero minimo di gigabyte di memoria nel cluster.
  • MAXIMUM_CPU: il numero massimo di core nel cluster.
  • MAXIMUM_MEMORY: il numero massimo di gigabyte di memoria nel cluster.

Console

Per abilitare il provisioning automatico dei nodi, segui questi passaggi:

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

    Vai a Google Kubernetes Engine

  2. Fai clic sul nome del cluster.

  3. Nella sezione Automazione, in Provisioning automatico dei nodi, fai clic su Modifica.

  4. Seleziona la casella di controllo Abilita provisioning automatico dei nodi.

  5. Imposta l'utilizzo minimo e massimo di CPU e memoria per il cluster.

  6. Fai clic su Salva modifiche.

Per ulteriori informazioni sulla configurazione del provisioning automatico dei nodi, ad esempio l'impostazione dei valori predefiniti, consulta Configurare il provisioning automatico dei nodi.

Esegui il deployment del carico di lavoro

Quando esegui il deployment dei carichi di lavoro, Config Controller attiva automaticamente GKE Sandbox per fornire un ulteriore livello di sicurezza per impedire che codice non attendibile influisca sul kernel host sui nodi del cluster. Per maggiori informazioni, consulta la pagina Informazioni su GKE Sandbox.

Puoi eseguire il deployment di un workload scrivendo un file manifest del workload e poi eseguendo questo comando:

kubectl apply -f WORKLOAD_FILE

Sostituisci WORKLOAD_FILE con il file manifest, ad esempio my-app.yaml.

Verifica che il tuo workload sia in esecuzione sui nodi di cui è stato eseguito il provisioning automatico:

  1. Recupera l'elenco dei nodi creati per il tuo workload:

    kubectl get nodes
  2. Controllare un nodo specifico:

    kubectl get nodes NODE_NAME -o yaml

    Sostituisci NODE_NAME con il nome del nodo che vuoi ispezionare.

Limitazioni

  • GKE Sandbox: GKE Sandbox funziona bene con molte applicazioni, ma non con tutte. Per maggiori informazioni, consulta Limitazioni di GKE Sandbox.
  • Sicurezza del control plane: quando concedi l'autorizzazione per i tuoi carichi di lavoro, utilizza il principio del privilegio minimo per concedere solo le autorizzazioni di cui hai bisogno. Se il tuo workload viene compromesso, può utilizzare autorizzazioni eccessivamente permissive per modificare o eliminare le risorse Kubernetes.
  • Disponibilità del control plane: se i tuoi carichi di lavoro causano un aumento del traffico in un breve periodo di tempo, il control plane del cluster potrebbe non essere disponibile finché il traffico non diminuisce.
  • Ridimensionamento del control plane: GKE ridimensiona automaticamente il control plane in base alle esigenze. Se il tuo workload causa un aumento significativo del carico (ad esempio, l'installazione di migliaia di oggetti CRD), il ridimensionamento automatico di GKE potrebbe non essere in grado di tenere il passo con l'aumento del carico.
  • Quote: quando esegui il deployment dei carichi di lavoro, devi tenere conto delle quote e dei limiti di GKE e non superarli.
  • Accesso di rete al control plane e ai nodi: Config Controller utilizza nodi privati con reti autorizzate master abilitate, endpoint privato abilitato e accesso pubblico disabilitato. Per maggiori informazioni, consulta Sicurezza di rete GKE.

Passaggi successivi