Application Load Balancer (ALB) Ingressコントローラーは、強力なIngressトラフィック管理機能を提供します。 ALB Ingressコントローラーは、container Service for Kubernetes (ACK) などのコンテナーサービスや自己管理型Kubernetesクラスターで使用できます。 ALB Ingressコントローラーを使用してトラフィックを管理する前に、セルフマネージドKubernetesクラスターにALB Ingressコントローラーの使用を許可する必要があります。
ステップ1: RAMユーザーの作成
Alibaba Cloudアカウントを使用して、Resource Access Management (RAM) コンソールにログインします。
左側のナビゲーションウィンドウで、[ID] > [ユーザー] を選択します。 表示されるページで、[ユーザーの作成] をクリックします。
[ユーザーの作成] ページで、[ログイン名] および [表示名] パラメーターを設定し、[OpenAPI Access] を選択し、[OK] をクリックします。
[ユーザーの作成] ページで、RAMユーザーのAccessKey IDとAccessKey secretをコピーします。
手順2: RAMポリシーを作成し、RAMユーザーにポリシーをアタッチする
ALB Ingressコントローラーを使用するために必要な権限を提供するポリシーを作成します。
RAMコンソールの左側のナビゲーションウィンドウで、[権限] > [ポリシー] を選択します。 ページの右側で、[ポリシーの作成] をクリックします。
[JSON] タブをクリックし、次のコンテンツをコピーしてエディターに貼り付け、[次へ] をクリックしてポリシー情報を編集します。
[基本情報] セクションで [名前] を設定し、[OK] をクリックします。
ポリシーをRAMユーザーにアタッチして、RAMユーザーにALB Ingressコントローラーの使用を許可します。
左側のナビゲーションウィンドウで、[ID] > [ユーザー] を選択します。
[ユーザー] ページで、作成したRAMユーザーを見つけ、[操作] 列の [権限の追加] をクリックします。
[権限の追加] パネルで、[カスタムポリシー] をクリックし、ポリシーを選択し、他のパラメーターのデフォルト設定を維持して、[OK] をクリックします。
手順3: 自己管理クラスターでAccessKey IDとAccessKey secretを設定する
Base64を使用してAccessKey IDとAccessKeyシークレットをエンコードし、エンコードされたAccessKeyペアを取得します。
次のコマンドを実行して、Base64-encodedのAccessKey IDとAccessKeyシークレットをload-balancer-config ConfigMapに追加し、ConfigMapを保存します。
vim <load-balancer-config ConfigMap file name>
次のコードブロックは、load-balancer-config ConfigMapの例を示しています。
apiVersion: v1 kind: ConfigMap metadata: name: load-balancer-config namespace: kube-system data: cloud-config.conf: |- { "Global": { "AccessKeyID": "VndV***", # Specify the Base64-encoded AccessKey ID. "AccessKeySecret": "UWU0NnUyTFdhcG***" # Specify the Base64-encoded AccessKey secret. } }
次のコマンドを実行して、load-balancer-config ConfigMapをデプロイします。
kubectl apply -f <load-balancer-config ConfigMap file name>
設定を有効にするには、load-balancer-controllerのポッドを再起動します。
次のコマンドを実行して、load-balancer-controllerのポッドを照会します。
kubectl get pod -n kube-system|grep load-balancer-controller
次のコマンドを実行して、load-balancer-controllerのポッドを削除します。
kubectl delete pod -n kube-system load-balancer-controller-***
期待される出力:
pod load-balancer-controller-*** deleted
次のコマンドを実行して、load-balancer-controller用に再作成されたポッドのステータスを照会します。
kubectl get pod -n kube-system|grep load-balancer-controller
期待される出力:
load-balancer-controller-0o9s*** 1/1 Running 0 10s
関連ドキュメント
セルフマネージドKubernetesクラスターでALB Ingressコントローラーを使用する方法の詳細については、以下のトピックを参照してください。