Enterprise Distributed Application Service(EDAS)で Kubernetes クラスタを使用する場合は、パスワードや証明書などの機密情報を保存するためにシークレットを使用することをお勧めします。このトピックでは、シークレットの管理方法について説明します。
前提条件
コンテナサービス Kubernetes 版(ACK)コンソールで Kubernetes クラスタが作成されている。
Enterprise Distributed Application Service(EDAS)で ACK クラスタを使用するには、コンテナサービス Kubernetes 版(ACK) コンソールでマネージド Kubernetes クラスタまたは専用 Kubernetes クラスタを作成します。詳細については、以下のトピックをご参照ください。
EDAS でサーバーレス Kubernetes クラスタを使用するには、コンテナサービス Kubernetes 版(ACK) コンソールでサーバーレス Kubernetes クラスタを作成します。詳細については、「ACK Serverless クラスタの作成」をご参照ください。
作成された Kubernetes クラスタが EDAS にインポートされている。詳細については、「EDAS コンソールへの Kubernetes クラスタのインポート」をご参照ください。
背景情報
パスワードや証明書など、機密にしておく必要のある機密情報を保存するために、シークレットを使用できます。アプリケーションの作成時またはデプロイ時に、シークレットをコンテナに渡すことができます。シークレットを変更した場合、変更は関連アプリケーションを再デプロイした後に有効になります。
以下のシナリオでシークレットを使用できます。
コンテナの環境変数を設定するためにシークレットを使用する。詳細については、「環境変数の設定」をご参照ください。
コンテナのディレクトリにシークレットをファイルとしてマウントする。詳細については、「設定のマウント」をご参照ください。
HTTPS 証明書情報をシークレットに保存し、そのシークレットを使用してアプリケーションの Ingress を設定する。詳細については、「アプリケーションの NGINX Ingress の作成」をご参照ください。
シークレットの作成
にログインします。
左側のナビゲーションペインで、 を選択します。
[シークレット] ページで、上部のナビゲーションバーでリージョンを選択します。
[シークレット] ページで、[シークレットの作成] をクリックします。
[シークレットの作成] パネルで、必要に応じてパラメータを設定し、[はい] をクリックします。

