Application Load Balancer (ALB) Ingressコントローラーは、強力なIngressトラフィック管理機能を提供します。 このトピックでは、ALB Ingressコントローラーを使用してトラフィックを管理する前に、自己管理クラスターにALB Ingressコントローラーの使用を許可する方法について説明します。
手順
ステップ1: RAMユーザーの作成
Alibaba Cloudアカウントを使用して、Resource Access Management (RAM) コンソールにログインします。
左側のナビゲーションウィンドウで、[ID] > [ユーザー] を選択します。 表示されるページで、[ユーザーの作成] をクリックします。
[ユーザーの作成] ページで、[ログイン名] および [表示名] パラメーターを設定し、[永続的なAccessKeyを使用してアクセスする] を選択し、[OK] をクリックします。
[ユーザーの作成] ページで、RAMユーザーのAccessKey IDとAccessKey secretをコピーします。
手順2: RAMポリシーを作成し、RAMユーザーにポリシーをアタッチする
ALB Ingressコントローラーを使用するために必要な権限を提供するポリシーを作成します。
RAMコンソールの左側のナビゲーションウィンドウで、[権限] > [ポリシー] を選択します。 ページの右側で、[ポリシーの作成] をクリックします。
[JSON] タブをクリックし、次のコンテンツをコピーしてエディターに貼り付け、[OK] をクリックします。
[ポリシーの作成] ダイアログボックスで、[名前] を設定し、[OK] をクリックします。
ポリシーをRAMユーザーにアタッチして、RAMユーザーにALB Ingressコントローラーの使用を許可します。
左側のナビゲーションウィンドウで、[ID] > [ユーザー] を選択します。
[ユーザー] ページで、手順1: RAMユーザーの作成で作成したRAMユーザーを見つけ、[操作] 列の [権限の追加] をクリックします。
[権限の付与] パネルの [ポリシー] セクションで、右上隅のドロップダウンリストから [カスタムポリシー] を選択し、ポリシーを選択し、他のパラメーターのデフォルト設定を維持してから、[権限の付与] をクリックします。
閉じるをクリックします。
手順3: 自己管理クラスターでAccessKey IDとAccessKey secretを設定する
Base64を使用して、AccessKey IDとAccessKeyシークレットをエンコードします。
Base64にアクセスし、ページでAccessKey IDを入力し、[Encode] をクリックしてエンコードされたAccessKey IDを取得します。
AccessKeyシークレットを入力し、[Encode] をクリックして、エンコードされた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
関連ドキュメント
チュートリアル: