

このガイドでは、Wickr Enterprise のドキュメントを提供します。AWS Wickr を使用している場合は、[「AWS Wickr 管理ガイド](https://docs.aws.amazon.com/wickr/latest/adminguide/what-is-wickr.html)」または[「AWS Wickr ユーザーガイド](https://docs.aws.amazon.com/wickr/latest/userguide/what-is-wickr.html)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Kubernetes クラスターオートスケーラー (オプション)
<a name="kubernetes-cluster-autoscaler"></a>

Kubernetes Cluster Autoscaler は、Wickr Enterprise インストールのオプション設定値です。これにより、トラフィックの増加やその他のリソース制限によりパフォーマンスが低下する可能性がある場合に、Kubernetes ノードグループのスケーリングに役立ちます。

Wickr Enterprise のインストールでは、、Google Cloud AWS、Azure の 3 つのクラウドプロバイダー統合がサポートされています。**この統合には、クラウドプロバイダーごとに異なる要件があります。**この機能を有効にするには、以下の特定のクラウドプロバイダーの指示に従ってください。

## AWS
<a name="aws"></a>

WickrEnterpriseCDK を使用して Wickr 環境をインストールしなかった場合は AWS、Cluster Autoscaler を有効にするための追加のステップを実行する必要があります。

1. ノードグループに次のタグを追加します。これにより、Cluster Autoscaler は適切なノードを自動検出できます。

   1. `k8s.io/cluster-autoscaler/clusterName = owned` ここで、**clusterName** は Kubernetes クラスターの名前です。

   1. `k8s.io/cluster-autoscaler-enabled = true`

1. Kubernetes サービスアカウントを kube-system 名前空間に追加し、自動スケーリングと ec2 アクションを許可する IAM ポリシーに関連付けます。詳細と詳細な手順については、*「Amazon EKS ユーザーガイド*[」の「IAM ロールを引き受けるように Kubernetes サービスアカウント](https://docs.aws.amazon.com/eks/latest/userguide/associate-service-account-role.html)を設定する」を参照してください。

   1. サービスアカウントを設定するときは、「kube-system」名前空間を使用する必要があります。

   1. サービスアカウントには、次のポリシーを使用できます。

------
#### [ 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"
              }
          ]
      }
      ```

------

クラスターオートスケーラーを設定するときにレプリケートされた UI で、クラウドプロバイダー**AWS**として を選択し、上記で作成したサービスアカウントの名前を指定して、そのサービスアカウントを使用するようにクラスターオートスケーラーに指示します。

## Google クラウド
<a name="google-cloud"></a>

Autopilot クラスターと標準クラスターの両方で、GKE の組み込み Autoscaling 機能を使用することを強くお勧めします。ただし、この統合を続行する場合は、続行する前に次の要件を満たす必要があります。

**要件:**

1. マネージドインスタンスグループ (MIG) は、コンピューティングエンジンリソースに対する少なくとも「読み取り/書き込み」を含むセキュリティスコープで作成する必要があります。これは、後で MIG に追加することはできません。

1. クラスターでは、ワークロード ID フェデレーションが有効になっている必要があります。これを既存のクラスターで有効にするには、以下を実行します。 `gcloud container clusters update ${CLUSTER_NAME} --workload-pool=${PROJECT_ID}.svc.id.goog`

1.  ロール「roles/compute.instanceAdmin.v1`. これは、以下の手順を使用して作成できます。

```
# 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
<a name="azure"></a>

Azure Kubernetes Service (AKS) では、ほとんどのデプロイでクラスターの自動スケーリングが統合されているため、これらのメソッドをクラスターの自動スケーリングに使用することを強くお勧めします。ただし、これらのメソッドが機能しないような要件がある場合は、Azure Kubernetes Service 用の Kubernetes クラスターオートスケーラー統合を提供しています。この統合を利用するには、クラウドプロバイダーとして **Azure** を選択した後、次の情報を収集し、**Cluster Autoscaler** の下の KOTS 管理パネルの設定に配置する必要があります。

**Azure 認証**

**サブスクリプション ID**: サブスクリプション ID は、公式ドキュメントに従って Azure ポータルから取得できます。詳細については、[Azure ポータルの「サブスクリプションとテナント IDs](https://learn.microsoft.com/en-us/azure/azure-portal/get-subscription-tenant-id)」を参照してください。

次のパラメータは、az コマンドラインユーティリティを使用して AD サービスプリンシパルを作成することで取得できます。

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

アプリ ID:

クライアントパスワード:

テナント ID:

**Azure Cluster Autoscaler の設定**

クラスターオートスケーラーを適切に機能させるには、認証要件に加えて、次のフィールドが必要です。この情報を取得するためのコマンドは便宜上提供されていますが、特定の AKS 設定によってはいくつかの変更が必要になる場合があります。

**Azure マネージドノードリソースグループ**: この値は、定義したリソースグループではなく、AKS クラスターを確立したときに Azure によって作成されたマネージドリソースグループです。この値を取得するには、クラスターの作成時に から CLUSTER\_NAME と RESOURCE\_GROUP が必要です。これらの値を取得したら、以下を実行してこれを取得できます。

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

**アプリケーションノードプール VMSS 名**: これは、Wickr アプリケーションの AKS ノードプールに関連付けられた仮想マシンスケーリングセット (VMSS) の名前です。これは、クラスターのニーズに基づいてスケールアップまたはスケールダウンするリソースです。この値を取得するには、次の **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元ノードプール VMSS 名 (オプション)**: 呼び出し元ノードプールに関連付けられている VMSS がある場合は、その VMSS の名前です。この値を取得するには、呼び出し元のノードプールのノードプールの名前の CLUSTER\_NODEPOOL\_NAME 値を切り替えて、Application Node Pool VMSS Name の コマンドの修正バージョンを実行できます。