Configmap
Configmap如何创立?
命令行创立
$ kubectl create configmap special-config --from-literal=special.how=very --from-literal=special.type=charmconfigmap/special-config created$ kubectl get cmNAME DATA AGEspecial-config 2 4s$ kubectl get configmaps special-config -o yamlapiVersion: v1data: special.how: very special.type: charmkind: ConfigMapmetadata: creationTimestamp: "2020-08-01T12:14:17Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: .: {} f:special.how: {} f:special.type: {} manager: kubectl operation: Update time: "2020-08-01T12:14:17Z" name: special-config namespace: default resourceVersion: "18003" selfLink: /api/v1/namespaces/default/configmaps/special-config uid: 6c116e86-d6b3-4d32-be87-d32f9a608219
基于文件创建
$ kubectl create configmap nginx-config --from-file=./nginx.confconfigmap/nginx-config createdca0gu0@ca0gu0deMBP configmap % kubectl get configmap nginx-config -o yaml apiVersion: v1data: nginx.conf: | #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"' '$upstream_addr $upstream_status $request_time $upstream_response_time'; access_log /var/log/nginx/access.log main; error_log /var/log/nginx/error.log; server_tokens off; include mime.types; default_type application/octet-stream; sendfile on; tcp_nopush on; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; proxy_buffer_size 64k; proxy_buffers 4 512k; proxy_busy_buffers_size 512k; proxy_temp_file_write_size 512k; proxy_temp_path /data/nginx/proxy_temp; proxy_cache_path /data/nginx/proxy_cache levels=1:2 keys_zone=cache_one:2000m inactive=3d max_size=500g; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; upstream go { server www.cnblogs.com:80 weight=4; #server 42.121.252.58:80 weight=4; } server { listen 192.168.55.133:80; #server_name www.cnblogs.com; access_log /var/log/nginx/go.access.log main; error_log /var/log/nginx/go.error.log error; location / { proxy_cache cache_one; #proxy_cache_valid 200 304 301 302 2h; #proxy_cache_valid any 2h; #expires 1d; add_header X-Cache $upstream_cache_status; proxy_pass http://go; proxy_cache_key $uri$is_args$args; } location ~ /purge(/.*) { allow 127.0.0.1; allow 192.168.55.0/24; deny all; proxy_cache_purge cache_one $1$is_args$args; } } }kind: ConfigMapmetadata: creationTimestamp: "2020-08-01T12:19:48Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: .: {} f:nginx.conf: {} manager: kubectl operation: Update time: "2020-08-01T12:19:48Z" name: nginx-config namespace: default resourceVersion: "18116" selfLink: /api/v1/namespaces/default/configmaps/nginx-config uid: 2fb95961-a780-45ea-8db3-8ba85db1270d
基于目录创立
$ cat >game/game.properties <<EOF enemies=aliens lives=3 enemies.cheat=true enemies.cheat.level=noGoodRottensecret.conde.passphrase=UUDDLRLRBABASsecret.code.allowed=truesecret.code.lives=30EOF$ cat >game/ui.properties <<EOF color.good=purplecolor.bad=yellowallow.textmode=truehow.nice.to.look=fairlyNiceEOF$ ls -l game total 16-rw-r--r-- 1 ca0gu0 staff 159 8 1 20:28 game.properties-rw-r--r-- 1 ca0gu0 staff 83 8 1 20:28 ui.properties$ kubectl create configmap game-config --from-file=./gameconfigmap/game-config created$ kubectl get cmNAME DATA AGEgame-config 2 5snginx-config 1 9m6sspecial-config 2 14m$ kubectl get cm game-config -o yamlapiVersion: v1data: game.properties: | enemies=aliens lives=3 enemies.cheat=true enemies.cheat.level=noGoodRotten secret.conde.passphrase=UUDDLRLRBABAS secret.code.allowed=true secret.code.lives=30 ui.properties: | color.good=purple color.bad=yellow allow.textmode=true how.nice.to.look=fairlyNicekind: ConfigMapmetadata: creationTimestamp: "2020-08-01T12:28:49Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: .: {} f:game.properties: {} f:ui.properties: {} manager: kubectl operation: Update time: "2020-08-01T12:28:49Z" name: game-config namespace: default resourceVersion: "18299" selfLink: /api/v1/namespaces/default/configmaps/game-config uid: d71c3f79-e5f4-4932-a83d-96e861788d54
Pod读取configmap配置的形式
尝试将configmap配置挂载到环境变量,通过变量名读取(valueFrom形式)