1、创建需要挂载使用的配置文件(index.html)
root@rancher:/home/yangjia# cat index.html yangjia test configmap create! 创建configmap(注意后面填加namespace,否则默认default) kubectl create configmap nginx-config --from-file=./index.html -n test 查看configmap(注意后面填加namespace,否则默认default) kubectl get configmaps -n test
2、验证configmap配置是否和配置文件信息一致
root@rancher:/home/yangjia# kubectl get configmaps/nginx-config -o yaml -n test apiVersion: v1 data: index.html: | yangjia test configmap create! kind: ConfigMap metadata: creationTimestamp: "2019-11-04T09:45:25Z" name: nginx-config namespace: test resourceVersion: "85333" selfLink: /api/v1/namespaces/test/configmaps/nginx-config uid: dbeb8169-212d-43b0-82f1-13d58ec9dcdd
3、编写部署应用的yaml文件
apiVersion: extensions/v1beta1 kind: Deployment metadata: name: my-nginx-configmap namespace: test spec: replicas: 1 template: metadata: labels: app: my-nginx-configmap spec: containers: - name: my-nginx-configmap image: nginx:latest ports: - containerPort: 80 volumeMounts: #--就是这一段使用configMap配置 - mountPath: /usr/share/nginx/html #--将配置文件挂载到哪里 name: configmap-volume - mountPath: /home/yangjia #--指定数据目录 name: data volumes: - name: data #--指定数据目录创建 emptyDir: {} - name: configmap-volume #--指定config使用configMap configMap: name: nginx-config #--指定使用configMap中的nginx-config配置 items: - key: index.html #--使用nginx-config配置的nginx.conf键里的内容 path: index.html --- apiVersion: v1 kind: Service metadata: name: nginx-svc-configmap namespace: test spec: type: NodePort selector: app: my-nginx-configmap ports: - protocol: TCP port: 80 targetPort: 80 nodePort: 30084 #--暴露端口
4、部署应用
root@rancher:/home/yangjia# kubectl create -f nginx-sever2.yaml -n test service/nginx-svc-configmap created
部署成功,pod已经成功运行,服务发现已经做好了30084端口外部访问入口。
原文:https://www.cnblogs.com/jarno/p/11793710.html