Autoscaler cluster Kubernetes (opsional) - Perusahaan Wickr

Panduan ini menyediakan dokumentasi untuk Wickr Enterprise. Jika Anda menggunakan AWS Wickr, lihat Panduan Administrasi AWS Wickr atau Panduan Pengguna AWS Wickr.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Autoscaler cluster Kubernetes (opsional)

Kubernetes Cluster Autoscaler adalah nilai konfigurasi opsional untuk instalasi Wickr Enterprise. Ini akan membantu dalam penskalaan grup node Kubernetes Anda jika terjadi peningkatan lalu lintas atau pembatasan sumber daya lainnya yang dapat menyebabkan kinerja buruk.

Instalasi Wickr Enterprise mendukung 3 integrasi penyedia Cloud: AWS, Google Cloud, dan Azure. Setiap penyedia Cloud memiliki persyaratan yang berbeda untuk integrasi ini. Ikuti petunjuk untuk penyedia cloud spesifik Anda di bawah ini untuk mengaktifkan fitur ini.

AWS

Jika Anda tidak menggunakan WickrEnterprise CDK untuk menginstal Lingkungan Wickr Anda AWS, Anda perlu mengambil beberapa langkah tambahan untuk mengaktifkan Cluster Autoscaler.

  1. Tambahkan tag berikut ke Grup Node Anda. Hal ini memungkinkan Cluster Autoscaler untuk secara otomatis menemukan node yang sesuai.

    1. k8s.io/cluster-autoscaler/clusterName = owneddimana clusterName adalah nama dari Cluster Kubernetes Anda

    2. k8s.io/cluster-autoscaler-enabled = true

  2. Tambahkan Akun Layanan Kubernetes, di namespace sistem kube dan kaitkan dengan kebijakan IAM yang memungkinkan tindakan penskalaan otomatis dan ec2. Untuk informasi selengkapnya dan petunjuk terperinci, lihat Mengonfigurasi akun layanan Kubernetes untuk mengambil peran IAM dalam Panduan Pengguna Amazon EKS.

    1. Anda harus menggunakan namespace 'kube-system' saat menyiapkan Akun Layanan

    2. Kebijakan berikut dapat digunakan untuk Akun Layanan:

      JSON
      { "Version": "2012-10-17", "Statement": [ { "Action": [ "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeAutoScalingInstances", "autoscaling:DescribeLaunchConfigurations", "autoscaling:DescribeTags", "autoscaling:SetDesiredCapacity", "autoscaling:TerminateInstanceInAutoScalingGroup", "ec2:DescribeInstanceTypes", "ec2:DescribeInstances", "ec2:DescribeLaunchTemplateVersions" ], "Resource": "*", "Effect": "Allow" } ] }

Di UI Replikasi saat mengonfigurasi Cluster Autoscaler, pilih AWSsebagai penyedia cloud Anda dan berikan nama Akun Layanan yang Anda buat di atas untuk menginstruksikan Cluster Autoscaler agar menggunakan akun layanan tersebut.

Awan Google

Sangat disarankan untuk menggunakan kemampuan Autoscaling bawaan dari GKE untuk Autopilot dan cluster standar. Namun, jika Anda ingin melanjutkan integrasi ini, persyaratan berikut harus dipenuhi sebelum melanjutkan.

Persyaratan:

  1. Grup Instans Terkelola (MIG) harus dibuat dengan Security Scope termasuk minimal 'Baca/Tulis' ke Compute Engine Resources. Ini tidak dapat ditambahkan ke MIG nanti saat ini.

  2. Cluster harus mengaktifkan Federasi Identitas Beban Kerja. Anda dapat mengaktifkan ini di klaster yang ada dengan menjalankan: gcloud container clusters update ${CLUSTER_NAME} --workload-pool=${PROJECT_ID}.svc.id.goog

  3. Akun Layanan Google Cloud Platform (GCP) dengan akses ke peran `Roles/Compute.InstanceAdmin.v1`. Ini dapat dibuat menggunakan instruksi ini:

# 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]"

Biru langit

Azure Kubernetes Service (AKS) menyediakan penskalaan otomatis klaster terintegrasi untuk sebagian besar penerapan dan sangat disarankan untuk menggunakan metode tersebut untuk penskalaan otomatis klaster. Namun, jika persyaratan Anda sedemikian rupa sehingga metode tersebut tidak berfungsi, kami telah menyediakan integrasi Autoscaler Kubernetes Cluster untuk Layanan Azure Kubernetes. Untuk memanfaatkan integrasi ini, Anda perlu mengumpulkan informasi berikut dan memasukkannya ke dalam konfigurasi panel admin KOTS di bawah Cluster Autoscaler setelah memilih Azure sebagai penyedia cloud Anda.

Otentikasi Azure

ID Langganan: ID berlangganan dapat diperoleh melalui portal Azure dengan mengikuti dokumentasi resmi. Untuk informasi selengkapnya, lihat Dapatkan langganan dan penyewa IDs di portal Azure.

Parameter berikut dapat diperoleh dengan membuat Principal Layanan AD menggunakan utilitas baris perintah az.

az ad sp create-for-rbac —role="Contributor" —scopes="/subscriptions/subscription-id" —output json

ID Aplikasi:

Kata Sandi Klien:

ID Penyewa:

Konfigurasi Autoscaler Azure Cluster

Selain persyaratan otentikasi, bidang-bidang berikut diperlukan untuk berfungsinya autoscaler cluster. Perintah untuk mendapatkan informasi ini telah disediakan untuk kenyamanan, namun, mereka mungkin memerlukan beberapa modifikasi tergantung pada konfigurasi AKS spesifik Anda.

Grup Sumber Daya Node Terkelola Azure: Nilai ini adalah Grup Sumber Daya Terkelola yang dibuat oleh Azure saat Anda membuat Kluster AKS dan bukan Grup Sumber Daya yang Anda tetapkan. Untuk mendapatkan nilai ini, Anda memerlukan CLUSTER_NAME dan RESOURCE_GROUP dari saat Anda membuat cluster. Setelah Anda memiliki nilai-nilai tersebut, Anda dapat memperoleh ini dengan menjalankan:

az aks show —resource-group ${RESOURCE_GROUP} —name ${CLUSTER_NAME} —query nodeResourceGroup -o tsv

Application Node Pool Nama VMSS: Ini adalah nama Virtual Machine Scaling Set (VMSS) yang terkait dengan AKS Nodepool Anda untuk Aplikasi Wickr. Ini adalah sumber daya yang akan ditingkatkan atau turun berdasarkan kebutuhan cluster Anda. Untuk mendapatkan nilai ini, Anda dapat menjalankan perintah az berikut:

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 Nama VMSS Pool Node (opsional): Ini adalah nama VMSS yang terkait dengan Nodepool panggilan Anda jika Anda memilikinya. Untuk mendapatkan nilai ini, Anda dapat menjalankan versi modifikasi dari perintah untuk Application Node Pool VMSS Name mengganti nilai CLUSTER_NODEPOOL_NAME untuk nama nodepool untuk nodepool panggilan Anda.