k8s挂载目录_kubernetes(k8s)的pod使用统一的配置文件configmap挂载

在容器化应用中,每个环境都要独立的打一个镜像再给镜像一个特有的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 #私有镜像的名字

你可能感兴趣的:(k8s挂载目录)