目录
7.ConfigMap以Volume的形式挂载到pod容器中
1.什么是Secret?
将加密数据存在etcd里面,让Pod容器以挂载Volume的方式进行访问
场景:凭证(一般是base64编码(echo -n 'admin' | base64))
2.创建secret加密数据
secret.yaml文件内容如下:
kubectl create -f secret.yaml
kubectl get secret
3.Secret以变量的形式挂载到Pod容器中
secret-val.yaml文件内容如下:
其中最关键的就是需要跟secret中的name保持一致
kubectl apply -f secret-val.yaml
kubectl get pods
//进入pod,查看是否生效
kubectl exec -it mypod bash
执行结果如下:
4.Secret以Volume的形式挂载到pod容器中
secret-vol.yaml文件内容如下:
kubectl apply -f secret-vol.yaml
kubectl get pods
//进入pod,查看是否生效
kubectl exec -it mypod bash
执行结果如下(明文):
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5.什么是ConfigMap?
存储不加密数据到etcd中,让pod以变量或者数据卷挂载容器中
场景:配置文件
6.创建ConfigMap文件
以redis举例,先准备好redis的配置文件,redis.properties内容如下:
redis.host=127.0.0.1
redis.port=6379
redis.password=123456
然后如下:
kubectl create configmap redis-config --form-file=redis.properties
//查看
kubectl get cm
//详细信息
kubectl describe cm redis-config
7.ConfigMap以Volume的形式挂载到pod容器中
cm.yaml内容如下:
kubectl apply -f cm.yaml
kubectl get pod
//日志查看
kubectl logs mypod
8.ConfigMap以变量的形式挂载到Pod容器中
1.先创建变量,创建yaml文件,声明变量信息,configmap创建
myconfig.yaml文件内容如下:
注意是key:value的方式(level:info和type:hello)
kubectl apply -f myconfig.yaml
kubectl get cm
2.变量的形式挂载到pod中
config-var.yaml文件内容如下:
kubectl apply -f config-var.yaml
kubectl get pod
//日志查看
kubectl logs mypod