パラメータ
説明
シークレット辞書名
シークレットの名前。名前には、小文字、ハイフン(-)、数字を含めることができます。名前は文字で始まり、ハイフン(-)で終わることはできません。
クラスタ名
シークレットを作成する Kubernetes クラスタ。ドロップダウンリストから Kubernetes クラスタを選択します。
K8s 名前空間
クラスタの Kubernetes 名前空間。内部システムオブジェクトは、論理的に分離されたプロジェクト、グループ、またはユーザーグループを形成するために、異なる Kubernetes 名前空間に割り当てられます。これにより、異なるグループを個別に管理しながら、クラスタ全体のリソースを共有できます。有効な値:
default:デフォルトの Kubernetes 名前空間。オブジェクトに Kubernetes 名前空間が指定されていない場合は、デフォルトの Kubernetes 名前空間が使用されます。
kube-system:システムによって作成されたオブジェクトの Kubernetes 名前空間。
kube-public:自動的に作成され、認証されていないユーザーを含むすべてのユーザーが読み取ることができる Kubernetes 名前空間。
タイプ
シークレットのタイプ。有効な値:Opaque および TLS 証明書。
Opaque:シークレットはカスタム情報を保存するために使用されます。Opaque を選択すると、[base64 エンコードデータ] チェックボックスが表示されます。
バイナリデータから変換された Base64 エンコードデータをアップロードする場合は、[base64 エンコードデータ] チェックボックスをオンにします。この場合、シークレットに Base64 エンコードデータを入力する必要があります。EDAS は入力したデータをエンコードしません。
TLS 証明書:シークレットは、Transport Layer Security(TLS)証明書と関連するキーを保存するために使用されます。このタイプのシークレットは、一般的にアプリケーションの Ingress を設定するために使用されます。EDAS では、Ingress は外部 HTTPS リクエストを内部サービスにルーティングするために使用されるルーティング規則のコレクションです。
Opaque
[タイプ] パラメータを Opaque に設定し、[追加] をクリックすると、次のパラメータが表示されます。
マッピングパラメータ:
キー:機密情報のキー。キーには、文字、数字、ハイフン(-)、アンダースコア(_)、ピリオド(.)を含めることができます。
値:機密情報の値。
または、[構成のインポート] をクリックし、オプションを選択してオンプレミス構成ファイルをインポートできます。ファイルサイズは最大 1,024 KB で、
JSON、YAML、または .properties形式である必要があります。バイナリデータから変換された Base64 エンコードデータをアップロードする場合は、[base64 エンコードデータ] チェックボックスをオンにします。この場合、シークレットに Base64 エンコードデータを入力する必要があります。EDAS は入力したデータをエンコードしません。
TLS 証明書
[タイプ] パラメータを TLS 証明書 に設定すると、自己署名証明書を作成するか、TLS 証明書のキーを手動で指定できます。
TLS 証明書のキーを手動で指定するには、[証明書] パラメータを設定して公開キーを指定し、[キー] パラメータを設定して秘密キーを指定します。
自己署名証明書を作成するには、[自己署名証明書の作成] をクリックし、ドメイン、キーの長さ、証明書の開始時刻、証明書の有効期限 パラメータを設定します。
シークレットの表示
にログインします。
左側のナビゲーションペインで、 を選択します。
[シークレット] ページで、上部のナビゲーションバーでリージョンを選択します。
[シークレット] ページで、表示するシークレットを見つけ、[詳細] をクリックします。
[シークレット辞書名]、[クラスタ名]、[クラスタ ID]、または [k8s 名前空間] パラメータで必要なシークレットを検索できます。
シークレットの詳細ページで、シークレットの基本情報とシークレットに含まれるキーと値のペアデータを表示します。
シークレットに TLS 証明書に関する情報が保存されている場合は、証明書に関連付けられたドメイン名、証明書のステータス、証明書を発行したサービスプロバイダーなど、証明書の詳細もページで表示できます。
シークレットの変更
にログインします。
左側のナビゲーションペインで、 を選択します。
[シークレット] ページで、上部のナビゲーションバーでリージョンを選択します。
[シークレット] ページで、変更するシークレットを見つけ、[編集] をクリックします。
[シークレット辞書名]、[クラスタ名]、[クラスタ ID]、または [k8s 名前空間] パラメータで必要なシークレットを検索できます。
編集パネルで、要件に基づいてシークレットのキーと値を変更し、[はい] をクリックします。
説明シークレットがアプリケーションで使用されている場合は、シークレットを変更した後にアプリケーションを再デプロイします。そうしないと、シークレットの変更はアプリケーションに反映されません。
シークレットに関連付けられた Ingress の表示
にログインします。
左側のナビゲーションペインで、 を選択します。
[シークレット] ページで、上部のナビゲーションバーでリージョンを選択します。
[シークレット] ページで、必要なシークレットを見つけ、[関連アプリの表示] をクリックします。
[シークレット辞書名]、[クラスタ名]、[クラスタ ID]、または [k8s 名前空間] パラメータで必要なシークレットを検索できます。
表示されたページで、シークレットに関連付けられた Ingress を表示します。Ingress の名前をクリックして詳細を表示します。
シークレットの削除
にログインします。
左側のナビゲーションペインで、 を選択します。
[シークレット] ページで、上部のナビゲーションバーでリージョンを選択します。
[シークレット] ページで、削除するシークレットを見つけ、[削除] をクリックします。
[シークレット辞書名]、[クラスタ名]、[クラスタ ID]、または [k8s 名前空間] パラメータで必要なシークレットを検索できます。
表示されるメッセージで、[はい] をクリックします。
説明シークレットがアプリケーションで使用されている場合は、シークレットをアプリケーションから関連付けを解除した後に削除することをお勧めします。