k8s挂载目录_kubernetes(k8s)的pod使用统一的配置文件configmap挂载
在容器化应用中,每个环境都要独立的打一个镜像再给镜像一个特有的tag,这很麻烦,这就要用到k8s原生的配置中心configMap就是用解决这个问题的。使用configMap部署应用。这里使用nginx来做示例,简单粗暴。直接用vim常见nginx的配置文件,用命令导入进去kubectl create cm nginx.conf --from-file=/home/nginx.conf然后查看kub
在容器化应用中,每个环境都要独立的打一个镜像再给镜像一个特有的tag,这很麻烦,这就要用到k8s原生的配置中心configMap就是用解决这个问题的。
使用configMap部署应用。
这里使用nginx来做示例,简单粗暴。
直接用vim常见nginx的配置文件,用命令导入进去
kubectl create cm nginx.conf --from-file=/home/nginx.conf
然后查看
kubectl get cm nginx.conf -o yaml
在查看cm中的名字是否正确
kubectl get configmaps
最后是挂载,我是基于volume的文件挂载下面是yaml的配置
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
selector:
matchLabels:
app: nginx
replicas: 1
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: harbor.cooting.cn/web/nginx:cooting
ports:
- containerPort: 80
- containerPort: 443
volumeMounts: #就是这一段使用configMap配置
- mountPath: /conf/ #将配置文件挂载到哪里,没有会自动创建
name: config
- mountPath: /www #挂载容器中的目录到pvc nfs中的目录
name: nfs
volumes:
- name: config #指定config使用configMap
configMap:
name: nginx.conf #指定使用configMap中的nginx.config配置
- name: nfs
persistentVolumeClaim: #指定pvc
claimName: nfs-pv-nfs
imagePullSecrets: #指定私有镜像仓库
- name: regsecret #私有镜像的名字
更多推荐
所有评论(0)