挂载配置文件
在 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 部署模式下,挂载配置文件到容器内的方式,可以参考此方式挂载多个配置文件,只要自定义的变量名不重复即可。