k8s引用环境变量
一 定义环境变量
① 如何在k8s中定义环境变量
env、configmap、secret
补充: k8s 创建Service'自带'的环境变量
② 从pod属性中获取
kubectl explain deploy.spec.template.spec.containers.env.valueFrom
关注: configMapKeyRef、'fieldRef' 和 'resourceFieldRef'、secretKeyRef
Downward API
③ 创建带前缀的环境变量
说明: configmap + 'envFrom' + 'prefix'
备注: 从'secretKeyRef' '批量' 创建变量
④ 通过cm自定义环境变量 key
configmap 与环境变量
⑤ 创建一个Service会自动创建哪些环境变量
特点: 环境变量名为'大写',如果其中'有连字符 -'的会被转换为'下划线 _'
环境变量表
说明: k8s为'Service'设置的'环境变量'形式,包括:
{SVCNAME}_SERVICE_HOST
{SVCNAME}_SERVICE_PORT
{SVCNAME}_SERVICE_PORT_{PORTNAME}
备注: 其中的'服务名'和'端口名'转为'大写',连字符转换为'下划线'
⑥
相关参考
二 k8s中如何引用环境变量
⑦ 官方使用环境变量定义参数
需求: 如果您想在'k8s'的'command'或'args'等字段中展开'环境'变量
则必须使用"$()"语法而不是${}语法
备注: env 中定义'Java 启动变量',然后command中'引用'即可
⑧ 补充
说明: 在env.value中'也可以'引用环境变量
⑨ 环境变量的优势
⑩ 注意事项