In diesem Dokument wird beschrieben, wie Sie vorhandene zustandslose Arbeitslasten skalieren, die in einem GDC-Kubernetes-Cluster (Google Distributed Cloud) mit Air Gap ausgeführt werden. Sie müssen die Pods skalieren, die in Ihren zustandslosen Arbeitslasten ausgeführt werden, wenn sich die Anforderungen an die Containerarbeitslast ändern.
Dieses Dokument richtet sich an Entwickler in der Gruppe der Anwendungsoperatoren, die für die Verwaltung von Anwendungsarbeitslasten für ihre Organisation verantwortlich sind. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap.
Hinweis
Um die Aufgaben in diesem Dokument auszuführen, müssen Sie die erforderlichen Berechtigungen anfordern und Ihre Umgebung vorbereiten.
IAM-Rollen anfordern
Sie benötigen bestimmte Rollen, um die Berechtigungen zu erhalten, die zum Skalieren zustandsloser Arbeitslasten erforderlich sind. Die erforderlichen Rollen hängen davon ab, ob Sie in einem freigegebenen Cluster mit Organisationsbereich oder in einem Standardcluster mit Projektbereich arbeiten. Weitere Informationen finden Sie unter Kubernetes-Clusterkonfigurationen.
Rollen für freigegebene Cluster
Wenn Sie Arbeitslasten in einem freigegebenen Cluster erstellen, löschen, bearbeiten oder ansehen möchten, bitten Sie Ihren Projekt-IAM-Administrator, Ihnen die Rolle Namespace-Administrator (namespace-admin) zuzuweisen. Diese Rolle ist an Ihren Projekt-Namespace gebunden.
Rollen für Standardcluster
Wenn Sie Arbeitslasten in einem Standardcluster erstellen, löschen, bearbeiten oder ansehen möchten, bitten Sie Ihren Projekt-IAM-Administrator, Ihnen die Rolle Cluster Developer (cluster-developer) zuzuweisen. Diese Rolle ist an Ihren Projekt-Namespace gebunden.
Umgebung vorbereiten
Wenn Sie Befehle für einen Kubernetes-Cluster über die API ausführen möchten, benötigen Sie die folgenden Ressourcen:
Suchen Sie den Namen des Kubernetes-Clusters oder fragen Sie ein Mitglied der Gruppe der Plattformadministratoren nach dem Clusternamen.
Melden Sie sich an und generieren Sie die kubeconfig-Datei für den Kubernetes-Cluster.
Ersetzen Sie in dieser Anleitung
KUBERNETES_CLUSTER_KUBECONFIGdurch den kubeconfig-Pfad des Kubernetes-Clusters.
Deployment skalieren
Verwenden Sie die Skalierungsfunktion von Kubernetes, um die Anzahl der Pods in Ihrem Deployment entsprechend zu skalieren.
Pods eines Deployments automatisch skalieren
Kubernetes bietet Autoscaling, sodass Sie Ihr Deployment nicht manuell aktualisieren müssen, wenn sich die Nachfrage ändert. Führen Sie die folgenden Schritte aus, um die Pods Ihres Deployments automatisch zu skalieren:
Damit der horizontale Pod-Autoscaler den CPU Prozentsatz richtig messen kann, legen Sie die CPU-Ressourcenanfrage für Ihr Deployment fest.
Legen Sie den horizontalen Pod-Autoscaler in Ihrem Deployment fest:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ -n NAMESPACE \ autoscale deployment DEPLOYMENT_NAME \ --cpu-percent=CPU_PERCENT \ --min=MIN_NUMBER_REPLICAS \ --max=MAX_NUMBER_REPLICASErsetzen Sie Folgendes:
KUBERNETES_CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Cluster.NAMESPACE: der Namespace. Bei freigegebenen Clustern muss dies ein Projekt-Namespace sein. Bei Standardclustern kann es ein beliebiger Namespace sein.DEPLOYMENT_NAME: der Name des Deployments, das automatisch skaliert werden 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 Autoscaler bereitgestellt werden können.MAX_NUMBER_REPLICAS: das obere Limit für die Anzahl der Pods, die vom Autoscaler bereitgestellt werden können.
Prüfen Sie den aktuellen Status des horizontalen Pod-Autoscalers:
kubectl get hpaDie 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 manuell skalieren möchten, führen Sie Folgendes 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 Namespace. Bei freigegebenen Clustern muss dies ein Projekt-Namespace sein. Bei Standardclustern kann es ein beliebiger Namespace sein.DEPLOYMENT_NAME: der Name des Deployments, das automatisch skaliert werden soll.DEPLOYMENT_NAME: die Anzahl der repliziertenPod-Objekte im Deployment.