Dieses Handbuch enthält Dokumentation für Wickr Enterprise. Wenn Sie AWS Wickr verwenden, finden Sie weitere Informationen im AWS Wickr Administration Guide oder im AWS Wickr User Guide.
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Kubernetes-Cluster-Autoscaler (optional)
Kubernetes Cluster Autoscaler ist ein optionaler Konfigurationswert für die Wickr Enterprise-Installation. Er hilft Ihnen bei der Skalierung Ihrer Kubernetes-Knotengruppen im Falle eines erhöhten Datenverkehrs oder anderer Ressourceneinschränkungen, die zu einer schlechten Leistung führen könnten.
Die Wickr Enterprise-Installation unterstützt drei Cloud-Anbieter-Integrationen: Google Cloud AWS und Azure. Jeder Cloud-Anbieter hat unterschiedliche Anforderungen für diese Integration. Bitte folgen Sie den Anweisungen für Ihren spezifischen Cloud-Anbieter unten, um diese Funktion zu aktivieren.
AWS
Wenn Sie das WickrEnterprise CDK nicht zur Installation Ihrer Wickr-Umgebung verwendet haben AWS, müssen Sie einige zusätzliche Schritte ausführen, um den Cluster Autoscaler zu aktivieren.
-
Fügen Sie die folgenden Tags zu Ihren Knotengruppen hinzu. Dadurch kann der Cluster Autoscaler die entsprechenden Knoten automatisch erkennen.
-
k8s.io/cluster-autoscaler/clusterName = owned
wobei ClusterName der Name Ihres Kubernetes-Clusters ist -
k8s.io/cluster-autoscaler-enabled = true
-
-
Fügen Sie ein Kubernetes-Dienstkonto im Kube-System-Namespace hinzu und verknüpfen Sie es mit einer IAM-Richtlinie, die Autoscaling- und EC2-Aktionen ermöglicht. Weitere Informationen und detaillierte Anweisungen finden Sie unter Konfiguration eines Kubernetes-Servicekontos für die Übernahme einer IAM-Rolle im Amazon EKS-Benutzerhandbuch.
-
Bei der Einrichtung des Servicekontos müssen Sie den Namespace „kube-system“ verwenden
-
Die folgende Richtlinie kann für das Dienstkonto verwendet werden:
-
Wählen Sie AWSin der replizierten Benutzeroberfläche bei der Konfiguration des Cluster-Autoscalers Ihren Cloud-Anbieter aus und geben Sie den Namen des Dienstkontos ein, das Sie oben erstellt haben, um den Cluster Autoscaler anzuweisen, dieses Dienstkonto zu verwenden.
Google Cloud
Es wird dringend empfohlen, die integrierten Autoscaling-Funktionen von GKE sowohl für Autopilot- als auch für Standardcluster zu verwenden. Wenn Sie jedoch mit dieser Integration fortfahren möchten, müssen die folgenden Anforderungen erfüllt sein, bevor Sie fortfahren können.
Voraussetzungen:
-
Die Managed Instance Groups (MIG) müssen mit einem Sicherheitsbereich erstellt werden, der mindestens „Lesen/Schreiben“ für Compute Engine-Ressourcen umfasst. Dies kann derzeit nicht zu einem späteren Zeitpunkt zur MIG hinzugefügt werden.
-
Für den Cluster muss Workload Identity Federation aktiviert sein. Sie können dies auf einem vorhandenen Cluster aktivieren, indem Sie Folgendes ausführen:
gcloud container clusters update ${CLUSTER_NAME} --workload-pool=${PROJECT_ID}.svc.id.goog
-
Ein Google Cloud Platform (GCP) -Dienstkonto mit Zugriff auf die Rolle `roles/compute.instanceAdmin.v1`. Dieses kann mit den folgenden Anweisungen erstellt werden:
# Create GCP Service Account gcloud iam service-accounts create k8s-cluster-autoscaler # Add role to GCP Service Account gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member "serviceAccount:k8s-cluster-autoscaler@${PROJECT_ID}.iam.gserviceaccount.com" \ --role "roles/compute.instanceAdmin.v1" # Link GCP Service Account to Kubernetes Service Account gcloud iam service-accounts add-iam-policy-binding k8s-cluster-autoscaler@${PROJECT_ID}.iam.gserviceaccount.com \ --role roles/iam.workloadIdentityUser \ --member "serviceAccount:${PROJECT_ID}.svc.id.goog[kube-system/cluster-autoscaler-gce-cluster-autoscaler]"
Azure
Azure Kubernetes Service (AKS) bietet integrierte Cluster-Autoskalierung für die meisten Bereitstellungen. Es wird dringend empfohlen, diese Methoden für die automatische Clusterskalierung zu verwenden. Wenn Ihre Anforderungen jedoch so sind, dass diese Methoden nicht funktionieren, haben wir eine Kubernetes Cluster Autoscaler-Integration für Azure Kubernetes Service bereitgestellt. Um diese Integration nutzen zu können, müssen Sie die folgenden Informationen sammeln und sie in der Konfiguration des KOTS-Admin-Panels unter Cluster Autoscaler eingeben, nachdem Sie Azure als Ihren Cloud-Anbieter ausgewählt haben.
Azure-Authentifizierung
Abonnement-ID: Die Abonnement-ID kann über das Azure-Portal abgerufen werden, indem Sie der offiziellen Dokumentation folgen. Weitere Informationen finden Sie unter Abonnement und Mandant abrufen IDs im Azure-Portal
Die folgenden Parameter können abgerufen werden, indem ein AD Service Principal mit dem az-Befehlszeilenprogramm erstellt wird.
az ad sp create-for-rbac —role="Contributor" —scopes="/subscriptions/subscription-id" —output json
App-ID:
Kunden-Passwort:
Mandanten-ID:
Konfiguration von Azure Cluster Autoscaler
Zusätzlich zu den Authentifizierungsanforderungen sind die folgenden Felder erforderlich, damit der Cluster-Autoscaler ordnungsgemäß funktioniert. Befehle zum Abrufen dieser Informationen wurden der Einfachheit halber bereitgestellt. Sie können jedoch je nach Ihrer spezifischen AKS-Konfiguration einige Änderungen erfordern.
Azure Managed Node Resource Group: Dieser Wert ist die verwaltete Ressourcengruppe, die von Azure erstellt wurde, als Sie den AKS-Cluster eingerichtet haben, und nicht die Ressourcengruppe, die Sie definiert haben. Um diesen Wert zu erhalten, benötigen Sie CLUSTER_NAME und RESOURCE_GROUP, die bei der Erstellung des Clusters angegeben wurden. Sobald Sie diese Werte haben, können Sie sie abrufen, indem Sie Folgendes ausführen:
az aks show —resource-group ${RESOURCE_GROUP} —name ${CLUSTER_NAME} —query nodeResourceGroup -o tsv
VMSS-Name des Anwendungsknotenpools: Dies ist der Name des Virtual Machine Scaling Sets (VMSS), das Ihrem AKS-Knotenpool für die Wickr-Anwendung zugeordnet ist. Dies ist die Ressource, die je nach den Anforderungen Ihres Clusters nach oben oder unten skaliert wird. Um diesen Wert zu erhalten, können Sie den folgenden az-Befehl ausführen:
CLUSTER_NODEPOOL_NAME="(Your-NodePool-Name)" CLUSTER_RESOURCE_GROUP="(Your-Managed-Node-Resource-Group-As-Defined-Above>)" az vmss list -g ${CLUSTER_RESOURCE_GROUP} --query '[?tags."aks-managed-poolName"==`'''${CLUSTER_NODEPOOL_NAME}'''`].{VMSS_name:name}' -o tsv
ACalling VMSS-Name des Knotenpools (optional): Dies ist der Name des VMSS, der Ihrem aufrufenden Nodepool zugeordnet ist, falls Sie einen haben. Um diesen Wert zu erhalten, können Sie eine modifizierte Version des Befehls für den VMSS-Name des Anwendungsknotenpools ausführen und dabei den Wert CLUSTER_NODEPOOL_NAME für den Namen des Nodepools für Ihren aufrufenden Nodepool ausschalten.