Kubernetes Secret を作成および管理して、パスワードや TLS 証明書などの機密データを Pod 設定から分離して保存します。
Secret のタイプ
ACK コンソールでは、次のタイプの Secret を作成できます:
| タイプ | ユースケース |
|---|---|
| Opaque | パスワードや証明書など、任意の機密データを保存します。値は Base64 でエンコードされます。 |
| プライベートリポジトリログイン Secret | プライベート Docker レジストリの認証情報を保存します。 |
| TLS 証明書 | TLS 証明書とそのプライベートキーを保存します。 |
Kubernetes は ServiceAccount タイプもサポートしています。これは、各 Pod の /run/secrets/kubernetes.io/serviceaccount に自動的に作成・マウントされます。 ServiceAccount は、API サーバーと対話するための Pod ID を提供するもので、コンソールで手動で作成するものではありません。
Pod による Secret の使用方法
同じ Namespace 内の Pod は、次の 2 つの方法で Secret を使用できます:
-
ボリュームマウントとして — コンテナ内にファイルとしてマウントされます。
-
環境変数として — Secret の値がコンテナ環境に挿入されます。
Pod spec を更新して、Secret の使用方法を設定します。詳細については、「Kubernetes の Secret に関するドキュメント」をご参照ください。
前提条件
-
ACK マネージドクラスター が作成済みであること。
Secret の作成
-
ACK コンソール にログインします。左側メニューで、[クラスター] をクリックします。
-
[クラスター] ページで、対象クラスターの名前をクリックします。左側メニューで、[設定] > [Secret] を選択します。
-
[Secret] ページで [Namespace] を選択し、[作成] をクリックします。
-
パネルで、Secret を設定します:
パラメーター 説明 [名前] -.Secret の名前。1~253 文字で、小文字、数字、ハイフン ()、ピリオド () のみ使用できます。[タイプ] Secret のタイプ:[Opaque]、[プライベートリポジトリログイン Secret]、または TLS 証明書。 追加のフィールドはタイプによって異なります:
Opaque
パラメーター 説明 [データ値を Base64 でエンコード] (オプション) 選択すると、プレーンテキスト値を入力できます。コンソールが値を自動的に Base64 でエンコードします。 [名前] / [値] [+ 追加] をクリックして、キーと値のペアを作成します。[名前] にキーを入力し、[値] に値を入力します。 Base64 はエンコーディングであり、暗号化ではありません。 Secret にアクセスできるユーザーは誰でも値をデコードできます。 RBAC ポリシーを適用して、Namespace ごとに Secret へのアクセスを制御してください。
プライベートリポジトリログイン Secret
パラメーター 説明 [Docker レジストリ URL] Docker レジストリのアドレス。 [ユーザー名] Docker レジストリのユーザー名。 [パスワード] Docker レジストリのパスワード。 TLS 証明書
パラメーター 説明 [証明書] TLS 証明書。 [キー] TLS プライベートキー。
既存の Secret の管理
[Secret] ページでは、次の操作ができます:
-
詳細の表示 — Secret 名をクリックすると、その情報とデータフィールドが表示されます。
アイコンをクリックすると、プレーンテキストの値が表示されます。 -
編集 — [操作] 列で [編集] をクリックします。
-
削除 — [操作] 列で [削除] をクリックします。
クラスター作成時に自動生成された Secret は削除しないでください。
次のステップ
-
ボリュームまたは環境変数として Pod で Secret を使用できます。詳細については、「Kubernetes の Secret に関するドキュメント」をご参照ください。
-
CLI を使用して Secret を作成できます。詳細については、「Kubernetes の Secret に関するドキュメント」をご参照ください。