シークレット (Kubernetes Secrets) は、キーや証明書など、アプリケーションの実行時に機密情報を保存します。シークレットを使用すると、イメージを再構築することなく、デプロイ後に設定を変更できます。
このトピックでは、設定センターから設定情報を動的に取得する方法については説明しません。詳細については、「MSE の Nacos を使用する」または「分散設定の管理 (ACM)」をご参照ください。
機密性のないランタイム環境変数のみを保存する必要がある場合は、「設定項目 (Kubernetes ConfigMaps) の管理と使用」をご参照ください。
シークレットの作成
SAE シークレットで、上部でターゲットリージョンと名前空間を選択し、[作成] をクリックします。 ターゲットアプリケーションが存在する名前空間を選択していることを確認してください。
シークレットのカスタム 名前 を指定します。
タイプ を選択して設定します:
Opaque: パスワードや API キーなど、特定のフォーマットを持たない機密情報をキーと値のペアとして保存します。
キーと値のペア: [データ値を Base64 でエンコード] を有効にするかどうかを選択します。次に、機密情報の 名前 (キー) と 値 を入力します。[追加] をクリックして、複数のキーと値のペアを定義します。
非公開イメージリポジトリのログインキー: 非公開コンテナーイメージリポジトリにアクセスするための認証情報を保存します。これにより、SAE がアプリケーションをデプロイするときに非公開イメージをプルする権限を持つことが保証されます。
イメージリポジトリのアドレス: フォーマットは
<イメージリポジトリのドメイン名または IP>:<イメージリポジトリのサービスポート>です。SAE とイメージリポジトリ間のネットワーク接続を確保してください。Alibaba Cloud Container Registry (ACR) Enterprise Edition インスタンスのネットワークアクセスを設定し、イメージリポジトリのアドレスを取得する方法については、「Enterprise Edition インスタンスを使用してイメージをプッシュおよびプルする」をご参照ください。ユーザー名 と パスワード。
TLS 証明書: アプリケーションサービスが HTTPS アクセスを提供する必要がある場合に TLS 証明書を保存します。
Cert と Key: TLS 証明書の公開鍵 (Cert) と秘密鍵 (Key)。Base64 でエンコードされたコンテンツを入力する必要があります。
[シークレット] リストで、作成したシークレットを表示します。必要に応じて、シークレットを [編集]、[コピー]、または [削除] できます。
重要シークレットを変更した後、変更を有効にするには、それを参照するアプリケーションを手動で再デプロイする必要があります。
シークレットを削除すると、それを参照するアプリケーションの正常な操作に影響します。シークレットを削除する前に、アプリケーションからその参照を削除していることを確認してください。
シークレットを使用してイメージをプルする
アプリケーションをデプロイするときにイメージをプルする方法の例については、「別のアカウントに属する ACR インスタンスのイメージを使用してアプリケーションをデプロイする」または「ACR 以外のインスタンスのイメージを使用してアプリケーションをデプロイする」をご参照ください。
シークレットをアプリケーションの環境変数として使用する
アプリケーションの作成
SAE アプリケーションリスト ページで、上部でターゲットリージョンと名前空間を選択し、[アプリケーションの作成] をクリックします。 [アプリケーションの基本情報] ページで、パラメーターを設定し、[次へ: 詳細設定] をクリックします。
実行中のアプリケーションの変更
警告アプリケーションを再デプロイすると、アプリケーションが再起動されます。業務の中断などの予測不能なエラーを防ぐため、オフピーク時にアプリケーションをデプロイすることをお勧めします。
SAE アプリケーションリスト ページで、上部でターゲットリージョンと名前空間を選択し、ターゲットの [アプリケーション ID] をクリックします。左側のナビゲーションウィンドウで、[基本情報] をクリックします。右上隅で、[アプリケーションのデプロイ] をクリックします。
停止したアプリケーションの変更
SAE アプリケーションリスト ページで、上部でターゲットリージョンと名前空間を選択し、ターゲットの [アプリケーション ID] をクリックします。左側のナビゲーションウィンドウで、[基本情報] をクリックし、次に [アプリケーション設定の変更] をクリックします。
[環境変数] セクションで、タイプ を [シークレットの参照] に設定します。現在のアプリケーションのカスタム 変数名 を指定します。すべてのキーを参照する場合、変数名を指定する必要はありません。キー名が変数名として使用されます。次に、作成した シークレット名 と キー (シークレット内の変数名) を選択します。すべてのキーを参照できます。[追加] をクリックして、複数のシークレットを追加します。
アプリケーションがデプロイされるのを待ちます。設定が有効であることを確認するには、アプリケーションインスタンスのウェブシェルにログインし、
env | grep <variable_name>コマンドを実行します。<variable_name>を設定した変数名に置き換えます。変数名とその値のマッピングが返された場合、設定は有効です。
シークレットをアプリケーションのファイルシステムに設定ファイルとしてマウントする
シークレットをアプリケーションコンテナー内のファイルシステムにマウントできます。シークレットの値はファイルの内容として使用されます。カスタムのファイルパスとファイル名を指定できます。パスに同じ名前のファイルが存在する場合、マウントされたファイルが元のファイルを置き換えます。
アプリケーションの作成
SAE アプリケーションリスト ページで、上部でターゲットリージョンと名前空間を選択し、[アプリケーションの作成] をクリックします。 [アプリケーションの基本情報] ページで、パラメーターを設定し、[次へ: 詳細設定] をクリックします。
実行中のアプリケーションの変更
警告アプリケーションを再デプロイすると、アプリケーションが再起動されます。業務の中断などの予測不能なエラーを防ぐため、オフピーク時にアプリケーションをデプロイすることをお勧めします。
SAE アプリケーションリスト ページで、上部でターゲットリージョンと名前空間を選択し、ターゲットの [アプリケーション ID] をクリックします。左側のナビゲーションウィンドウで、[基本情報] をクリックします。右上隅で、[アプリケーションのデプロイ] をクリックします。
停止したアプリケーションの変更
SAE アプリケーションリスト ページで、上部でターゲットリージョンと名前空間を選択し、ターゲットの [アプリケーション ID] をクリックします。左側のナビゲーションウィンドウで、[基本情報] をクリックし、次に [アプリケーション設定の変更] をクリックします。
[シークレット] セクションで、[+ 追加] をクリックします。作成した シークレット名 と キー (シークレット内の変数名) を選択します。すべてのキーをマウントできます。次に、カスタムの マウントパス を指定します。単一のキーをマウントする場合は、ファイル名を含む絶対パスを入力します。すべてのキーをマウントする場合は、ファイル名を含まない絶対パスを入力します。SAE は、各設定項目のキー名をファイル名として自動的に使用します。複数のシークレットを追加できます。
アプリケーションがデプロイされるのを待ちます。設定が有効であることを確認するには、アプリケーションインスタンスのウェブシェルにログインし、マウントパス内のファイルの内容を表示します。