ConfigMap (Kubernetes ConfigMap) は、アプリケーションランタイムの環境変数として使用したり、アプリケーションコンテナーのファイルシステムに設定ファイルとしてマウントしたりできます。ConfigMap を使用すると、イメージを再構築することなく、アプリケーションのデプロイメント後に構成を変更できます。
このトピックは、設定センターから構成情報を動的に取得する必要があるシナリオには適用されません。詳細については、「MSE で Nacos を使用する」または「分散構成の管理 (ACM)」をご参照ください。
キーや証明書などの機密情報を保存するには、「K8s Secret の管理と使用」をご参照ください。
ConfigMap の作成
SAE ConfigMap ページで、ページ上部でターゲットリージョンと名前空間を選択し、[作成] をクリックします。ターゲットアプリケーションが配置されている名前空間を選択していることを確認してください。
カスタムの [設定項目名] を指定します。
設定マッピング: 編集モードを選択し、変数名と値のマッピングを構成します。
フォームで編集: [変数を追加] をクリックし、変数名とその値を入力します。複数の変数を追加できます。長い構成内容の場合は、変数値の横にある
アイコンをクリックして、内容を貼り付けて編集できます。JSON 形式で編集: コードボックスに、1 つ以上の変数名とその値のマッピングを入力します。変数名と値は
""で囲む必要があります。例:{ "nv_shell": "/bin/sh", "nginx_conf": "daemon off;\nworker_processes 2;\nuser www-data;\n\nevents {\n use epoll;\n worker_connections 128;\n}\n\nerror_log logs/error.log info;\n\nhttp {\n server_tokens off;\n include mime.types;\n charset utf-8;\n\n access_log logs/access.log combined;\n\n server {\n server_name localhost;\n listen 127.0.0.1:80;\n\n error_page 500 502 503 504 /50x.html;\n\n location / {\n root html;\n }\n\n }" }YAML 形式を使用: コードボックスに、1 つ以上の変数名とその値のマッピングを入力します。以下は設定例です。
nv_shell: /bin/sh nginx_conf: |- daemon off; worker_processes 2; user www-data; events { use epoll; worker_connections 128; } error_log logs/error.log info; http { server_tokens off; include mime.types; charset utf-8; access_log logs/access.log combined; server { server_name localhost; listen 127.0.0.1:80; error_page 500 502 503 504 /50x.html; location / { root html; } }
[ConfigMap] リストで、作成した ConfigMap を表示し、[編集]、[コピー]、[履歴の表示]、[削除] などの操作を実行できます。
重要ConfigMap を作成した後、それを有効にするには、ConfigMap をアプリケーションの環境変数として使用するか、ConfigMap をアプリケーションのファイルシステムに設定ファイルとしてマウントする必要があります。
ConfigMap を変更した場合、変更を有効にするには、それを参照しているアプリケーションを再デプロイする必要があります。
ConfigMap を削除すると、それを参照しているアプリケーションの操作に影響します。ConfigMap を削除する前に、アプリケーションからその参照を削除していることを確認してください。
ConfigMap をアプリケーションの環境変数として使用する
アプリケーションの作成
SAE アプリケーションリスト ページで、上部でターゲットリージョンと名前空間を選択し、[アプリケーションの作成] をクリックします。[アプリケーションの基本情報] ページで、パラメーターを構成し、[次へ: 詳細設定] をクリックします。
実行中のアプリケーションの変更
警告アプリケーションを再デプロイすると、アプリケーションは再起動されます。ビジネスの中断などの予期しないエラーを防ぐために、オフピーク時間にアプリケーションをデプロイすることをお勧めします。
SAE アプリケーションリスト ページで、上部でターゲットリージョンと名前空間を選択し、ターゲットの [アプリケーション ID] をクリックします。左側のナビゲーションウィンドウで、[基本情報] をクリックします。右上隅で、[アプリケーションのデプロイ] をクリックします。
停止中のアプリケーションの変更
SAE アプリケーションリスト ページで、上部でターゲットリージョンと名前空間を選択し、ターゲットの [アプリケーション ID] をクリックします。左側のナビゲーションウィンドウで、[基本情報] をクリックし、次に [アプリケーション構成の変更] をクリックします。
[環境変数] セクションで、[タイプ] を [設定項目の参照] に設定し、現在のアプリケーションのカスタム [変数名] を指定します。すべてのキーを参照する場合、キー名が変数名として使用されるため、変数名を指定する必要はありません。次に、既存の [設定項目名] と [キー] を選択します。キーは設定項目内の変数です。すべてのキーの参照もサポートされています。複数の設定項目を追加できます。
アプリケーションがデプロイされるのを待ちます。構成が有効であることを確認するには、アプリケーションインスタンスの Webshell にログインし、
env | grep <variable name>コマンドを実行します。<variable name>を、構成した変数名に置き換えます。コマンドが変数名とその値のマッピングを返した場合、構成は有効です。
ConfigMap をアプリケーションのファイルシステムに設定ファイルとしてマウントする
ConfigMap をアプリケーションコンテナーのファイルシステムにマウントできます。ConfigMap の値はファイルの内容として使用されます。ファイルパスと名前はカスタマイズできます。パス内に同じ名前のファイルが存在する場合、マウントされたファイルは元のファイルを上書きします。
マウントされたファイルは、多くの場合、アプリケーションの設定ファイルとして使用されます。これにより、イメージを再構築することなく構成を変更できます。アプリケーションコンテナー内の既存の設定ファイルを変更するには、まず元のファイルの内容をローカルマシンにコピーします。内容を変更した後、それを ConfigMap の値として保存します。次に、このトピックの指示に従って、ConfigMap をアプリケーションのファイルシステムにマウントします。
アプリケーションの作成
SAE アプリケーションリスト ページで、上部でターゲットリージョンと名前空間を選択し、[アプリケーションの作成] をクリックします。[アプリケーションの基本情報] ページで、パラメーターを構成し、[次へ: 詳細設定] をクリックします。
実行中のアプリケーションの変更
警告アプリケーションを再デプロイすると、アプリケーションは再起動されます。ビジネスの中断などの予期しないエラーを防ぐために、オフピーク時間にアプリケーションをデプロイすることをお勧めします。
SAE アプリケーションリスト ページで、上部でターゲットリージョンと名前空間を選択し、ターゲットの [アプリケーション ID] をクリックします。左側のナビゲーションウィンドウで、[基本情報] をクリックします。右上隅で、[アプリケーションのデプロイ] をクリックします。
停止中のアプリケーションの変更
SAE アプリケーションリスト ページで、上部でターゲットリージョンと名前空間を選択し、ターゲットの [アプリケーション ID] をクリックします。左側のナビゲーションウィンドウで、[基本情報] をクリックし、次に [アプリケーション構成の変更] をクリックします。
[構成管理] エリアで、[+ 追加] をクリックします。既存の設定項目の [設定項目名] と [キー] を選択します。キーは設定項目内の変数名です。単一のキーまたはすべてのキーをマウントできます。次に、カスタムの [マウントパス] を指定します。単一のキーをマウントするには、ファイル名を含む絶対パスを入力します。すべてのキーをマウントするには、ファイル名を含まない絶対パスを入力します。SAE は、各設定項目のキー名をファイル名として自動的に使用します。複数の設定項目を追加できます。
アプリケーションがデプロイされるのを待ちます。構成が有効であることを確認するには、アプリケーションインスタンスの Webshell にログインし、マウントパス内のファイルの内容を表示します。