1.创建config map
vi cfgmap-demo.yaml
apiVersion: v1
data:
database: db.example.com
db_port: "3306"
http_url: http://www.example.com
kind: ConfigMap
metadata:
name: cfgmap-demo
kubectl create -f cfgmap-demo.yaml
2.查看config map
kubectl get configmap cfgmap-demo -o yaml
apiVersion: v1
data:
database: db.example.com
db_port: "3306"
http_url: http://www.example.com
kind: ConfigMap
metadata:
creationTimestamp: 2018-02-24T07:11:01Z
name: cfgmap-demo
namespace: default
resourceVersion: "1064654"
selfLink: /api/v1/namespaces/default/configmaps/cfgmap-demo
uid: de9248d1-1931-11e8-9e24-00163e0e24bf
- 修改config map
vi cfgmap-demo.yaml
添加一行键值对
apiVersion: v1
data:
database: db.example.com
db_port: "3306"
http_url: http://www.example.com
http_port: "80"
kind: ConfigMap
metadata:
name: cfgmap-demo
更新config map
kubectl replace -f cfgmap-demo.yaml
查看更新后的config map
kubectl get configmap cfgmap-demo -o yaml
apiVersion: v1
data:
database: db.example.com
db_port: "3306"
http_port: "80"
http_url: http://www.example.com
kind: ConfigMap
metadata:
creationTimestamp: 2018-02-24T07:11:01Z
name: cfgmap-demo
namespace: default
resourceVersion: "1065520"
selfLink: /api/v1/namespaces/default/configmaps/cfgmap-demo
uid: de9248d1-1931-11e8-9e24-00163e0e24bf
4.创建一个Pod并引用这个config map
vi cfgmap-env-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: cfgmap-httpd-pod
spec:
containers:
- image: httpd
name: httpd
imagePullPolicy: Always
envFrom:
- configMapRef:
name: cfgmap-demo
kubectl create -f cfgmap-env-pod.yaml
5.查看config map的键值对是否引入Pod
kubectl exec -ti cfgmap-httpd-pod env
PATH=/usr/local/apache2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=cfgmap-httpd-pod
TERM=xterm
db_port=3306
http_port=80
http_url=http://www.example.com
database=db.example.com
KUBERNETES_SERVICE_PORT_HTTPS=443
KUBERNETES_PORT=tcp://10.96.0.1:443
KUBERNETES_PORT_443_TCP=tcp://10.96.0.1:443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_ADDR=10.96.0.1
KUBERNETES_SERVICE_HOST=10.96.0.1
KUBERNETES_SERVICE_PORT=443
HTTPD_PREFIX=/usr/local/apache2
NGHTTP2_VERSION=1.18.1-1
OPENSSL_VERSION=1.0.2l-1~bpo8+1
HTTPD_VERSION=2.4.29
HTTPD_SHA256=777753a5a25568a2a27428b2214980564bc1c38c1abf9ccc7630b639991f7f00
HTTPD_PATCHES=
APACHE_DIST_URLS=https://www.apache.org/dyn/closer.cgi?action=download&filename=
HOME=/root
可以看到我们Config map下的所有键值对已经成功引入Pod环境变量.