Questa guida fornisce la documentazione per Wickr Enterprise. Se utilizzi AWS Wickr, consulta AWS Wickr Administration Guide o AWS Wickr User Guide.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Autoscaler del cluster Kubernetes (opzionale)
Kubernetes Cluster Autoscaler è un valore di configurazione opzionale per l'installazione di Wickr Enterprise. Aiuterà a scalare i gruppi di nodi Kubernetes in caso di aumento del traffico o di altre restrizioni delle risorse che potrebbero portare a prestazioni scadenti.
L'installazione di Wickr Enterprise supporta 3 integrazioni di provider cloud: AWS Google Cloud e Azure. Ogni provider di servizi cloud ha requisiti diversi per questa integrazione. Segui le istruzioni riportate di seguito per il tuo provider di servizi cloud specifico per abilitare questa funzionalità.
AWS
Se non hai utilizzato il WickrEnterprise CDK per installare il tuo ambiente Wickr AWS, dovrai eseguire alcuni passaggi aggiuntivi per abilitare Cluster Autoscaler.
-
Aggiungi i seguenti tag ai tuoi gruppi di nodi. Ciò consente a Cluster Autoscaler di scoprire automaticamente i nodi appropriati.
-
k8s.io/cluster-autoscaler/clusterName = owned
dove ClusterName è il nome del tuo cluster Kubernetes -
k8s.io/cluster-autoscaler-enabled = true
-
-
Aggiungi un Kubernetes Service Account, nello spazio dei nomi del sistema kube e associalo a una policy IAM che consenta la scalabilità automatica e le azioni ec2. Per ulteriori informazioni e istruzioni dettagliate, consulta Configurazione di un account di servizio Kubernetes per assumere un ruolo IAM nella Amazon EKS User Guide.
-
Dovrai utilizzare lo spazio dei nomi «kube-system» durante la configurazione dell'account di servizio
-
La seguente politica può essere utilizzata per l'account di servizio:
-
Nell'interfaccia utente replicata, durante la configurazione di Cluster Autoscaler, seleziona AWScome provider cloud e fornisci il nome dell'account di servizio creato in precedenza per indicare a Cluster Autoscaler di utilizzare quell'account di servizio.
Google cloud
Si consiglia vivamente di utilizzare le funzionalità di Autoscaling integrate di GKE sia per Autopilot che per i cluster standard. Tuttavia, se si desidera procedere con questa integrazione, è necessario soddisfare i seguenti requisiti prima di procedere.
Requisiti:
-
I Managed Instance Groups (MIG) devono essere creati con Security Scope che includa almeno le risorse di «lettura/scrittura» su Compute Engine. Al momento non può essere aggiunto al MIG in un secondo momento.
-
Il cluster deve avere la Workload Identity Federation abilitata. Puoi abilitarlo su un cluster esistente eseguendo:
gcloud container clusters update ${CLUSTER_NAME} --workload-pool=${PROJECT_ID}.svc.id.goog
-
Un account di servizio Google Cloud Platform (GCP) con accesso al ruolo `roles/compute.InstanceAdmin.v1`. Questo può essere creato utilizzando queste istruzioni:
# 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]"
Azzurro
Azure Kubernetes Service (AKS) offre la scalabilità automatica integrata dei cluster per la maggior parte delle distribuzioni ed è altamente consigliato utilizzare questi metodi per la scalabilità automatica dei cluster. Tuttavia, se le tue esigenze sono tali che tali metodi non funzionano, abbiamo fornito un'integrazione Kubernetes Cluster Autoscaler per il servizio Azure Kubernetes. Per utilizzare questa integrazione dovrai raccogliere le seguenti informazioni e inserirle nella configurazione del pannello di amministrazione KOTS in Cluster Autoscaler dopo aver selezionato Azure come provider di servizi cloud.
Autenticazione di Azure
ID di sottoscrizione: l'ID dell'abbonamento può essere ottenuto tramite il portale di Azure seguendo la documentazione ufficiale. Per altre informazioni, vedi Ottieni sottoscrizione e tenant IDs nel portale di Azure
I seguenti parametri possono essere ottenuti creando un AD Service Principal utilizzando l'utilità della riga di comando az.
az ad sp create-for-rbac —role="Contributor" —scopes="/subscriptions/subscription-id" —output json
ID dell'app:
Password del cliente:
ID inquilino:
Configurazione di Azure Cluster Autoscaler
Oltre ai requisiti di autenticazione, i seguenti campi sono necessari per il corretto funzionamento del cluster autoscaler. I comandi per ottenere queste informazioni sono stati forniti per comodità, tuttavia potrebbero richiedere alcune modifiche a seconda della configurazione AKS specifica.
Azure Managed Node Resource Group: questo valore è il Managed Resource Group creato da Azure al momento della creazione del cluster AKS e non il Resource Group definito. Per ottenere questo valore, sono necessari i valori CLUSTER_NAME e RESOURCE_GROUP utilizzati al momento della creazione del cluster. Una volta ottenuti questi valori, puoi ottenerli eseguendo:
az aks show —resource-group ${RESOURCE_GROUP} —name ${CLUSTER_NAME} —query nodeResourceGroup -o tsv
Nome VMSS dell'Application Node Pool: questo è il nome del Virtual Machine Scaling Set (VMSS) associato all'applicazione AKS Nodepool for the Wickr. Questa è la risorsa che verrà scalata verso l'alto o verso il basso in base alle esigenze del cluster. Per ottenere questo valore puoi eseguire il seguente comando az:
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 Nome VMSS del pool di nodi (opzionale): questo è il nome del VMSS associato al Nodepool chiamante, se ne hai uno. Per ottenere questo valore, puoi eseguire una versione modificata del comando per Application Node Pool VMSS Name sostituendo il valore CLUSTER_NODEPOOL_NAME per il nome del nodepool di nodi per il nodepool chiamante.