このトピックでは、Kubernetes クラスターで Secret を管理する方法について説明します。
前提条件
Container Service for Kubernetes (ACK) クラスターが作成されていること。詳細については、「ACK マネージドクラスターの作成」をご参照ください。
背景情報
Kubernetes クラスターでは、パスワードや証明書などの機密情報を保存するために Secret を使用することを推奨します。
Secret ディクショナリには、次のタイプがあります:
サービスアカウント:サービスアカウントは Kubernetes によって自動的に作成され、Pod の /run/secrets/kubernetes.io/serviceaccount ディレクトリに自動的にマウントされます。サービスアカウントは、Pod が API サーバーと対話するための ID を提供します。
Opaque:このタイプの Secret は Base64 でエンコードされ、パスワードや証明書などの機密情報の保存に使用されます。
デフォルトでは、ACK コンソールで作成できるのは Opaque タイプの Secret のみです。Opaque Secret はマップ型のデータを格納するため、値は Base64 でエンコードする必要があります。ACK コンソールでは、数回のクリックで Secret を作成でき、プレーンテキストは自動的に Base64 でエンコードされます。
また、CLI を使用して Secret を作成することもできます。
Secret の作成
ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
クラスター ページで、対象のクラスター名をクリックします。左側のナビゲーションウィンドウで、 を選択します。
シークレット ページで、名前空間 を選択します。右上隅の 作成する をクリックし、表示されるパネルで新しい Secret を設定します。
パラメーター
説明
名前
Secret の名前を入力します。名前は 1~253 文字で、小文字、数字、ハイフン (-)、ピリオド (.) のみ使用できます。
タイプ
これには、Opaque、プライベートイメージリポジトリのログインキー、TLS 証明書 が含まれます。
Opaque
[タイプ] を [Opaque] に設定した場合は、次のパラメーターを設定します:
オプション: プレーンテキストの Secret データを入力するには、Base64 を使用してデータ値のエンコード を選択します。
Secret データを設定します。+追加 をクリックします。名前 と 値 のテキストボックスに、Secret のキーと値を入力します。
プライベートリポジトリのログイン Secret
[タイプ] を [プライベートイメージリポジトリのログインキー] に設定した場合は、次のパラメーターを設定します:
Docker レジストリ URL:Secret が保存されている Docker レジストリのアドレスを入力します。
ユーザー名:Docker レジストリへのログインに使用するユーザー名を入力します。
パスワード:Docker レジストリへのログインに使用するパスワードを入力します。
TLS 証明書
[タイプ] を [TLS 証明書] に設定した場合は、次のパラメーターを設定します:
証明書:TLS 証明書を入力します。
キー:TLS 証明書のキーを入力します。
関連操作
Secret の作成後、シークレット ページで次の操作を実行できます:
Secret の名前をクリックして、Secret の基本情報と詳細を表示します。
説明
アイコンをクリックすると、値をプレーンテキストで表示できます。アクション 列で 編集 をクリックして Secret を変更します。
アクション 列で 削除 をクリックして、不要な Secret を削除します。
重要クラスターの作成時に生成された Secret は削除しないでください。