Alibaba Cloud ACS 入門:プライベートイメージをシークレットレスで管理する方法
1. 概要
aliyun-acr-credential-helperを使って、パスワードなしでACRからイメージをプルする方法
Kubernetes環境でプライベートなコンテナイメージを安全かつ効率的にデプロイするには、認証情報の管理が重要です。
Alibaba Cloudでは、aliyun-acr-credential-helperコンポーネントを利用することで、シークレットを明示的に設定せずに、ACRからイメージをプルすることが可能です。
2. aliyun-acr-credential-helperとは?
aliyun-acr-credential-helperは、Alibaba Cloud Container Registry(ACR)と k8sマネージドサービスのACKもしくはACS間の認証を簡素化するコンポーネントです。(このブログはACS前提です。)
このコンポーネントを使用することで、従来必要だったシークレットの設定を省略し、より安全かつシームレスにイメージのプルが可能になります。
3. 設定手順
ステップ1:ACSコンソールで「aliyun-acr-credential-helper」をインストール
1.ACSコンソールにログイン
2.クラスター一覧からクラスター名をクリックして、詳細画面に遷移
3.左側のナビゲーションメニューから「Add-ons」を選択
4.検索欄に「acr」を入力
5.「セキュリティ」タブで「aliyun-acr-credential-helper(マネージド)」を見つけ、「インストール」をクリック
6.表示される設定画面で、「add」をクリック
7.以下のパラメータを入力
- AcrInstanceInfo:
- instanceID: ACRのインスタンスID(例: cri-xxxxx)
- regionID: インスタンスのリージョンID(例: ap-northeast-1)
- domains: 接続用のドメイン名(例: <インスタンス名>-registry-vpc.ap-northeast-1.cr.aliyuncs.com)
- watchNamespace: シークレットレスでイメージをプルする対象のネームスペース(例: default、all)
- serviceAccount: 使用するサービスアカウント名(例: default、*)
※クロスアカウントで利用する場合にはassumeRoleARNを入力する必要があります。今回は同じアカウントですので省略します。
8.設定が完了したら、「OK」をクリックしてインストールを開始
ステップ2:ACRコンソールでVPCアクセスを設定
1.Container Registryコンソールにログイン
2.対象のインスタンスを選択し、「リポジトリ」>「アクセス制御」を開く
3.「VPCアクセスを追加」をクリックし、以下の情報を入力:
- VPC ID: ACSクラスターが属するVPCのID
- VSwitch: 対応するVSwitchを選択
4.設定を保存し、VPCアクセスの追加を完了
ステップ3:確認とテスト
- Podのデプロイ: 対象のネームスペースとサービスアカウントでPodをデプロイし、ACRからプライベートイメージをプルできることを確認
- ログの確認: 必要に応じて、関連するPodやコンポーネントのログを確認し、エラーがないことを確認
4.まとめ
aliyun-acr-credential-helperを利用することで、Kubernetes環境でのイメージプル時の認証管理が簡素化され、セキュリティと運用効率が向上します。特に、シークレットレスを使用することで、運用負荷をさらに軽減できます。
Discussion