Zustandslose Arbeitslasten skalieren

Skalieren Sie Ihre zustandslosen Arbeitslasten entsprechend den sich ändernden Anforderungen an Containerarbeitslasten.

Hinweise

Wenn Sie Befehle für einen Kubernetes-Cluster ausführen möchten, benötigen Sie die folgenden Ressourcen:

  1. Suchen Sie den Namen des Kubernetes-Clusters oder fragen Sie Ihren Plattformadministrator danach.

  2. Melden Sie sich an und generieren Sie die kubeconfig-Datei für den Kubernetes-Cluster, falls Sie noch keine haben.

  3. Verwenden Sie den kubeconfig-Pfad des Kubernetes-Clusters, um KUBERNETES_CLUSTER_KUBECONFIG in dieser Anleitung zu ersetzen.

Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle „Namespace Admin“ (namespace-admin) in Ihrem Projekt-Namespace zuzuweisen, um die erforderlichen Berechtigungen zum Skalieren zustandsloser Workloads zu erhalten.

Deployment skalieren

Nutzen Sie die Skalierungsfunktionen von Kubernetes, um die Anzahl der in Ihrem Deployment ausgeführten Pods entsprechend zu skalieren.

Pods einer Bereitstellung automatisch skalieren

Kubernetes bietet Autoscaling, sodass Sie Ihre Bereitstellung nicht manuell aktualisieren müssen, wenn sich die Nachfrage ändert. Legen Sie den horizontalen Pod-Autoscaler in Ihrem Deployment fest, um diese Funktion zu aktivieren:

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

Ersetzen Sie Folgendes:

  • KUBERNETES_CLUSTER_KUBECONFIG: Die kubeconfig-Datei für den Cluster.

  • NAMESPACE: der Projekt-Namespace.

  • DEPLOYMENT_NAME: Der Name der Bereitstellung, in der das Autoscaling erfolgen soll.

  • CPU_PERCENT: Die durchschnittliche Ziel-CPU-Auslastung, die als Prozentsatz über alle Pods hinweg angefordert werden soll.

  • MIN_NUMBER_REPLICAS: Das untere Limit für die Anzahl der Pods, die vom Autoscaling bereitgestellt werden können.

  • MAX_NUMBER_REPLICAS: Die Obergrenze für die Anzahl der Pods, die das Autoscaling bereitstellen kann.

Führen Sie Folgendes aus, um den aktuellen Status des neu erstellten horizontalen Pod-Autoscalers zu prüfen:

kubectl get hpa

Die Ausgabe sieht etwa so aus:

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

Pods eines Deployments manuell skalieren

Wenn Sie ein Deployment lieber manuell skalieren möchten, führen Sie folgenden Befehl aus:

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

Ersetzen Sie Folgendes:

  • KUBERNETES_CLUSTER_KUBECONFIG: Die kubeconfig-Datei für den Cluster.

  • NAMESPACE: der Projekt-Namespace.

  • DEPLOYMENT_NAME: Der Name der Bereitstellung, in der das Autoscaling erfolgen soll.

  • DEPLOYMENT_NAME: die gewünschte Anzahl replizierter Pod-Objekte im Deployment.