暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

12、Kubernetes配置管理

原创 yBmZlQzJ 2022-10-18
229

Kubernetes配置管理

Secret

Secret的主要作用就是加密数据,然后存在etcd里面,让Pod容器以挂载Volume方式进行访问

场景:用户名 和 密码进行加密

一般场景的是对某个字符串进行base64编码 进行加密

echo -n 'admin' | base64

image-20201117212037668

变量形式挂载到Pod

  • 创建secret加密数据的yaml文件 secret.yaml

image-20201117212124476

然后使用下面命令创建一个pod

kubectl create -f secret.yaml

通过get命令查看

kubectl get pods

image-20201118084010980

然后我们通过下面的命令,进入到我们的容器内部

kubectl exec -it mypod bash

然后我们就可以输出我们的值,这就是以变量的形式挂载到我们的容器中

# 输出用户 echo $SECRET_USERNAME # 输出密码 echo $SECRET_PASSWORD

image-20201118084137942

最后如果我们要删除这个Pod,就可以使用这个命令

kubectl delete -f secret-val.yaml

数据卷形式挂载

首先我们创建一个 secret-val.yaml 文件

image-20201118084321590

然后创建我们的 Pod

# 根据配置创建容器 kubectl apply -f secret-val.yaml # 进入容器 kubectl exec -it mypod bash # 查看 ls /etc/foo

image-20201118084707478

ConfigMap

ConfigMap作用是存储不加密的数据到etcd中,让Pod以变量或数据卷Volume挂载到容器中

应用场景:配置文件

创建配置文件

首先我们需要创建一个配置文件 redis.properties

redis.port=127.0.0.1 redis.port=6379 redis.password=123456

创建ConfigMap

我们使用命令创建configmap

kubectl create configmap redis-config --from-file=redis.properties

然后查看详细信息

kubectl describe cm redis-config

image-20201118085503534

Volume数据卷形式挂载

首先我们需要创建一个 cm.yaml

image-20201118085847424

然后使用该yaml创建我们的pod

# 创建 kubectl apply -f cm.yaml # 查看 kubectl get pods

image-20201118090634869

最后我们通过命令就可以查看结果输出了

kubectl logs mypod

image-20201118090712780

以变量的形式挂载Pod

首先我们也有一个 myconfig.yaml文件,声明变量信息,然后以configmap创建

image-20201118090911260

然后我们就可以创建我们的配置文件

# 创建pod kubectl apply -f myconfig.yaml # 获取 kubectl get cm

image-20201118091042287

然后我们创建完该pod后,我们就需要在创建一个 config-var.yaml 来使用我们的配置信息

image-20201118091249520

最后我们查看输出

kubectl logs mypod

image-20201118091448252

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论