Kubernetes ConfigMapは、アプリケーションに必要な設定情報を格納するために使用されるリソースの一種です。 Kubernetes ConfigMapは、コンテナーのランタイム環境で環境変数のセットとして使用できます。 これにより、アプリケーションのデプロイ後にコンテナの設定を柔軟に変更できます。 Kubernetes ConfigMapは、設定ファイルとしても使用できます。 コンテナに構成ファイルをマウントすることで、構成情報をコンテナに挿入できます。 このトピックでは、SAEコンソールで名前空間のConfigMapを作成および管理する方法について説明します。
背景情報
名前空間のConfigMapsは、コンテナランタイム環境の格納と設定にのみ使用されます。 アプリケーションコードの構成ファイルを作成する方法については、「構成の管理」をご参照ください。
ConfigMapの作成
SAEコンソールにログインします。
左側のナビゲーションウィンドウで、[名前空間] をクリックします。 上部のナビゲーションバーで、リージョンを選択します。 次に、名前空間の名前をクリックします。
- 左側のナビゲーションウィンドウで、[ConfigMaps] をクリックします。 [ConfigMaps] ページで、[作成] をクリックします。
- ConfigMapの作成パネルで、次のいずれかの方法を選択してConfigMapを作成します。 そして、[OK] をクリックします。
- 手動作成: [手動] タブで、パラメーターを設定します。 下表に、各パラメーターを説明します。
パラメーター 説明 ConfigMap名 ConfigMapの名前を入力します。 ConfigMapの説明 ConfigMapの説明を入力します。 マッピングの設定 - キーの長さは最大250文字です。 値の長さは最大10,000文字です。
- ConfigMapには最大20個のキーと値のペアを指定できます。
- ファイルを使用する: [ファイル] タブをクリックし、パラメーターを設定します。 下表に、各パラメーターを説明します。
パラメーター 説明 ConfigMap名 ConfigMapの名前を入力します。 設定形式 [JSON] または [YAML] を選択します。 設定内容 - JSONファイルのサンプル:
{ "env.shell": "/bin/sh" 、 "nginx.conf": "daemon off;\nworker_processes 2;\nuser www-data;\n\nevents {\n epollを使用します;\n worker_connections 128;\n}\n\nerror_log logs/error.log info;\n\nhttp {\n server_tokens off;\n mime.types;\n charset utf-8 \n\nアクセスログログ /アクセスログの組み合わせ。\n\nサーバー {\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}\n\n\n}" }
- サンプルYAMLファイル:
env.shell: /bin/sh nginx.conf: | デーモンオフ; worker_processes 2; ユーザーwww-データ; events { epollを使用する。 worker_connections 128; } error_log logs/error.log info; http { server_tokensオフ; mime.typesを含めます。 charset utf-8; access_log logs/access.logの組み合わせ; サーバー{ server_name localhost; 聞く127.0.0.1:80; error_page 500 502 503 504 /50x.html; location / { ルートhtml; } } }
説明- Kubernetes ConfigMapマニフェストファイルの内容。 設定内容は、JSON形式またはYAML形式にすることができます。
- 漢字ではUTF-8エンコード形式のみがサポートされています。
- ファイルのサイズは512 KBを超えることはできません。
- JSONファイルのサンプル:
作成されたConfigMapがConfigMapsページに表示されます。 ConfigMapを管理するには、[操作] 列の [編集] 、[コピー] 、または [削除] をクリックします。説明- ConfigMapが変更されるたびに、ConfigMapの新しいバージョンが生成されます。 新しいバージョンは、変更が実行された後に手動スケーリングまたは自動スケーリングによって生成された新しいインスタンスに対してのみ有効になります。 新しいバージョンは、既存のインスタンスでは有効になりません。 アプリケーションのすべてのインスタンスが同じバージョンのConfigMapを使用するようにするには、ConfigMapを変更した後、アプリケーションを手動で再起動または再デプロイする必要があります。
- ConfigMapを削除すると、関連するアプリケーションは期待どおりに実行できません。 ConfigMapを削除する前に、アプリケーションからConfigMapの関連付けを解除する必要があります。
- 手動作成: [手動] タブで、パラメーターを設定します。 下表に、各パラメーターを説明します。
設定の挿入
アプリケーションの作成時に設定を挿入する
SAEコンソールにログインします。
左側のナビゲーションウィンドウで、[アプリケーション] をクリックします。 上部のナビゲーションバーで、リージョンを選択します。 次に、[アプリケーションの作成] をクリックします。
では、基本情報ステップ、パラメータを設定し、次条: アプリケーションの配置設定.
では、デプロイの設定ステップを設定し、Technology Stackプログラミング言语とアプリケーションの配置方法パラメータと対応する設定。
- [設定管理] セクションで、[設定マップ名] ドロップダウンリストから設定マップを選択し、[キー] ドロップダウンリストからキーを選択します。 次に、[マウントパス] フィールドでConfigMapをマウントするパスを指定します。 説明
- 名前空間モジュールでConfigMapを作成できます。 [環境変数設定] セクションの [ConfigMapの作成 (K8s configmap)] をクリックして、ConfigMapを作成することもできます。 次に、[構成マップの作成] パネルでパラメーターを設定します。
- ConfigMapのすべてのキーをマウントできます。 ConfigMapのすべてのキーを指定されたパスにマウントするには、[キー] ドロップダウンリストから [すべて] を選択します。
- オプション: 他のConfigMapsを参照するには、[追加] をクリックして前の手順を繰り返します。
[次へ: 仕様の確認] をクリックします。
仕様の確認ステップで、アプリケーションの詳細と選択した仕様の料金を表示します。 次に、[確認] をクリックします。
作成完了ステップが表示されます。 [アプリケーションの詳細] をクリックすると、アプリケーションの [基本情報] ページに移動できます。
設定が有効かどうかを確認します。
方法 1:
[基本情報] ページの左側のナビゲーションウィンドウで、[レコードの変更] をクリックします。 [レコードの変更] ページで、変更の詳細を表示します。 [ステータスの変更] 列に [実行] が表示されている場合、アプリケーションがデプロイされ、設定が有効になります。
方法 2:
[基本情報] ページで、[インスタンスのデプロイ情報] タブをクリックし、インスタンスの [ステータス] を表示します。 [ステータス] 列に [実行中] が表示されている場合、アプリケーションがデプロイされ、設定が有効になります。
アプリケーションのデプロイ時に構成を挿入する
アプリケーションを再デプロイすると、アプリケーションは再起動されます。 業務中断などの予測できないエラーを防ぐため、オフピーク時にアプリケーションをデプロイすることを推奨します。
SAEコンソールにログインします。
左側のナビゲーションウィンドウで、[アプリケーション] をクリックします。 上部のナビゲーションバーで、リージョンを選択します。 次に、アプリケーションの名前をクリックします。
の右上隅に基本情報ページをクリックします。アプリケーションのデプロイ.
- [設定管理] セクションで、[設定マップ名] ドロップダウンリストから設定マップを選択し、[キー] ドロップダウンリストからキーを選択します。 次に、[マウントパス] フィールドでConfigMapをマウントするパスを指定します。 説明
- 名前空間モジュールでConfigMapを作成できます。 [環境変数設定] セクションの [ConfigMapの作成 (K8s configmap)] をクリックして、ConfigMapを作成することもできます。 次に、[構成マップの作成] パネルでパラメーターを設定します。
- ConfigMapのすべてのキーをマウントできます。 ConfigMapのすべてのキーを指定されたパスにマウントするには、[キー] ドロップダウンリストから [すべて] を選択します。
- 設定後、をクリックします。確認.
設定が有効かどうかを確認します。
方法 1:
[基本情報] ページの左側のナビゲーションウィンドウで、[レコードの変更] をクリックします。 [レコードの変更] ページで、変更の詳細を表示します。 [ステータスの変更] 列に [実行] が表示されている場合、アプリケーションがデプロイされ、設定が有効になります。
方法 2:
[基本情報] ページで、[インスタンスのデプロイ情報] タブをクリックし、インスタンスの [ステータス] を表示します。 [ステータス] 列に [実行中] が表示されている場合、アプリケーションがデプロイされ、設定が有効になります。
ConfigMapを環境変数のセットとして使用する
ランタイム環境のコンテナの環境変数のセットを含むConfigMapを指定できます。 これにより、アプリケーションのデプロイ後にコンテナの設定を柔軟に変更できます。 このセクションでは、アプリケーションを作成するときに環境変数のセットを含むConfigMapを使用する方法について説明します。
SAEコンソールにログインします。
- では、基本情報ステップ、パラメータを設定し、次条: アプリケーションの配置設定.
- [デプロイの設定] ステップで、必要なパラメーターを設定し、[環境変数の設定] セクションを展開します。
- [環境変数の設定] セクションで、[タイプ] ドロップダウンリストから [参照構成マップ] を選択し、[変数名] パラメーターを設定します。 次に、[変数値 /変数参照] ドロップダウンリストから、作成したConfigMapの名前とConfigMapのキーを選択します。 説明 名前空間ページでConfigMapを作成できます。 [環境変数の設定] セクションで [ConfigMapの作成 (K8s configmap)] をクリックし、[ConfigMapの作成] パネルでConfigMapを作成することもできます。
- オプション: 他のConfigMapsを参照するには、[追加] をクリックして前の手順を繰り返します。
クリック次条: 仕様を確認する.
仕様の確認ステップでは、アプリケーションの詳細と選択した仕様の料金を表示します。 次に、[確認] をクリックします。
作成完了ステップが表示されます。 [アプリケーションの詳細] をクリックすると、アプリケーションの [基本情報] ページに移動できます。
ベストプラクティス
PHPアプリケーションのphp-fpm.confファイルを手動で構成する
- ConfigMapを作成します。 詳細については、「ConfigMapの作成」をご参照ください。
パラメーター 説明 移動方法 [手動] を選択します。 ConfigMap名 ConfigMapの名前を入力します。 例: php-fpm ConfigMapの説明 ConfigMapの説明を入力します。 例: www.conf マッピングの設定
キーwww.conf
- [www] の値
user = www-data グループ=www-data listen = 127.0.0.1:9000 pm=ダイナミック pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3
- 設定を挿入します。 詳細については、「設定の挿入」をご参照ください。
パラメーター 説明 ConfigMap名 作成したphp-fpm ConfigMapを選択します。 キー 作成したwww.confキーを選択します。 マウントパス 次のパスを入力します。 /usr/local/etc/php-fpm.d/www.conf