Secret
Secret 的主要作用就是加密数据,然后存在 etcd 里面,让 Pod 容器以挂载 Volume 方式进行访问
场景:用户名 和 密码进行加密
一般场景的是对某个字符串进行 base64 编码 进行加密
1 | echo -n 'admin' | base64 |
变量形式挂载到 Pod
- 创建 secret 加密数据的 yaml 文件 secret.yaml
然后使用下面命令创建一个 pod
1 | kubectl create -f secret.yaml |
通过 get 命令查看
1 | kubectl get pods |
然后我们通过下面的命令,进入到我们的容器内部
1 | kubectl exec -it mypod bash |
然后我们就可以输出我们的值,这就是以变量的形式挂载到我们的容器中
1 | # 输出用户 |
最后如果我们要删除这个 Pod,就可以使用这个命令
1 | kubectl delete -f secret-val.yaml |
数据卷形式挂载
首先我们创建一个 secret-val.yaml 文件
然后创建我们的 Pod
1 | # 根据配置创建容器 |
ConfigMap
ConfigMap 作用是存储不加密的数据到 etcd 中,让 Pod 以变量或数据卷 Volume 挂载到容器中
应用场景:配置文件
创建配置文件
首先我们需要创建一个配置文件 redis.properties
1 | redis.port=127.0.0.1 |
创建 ConfigMap
我们使用命令创建 configmap
1 | kubectl create configmap redis-config --from-file=redis.properties |
然后查看详细信息
1 | kubectl describe cm redis-config |
Volume 数据卷形式挂载
首先我们需要创建一个 cm.yaml
然后使用该 yaml 创建我们的 pod
1 | # 创建 |
最后我们通过命令就可以查看结果输出了
1 | kubectl logs mypod |
以变量的形式挂载 Pod
首先我们也有一个 myconfig.yaml 文件,声明变量信息,然后以 configmap 创建
然后我们就可以创建我们的配置文件
1 | # 创建pod |
然后我们创建完该 pod 后,我们就需要在创建一个 config-var.yaml 来使用我们的配置信息
最后我们查看输出
1 | kubectl logs mypod |
发布时间: 2021-01-13
最后更新: 2024-06-24
本文标题: Kubernetes学习之配置管理
本文链接: https://blog-yilia.xiaojingge.com/posts/aff20121.html
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!
