ConfigMap 以下是圖片內容的辨識及繁體中文翻譯,並補充完整 1-4 步驟 的詳細說明: ConfigMap 操作步驟 1. 創建配置文件 創建一個配置文件,例如 redis.properties: [root@k8smaster ~]# vi redis.properties # 文件內容 redis.host=127.0.0.1 redis.port=6379 redis.password=123456 2. 創建 ConfigMap 將配置文件創建為 ConfigMap: [root@k8smaster ~]# kubectl create configmap redis-config --from-file=redis.properties configmap/redis-config created [root@k8smaster ~]# kubectl get cm NAME DATA AGE redis-config 1 10s 檢查 ConfigMap 詳情: [root@k8smaster ~]# kubectl describe cm redis-config Name: redis-config Data: redis.properties: redis.host=127.0.0.1 redis.port=6379 redis.password=123456 3. 以 Volume 形式挂載到 Pod 容器中 步驟: 編寫 YAML 文件,將 ConfigMap 作為 Volume 注入到 Pod 中: apiVersion: v1 kind: Pod metadata: name: mypod spec: containers: - name: mycontainer image: busybox command: ["sh", "-c", "cat /config/redis.properties; sleep 3600"] volumeMounts: - name: config-volume mountPath: /config volumes: - name: config-volume configMap: name: redis-config 應用配置: [root@k8smaster ~]# kubectl apply -f cm.yaml pod/mypod created 查看 Pod 狀態並檢查配置: [root@k8smaster ~]# kubectl get pods NAME READY STATUS RESTARTS AGE mypod 1/1 Completed 0 41s [root@k8smaster ~]# kubectl logs mypod redis.host=127.0.0.1 redis.port=6379 redis.password=123456 4. 以變量形式挂載到 Pod 容器中 步驟: 編寫 YAML 文件,將 ConfigMap 值作為環境變量注入: apiVersion: v1 kind: Pod metadata: name: mypod spec: containers: - name: mycontainer image: busybox command: ["sh", "-c", "echo $REDIS_HOST; echo $REDIS_PORT; echo $REDIS_PASSWORD; sleep 3600"] env: - name: REDIS_HOST valueFrom: configMapKeyRef: name: redis-config key: redis.host - name: REDIS_PORT valueFrom: configMapKeyRef: name: redis-config key: redis.port - name: REDIS_PASSWORD valueFrom: configMapKeyRef: name: redis-config key: redis.password 應用配置: [root@k8smaster ~]# kubectl apply -f myconfig.yaml pod/mypod created 查看 Pod 狀態並檢查日誌: [root@k8smaster ~]# kubectl logs mypod 127.0.0.1 6379 123456 小結 Volume 挂載:將 ConfigMap 文件直接映射到容器的文件系統中。 環境變量注入:將 ConfigMap 的鍵值對作為環境變量傳遞給容器。