Scalare i carichi di lavoro stateless

Scala i carichi di lavoro stateless in base ai requisiti in evoluzione dei carichi di lavoro dei container.

Prima di iniziare

Per eseguire comandi su un cluster Kubernetes, assicurati di disporre delle seguenti risorse:

  1. Individua il nome del cluster Kubernetes o chiedi all'amministratore della piattaforma qual è il nome del cluster.

  2. Accedi e genera il file kubeconfig per il cluster Kubernetes se non ne hai uno.

  3. Utilizza il percorso kubeconfig del cluster Kubernetes per sostituire KUBERNETES_CLUSTER_KUBECONFIG in queste istruzioni.

Per ottenere le autorizzazioni necessarie per scalare i carichi di lavoro stateless, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore spazio dei nomi (namespace-admin) nello spazio dei nomi del progetto.

Scala un deployment

Sfrutta la funzionalità di scalabilità di Kubernetes per scalare in modo appropriato la quantità di pod in esecuzione nel deployment.

Scalare automaticamente i pod di un deployment

Kubernetes offre la scalabilità automatica per eliminare la necessità di aggiornare manualmente la tua implementazione quando la domanda si evolve. Imposta Horizontal Pod Autoscaler nel tuo deployment per abilitare questa funzionalità:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
    -n NAMESPACE \
    autoscale deployment DEPLOYMENT_NAME \
    --cpu-percent=CPU_PERCENT \
    --min=MIN_NUMBER_REPLICAS \
    --max=MAX_NUMBER_REPLICAS

Sostituisci quanto segue:

  • KUBERNETES_CLUSTER_KUBECONFIG: il file kubeconfig per il cluster.

  • NAMESPACE: lo spazio dei nomi del progetto.

  • DEPLOYMENT_NAME: il nome del deployment in cui eseguire la scalabilità automatica.

  • CPU_PERCENT: l'utilizzo medio target della CPU da richiedere, rappresentato come percentuale, in tutti i pod.

  • MIN_NUMBER_REPLICAS: il limite inferiore per il numero di pod che il gestore della scalabilità automatica può eseguire il provisioning.

  • MAX_NUMBER_REPLICAS: il limite superiore per il numero di pod che il gestore della scalabilità automatica può eseguire il provisioning.

Per controllare lo stato attuale dello scalatore automatico orizzontale dei pod appena creato, esegui:

kubectl get hpa

L'output è simile al seguente:

NAME              REFERENCE                          TARGET    MINPODS   MAXPODS   REPLICAS   AGE
DEPLOYMENT_NAME   Deployment/DEPLOYMENT_NAME/scale   0% / 50%  1         10        1          18s

Scalare manualmente i pod di un deployment

Se preferisci scalare manualmente un deployment, esegui:

kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
    -n NAMESPACE \
    scale deployment DEPLOYMENT_NAME \
    --replicas NUMBER_OF_REPLICAS

Sostituisci quanto segue:

  • KUBERNETES_CLUSTER_KUBECONFIG: il file kubeconfig per il cluster.

  • NAMESPACE: lo spazio dei nomi del progetto.

  • DEPLOYMENT_NAME: il nome del deployment in cui eseguire la scalabilità automatica.

  • DEPLOYMENT_NAME: il numero desiderato di oggetti Pod replicati nel deployment.