2.4、深入pod-configMap

1、 創(chuàng)建configMap

1.1 yaml文件方式

太長,詳見此

創(chuàng)建命令
kubectl create -f cm-appconfigfiles.yaml 

1.2 命令行方式

kubectl create cm cm_test --from-literal=k1=v1

1.3 pod通過環(huán)境變量使用cm

apiVersion: v1
kind: ConfigMap
metadata:
  name: cm-appvars
data:
  appLogLevel: info
  appDataDir: /var/data

創(chuàng)建個容器使用cm

apiVersion: v1
kind: Pod
metadata:
  name: cm-test-pod
spec:
  containers:
  - name: cm-test-container
    image: busybox
    command: ["/bin/sh", "-c", "env | grep APP"]
    env:
    - name: APPLOGLEVEL
      valueFrom:
        configMapKeyRef:
          name: cm-appvars
          key: appLogLevel
    - name: APPDATADIR
      valueFrom:
        configMapKeyRef:
          name: cm-appvars
          key: appDataDir

1.4 通過volumeMount方式使用

apiVersion: v1
kind: Pod
metadata:
  name: cm-test-app
spec:
  containers:
  - name: cm-test-app
    image: kubeguide/tomcat-app:v1
    ports:
    - containerPort: 80
    volumeMounts:
    - name: v-serverxml #引用的volume名
      mountPath: /configs
  volumes:
  - name: v-serverxml
    configMap:
      name: cm-appconfigfiles #使用這個名字的cm
      items:
      - key: key-svr-xml
        path: server.xml
      - key: key-log4j-pro
        path: logging.properties

登陸容器,看/configs目錄下是否有2個文件server.xml和logging.properties

kubectl exec -it cm-test-app -- bash
cd /configs
ls -l
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容