kubernetes使用configmap(配置文件应用)

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端口外部访问入口。

猜你喜欢

转载自www.cnblogs.com/jarno/p/11793710.html