メインコンテンツへ移動

マウント設定ファイル

Kubernetesデプロイメントモードでは、設定ファイルのマウントは変数経由で行うことが標準となっており、設定ファイルはBase64でエンコードされた値として変数に格納され、コンテナ内にマウントされます。

次の内容をコンテナ内 /usr/local/MDPrivateDeployment/integrate/appextensions.json にマウントしたい場合を例に説明します。

{
"WebhookUrl": "https://api.domain.com/hooks/NjA0NzdjMDNjMGFjMTE3ZGUwMjRjN2Nl",
"WebhookHeaders": {}
}

まず、マウントパスと設定ファイルをそれぞれBase64でエンコードします。エンコードは下記のコマンド例、もしくは オンラインエンコードツール でも実施可能です。

[root@localhost ~]# echo -n '/usr/local/MDPrivateDeployment/integrate/appextensions.json' | base64 -w0
L3Vzci9sb2NhbC9NRFByaXZhdGVEZXBsb3ltZW50L2ludGVncmF0ZS9hcHBleHRlbnNpb25zLmpzb24=
[root@localhost ~]# echo -n '{
"WebhookUrl": "https://api.domain.com/hooks/NjA0NzdjMDNjMGFjMTE3ZGUwMjRjN2Nl",
"WebhookHeaders": {}
}' | base64 -w0
ewogICJXZWJob29rVXJsIjogImh0dHBzOi8vYXBpLmRvbWFpbi5jb20vaG9va3MvTmpBME56ZGpNRE5qTUdGak1URTNaR1V3TWpSak4yTmwiLAogICJXZWJob29rSGVhZGVycyI6IHt9Cn0=

上記で取得したエンコード済みの内容を「コロン」で連結します。コロン左側がエンコード済みパス、右側がエンコード済み設定ファイルです。

L3Vzci9sb2NhbC9NRFByaXZhdGVEZXBsb3ltZW50L2ludGVncmF0ZS9hcHBleHRlbnNpb25zLmpzb24=:ewogICJXZWJob29rVXJsIjogImh0dHBzOi8vYXBpLmRvbWFpbi5jb20vaG9va3MvTmpBME56ZGpNRE5qTUdGak1URTNaR1V3TWpSak4yTmwiLAogICJXZWJob29rSGVhZGVycyI6IHt9Cn0=
  • これがマウントに必要となる変数値です。

次に、カスタム変数名を設定します。例として ENV_SERVICE_CONFIG_INTEGRATE または ENV_SERVICE_CONFIG_SSO_JSON などを利用できますが、環境変数名は ENV_SERVICE_CONFIG で始める必要があります。

この変数名とエンコード済みの値を、各マイクロサービスの config.yaml ファイルに下記のように記述してください(値は必ずダブルクォーテーションで囲んでください)。

ENV_SERVICE_CONFIG_INTEGRATE: "L3Vzci9sb2NhbC9NRFByaXZhdGVEZXBsb3ltZW50L2ludGVncmF0ZS9hcHBleHRlbnNpb25zLmpzb24=:ewogICJXZWJob29rVXJsIjogImh0dHBzOi8vYXBpLmRvbWFpbi5jb20vaG9va3MvTmpBME56ZGpNRE5qTUdGak1URTNaR1V3TWpSak4yTmwiLAogICJXZWJob29rSGVhZGVycyI6IHt9Cn0="

設定後はマイクロサービスを再起動します。再起動後、任意のマイクロサービスコンテナに入り、マウントパスおよび設定ファイル内容が正しく反映されているかを確認できます。


上記はKubernetesデプロイメントモードにおける設定ファイルのコンテナへのマウント方法です。同様の手順で、カスタム変数名が重複しない限り、複数の設定ファイルをマウントすることが可能です。