ワークロードをバックエンドデータベースサービスに接続したり、クライアントリクエストを認証したりする場合、ユーザー名、パスワード、証明書などの機密性の高い構成情報を保存する必要があります。Alibaba Cloud Container Compute Service (ACS) クラスターでシークレットを使用して、この機密情報を管理し、その公開を防ぐことができます。このトピックでは、ACS クラスターでシークレットを作成、編集、削除する方法について説明します。
前提条件
ACS クラスターが作成されていること。詳細については、「ACS クラスターの作成」をご参照ください。
背景情報
シークレットは次のタイプに分類されます。
Service Account: Kubernetes API にアクセスするために使用されるシークレット。Kubernetes はこのシークレットを自動的に作成し、Pod の /run/secrets/kubernetes.io/serviceaccount ディレクトリにマウントします。
Opaque: パスワードや証明書などの機密情報を保存するために使用される Base64 でエンコードされたシークレット。
ACS では、ワンクリックでシークレットを作成できます。この操作により、プレーンテキストデータが自動的に Base64 フォーマットにエンコードされます。コマンドラインから手動でシークレットを作成することもできます。詳細については、「Kubernetes Secret」をご参照ください。
シークレットの作成
ACS コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけて、その ID をクリックします。クラスター詳細ページの左側のナビゲーションウィンドウで、[設定] > [シークレット] を選択します。
[シークレット] ページで、[名前空間] を選択し、右上隅にある [作成] をクリックします。表示されるパネルで、新しいシークレットを構成します。
パラメーター
説明
名前
シークレットの名前を入力します。
タイプ
タイプは [Opaque]、[プライベートイメージリポジトリログオンシークレット]、または [TLS 証明書] にすることができます。
Opaque
[Opaque] にタイプを設定した場合は、次のパラメーターを構成します。
シークレットデータを構成します。[+ 追加] をクリックし、[名前] と [値] のテキストボックスに名前と値を入力します。
オプション: プレーンテキストデータを Base64 フォーマットにエンコードするには、Encode Data Values Using Base64 を選択します。
プライベートイメージリポジトリログオンシークレット
[プライベートイメージリポジトリログオンシークレット] にタイプを設定した場合は、次のパラメーターを構成します。
[イメージリポジトリアドレス]: イメージリポジトリのアドレスを入力します。
[ユーザー名]: イメージリポジトリのユーザー名を入力します。
[パスワード]: イメージリポジトリのパスワードを入力します。
TLS 証明書
[TLS 証明書] にタイプを設定した場合は、次のパラメーターを構成します。
[証明書]: TLS 証明書を入力します。
[キー]: TLS 秘密鍵を入力します。
関連操作
シークレットを作成した後、[シークレット] ページで次の操作を実行できます。
対象のシークレットの名前をクリックして、その基本情報と詳細を表示します。
説明
アイコンをクリックすると、データをプレーンテキストで表示できます。対象のシークレットの [操作] 列にある [編集] をクリックして、その情報を変更します。
不要になったシークレットの [操作] 列にある [削除] をクリックします。
重要kube-systemなどのシステム名前空間で自動的に作成されるシークレットは削除または変更しないでください。これにより、クラスターの安定性とセキュリティが確保されます。
参考情報
ボリュームと環境変数を使用して ACS クラスターでシークレットを使用する方法の詳細については、「Pod でシークレットを使用する」をご参照ください。