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中'也可以'引用环境变量

⑨  环境变量的优势

 

⑩  注意事项

​ 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Kubernetes YAML 文件中,可以使用变量来代替常量或者固定值。使用变量可以使 YAML 文件更加灵活和可维护。Kubernetes 支持三种类型的变量:环境变量、命令行参数和配置文件。 1. 环境变量 可以使用 `$VAR` 的形式在 YAML 文件中引用环境变量。例如: ``` apiVersion: v1 kind: Pod metadata: name: example-pod spec: containers: - name: example-container image: nginx env: - name: MY_VAR value: $MY_VAR ``` 在上面的例子中,我们在容器定义中添加了一个环境变量 MY_VAR。这个变量的值来自于环境变量中的同名变量。 2. 命令行参数 可以使用 `$(VAR)` 的形式在 YAML 文件中引用命令行参数。例如: ``` apiVersion: v1 kind: Pod metadata: name: example-pod spec: containers: - name: example-container image: nginx command: ["/bin/bash", "-c", "echo $(MY_VAR)"] args: - --log-level=$(LOG_LEVEL) ``` 在上面的例子中,我们在容器定义中使用了两个命令行参数:MY_VAR 和 LOG_LEVEL。这些参数的值来自于运行 kubectl 命令时传递的参数。 3. 配置文件 可以使用 `$()` 的形式在 YAML 文件中引用配置文件中的值。例如: ``` apiVersion: v1 kind: Pod metadata: name: example-pod spec: containers: - name: example-container image: nginx command: ["/bin/bash", "-c", "echo $(cat /etc/config/my_var)"] ``` 在上面的例子中,我们在容器定义中使用了一个配置文件 /etc/config/my_var。这个文件中的值可以通过 `$()` 的形式在 YAML 文件中引用。 需要注意的是,在使用变量时,需要确保这些变量在运行时是可用的。例如,如果使用了配置文件中的变量,那么需要在容器启动时将这个配置文件挂载到容器中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值