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 nei cluster di Config Controller.

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

Prima di iniziare

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

  1. Configura Config Controller.
  2. Se il cluster Config Controller è in una versione GKE precedente alla 1.27, esegui l'upgrade del cluster alla versione 1.27 o successiva.

Abilita il provisioning automatico dei nodi sui cluster standard

Devi abilitare il provisioning automatico dei nodi per eseguire il deployment dei tuoi carichi di lavoro sui cluster Config Controller. In questo modo, i carichi di lavoro vengono separati dai carichi di lavoro gestiti da Google installati per impostazione predefinita sui cluster Config Controller.

Se utilizzi i cluster Autopilot, non devi abilitare il provisioning automatico dei nodi perché GKE gestisce automaticamente la scalabilità e il provisioning dei nodi.

gcloud

Per abilitare il provisioning automatico dei nodi, esegui il seguente 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, svolgi i passaggi che seguono:

  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 che impedisca al codice non attendibile di influire sul kernel host dei nodi del cluster. Per ulteriori informazioni, consulta Informazioni sulla sandbox GKE.

Puoi eseguire il deployment di un carico di lavoro scrivendo un file manifest del carico di lavoro, quindi eseguendo il seguente comando:

kubectl apply -f WORKLOAD_FILE

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

Verifica che il tuo carico di lavoro sia in esecuzione sui nodi di provisioning automatico:

  1. Recupera l'elenco dei nodi creati per il tuo carico di lavoro:

    kubectl get nodes
  2. Per ispezionare un nodo specifico:

    kubectl get nodes NODE_NAME -o yaml

    Sostituisci NODE_NAME con il nome del nodo da ispezionare.

Limitazioni

  • GKE Sandbox: GKE Sandbox funziona bene con molte applicazioni, ma non con tutte. Per ulteriori informazioni, consulta Limitazioni di GKE Sandbox.
  • Sicurezza del piano di controllo: quando concedi l'autorizzazione per i tuoi carichi di lavoro, utilizza il principio del privilegio minimo per concedere solo le autorizzazioni necessarie. Se il tuo carico di lavoro viene compromesso, può utilizzare autorizzazioni eccessivamente permissive per modificare o eliminare le risorse Kubernetes.
  • Disponibilità del piano di controllo: se i carichi di lavoro causano un aumento del traffico in breve tempo, il piano di controllo del cluster potrebbe non essere disponibile finché il traffico non diminuisce.
  • Ridimensionamento del piano di controllo: GKE ridimensiona automaticamente il piano di controllo in base alle esigenze. Se il tuo carico di lavoro 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 conoscere le quote e i limiti di GKE e non superarli.
  • Accesso alla rete al control plane e ai nodi: Config Controller utilizza i nodi privati con le reti autorizzate master abilitate, l'endpoint privato abilitato e l'accesso pubblico disabilitato. Per ulteriori informazioni, consulta Sicurezza di rete di GKE.

Passaggi successivi