首页 » 运维 » 正文

CKA 认证系列课程笔记21 ENV

kubernetes中pod里边的环境变量非常重要,如何设置一个pod的环境变量呢?

最直接的,我们可以写到pod的定义中,通过env来设定:

这是最基础的一种方式,我们还可以通过configmap和secret来设定

config 就是一些key : value

我们可以直接通过命令行创建,但是并不常见,我们更多的时候是从文件创建

例如:

创建完成以后我们如何把configmap 和pod联系起来呢?通过envFrom

我们可以通过如下命令获取所有的configmap

如上这种方式,envFrom一下导入了所有的env,我们也可以通过其他方式导入部分

Secret其实和config一样,但是Secret存储的方式是加密的内容,比较适合存放passwd

例如:

其中,具体的值我们加密过,如何加密呢?

当然我们也可以反过来解密:

当然我们也可以直接exec进入我们的pod内部通过env 查看已经解密的值

如何和pod建立连接?和configmap一样

同样的,这个是整个secret导入,我们也可以导入部分secret

例如:

 

我们还可以把secret以文件的形式mount到我们的pod里,例如:

先创建一个公钥和私钥的secret

然后在pod中使用

我们的pod在执行以后,就会在如下路径下找到我们的秘钥

注意一点,如果我们是通过yml创建的,我们的值必须是手动加密的

如果我们是通过命令创建,例如:

或者

注意我们有一个generic

而且我们是不需要刻意去加密我们的值的,这样有个问题就是我们的bash在处理特殊字符的时候会有问题,所以注意

 

 

 

Zhiming Zhang

Senior devops at Appannie
一个奔跑在运维路上的胖子
Zhiming Zhang

Latest posts by Zhiming Zhang (see all)