概述
本文大部分内容来自 博客
加了一些个人的理解
场景
希望把 ConfigMap
映射为 pod
的 配置文件,通过修改 ConfigMap
的方式 来达到 修改容器内配置文件的效果
ConfigMap示例
apiVersion: v1
kind: ConfigMap
metadata:
name: traefik-conf
namespace: nginx
data:
traefik.toml: |
[entryPoints]
[entryPoints.http]
address = ":80"
traefikLogsFile = "log/traefik.log"
[accessLog]
filePath = "/logs/traefik.access.log"
format = "json"
Deployment
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: traefik-ingress-controller
namespace: nginx
labels:
k8s-app: traefik-ingress-lb
spec:
replicas: 1
selector:
matchLabels:
k8s-app: traefik-ingress-lb
template:
metadata:
labels:
k8s-app: traefik-ingress-lb
name: traefik-ingress-lb
spec:
serviceAccountName: traefik-ingress-controller
terminationGracePeriodSeconds: 60
volumes:
- name: traefik-config
configMap:
name: traefik-conf
containers:
- image: traefik:1.7
name: traefik-ingress-lb
volumeMounts:
- name: traefik-config
mountPath: /etc/traefik/
ports:
- name: http
containerPort: 80
- name: admin
containerPort: 8080
args:
- --api
- --kubernetes
- --logLevel=INFO
语法理解
先来看下 spec.volumes
的内容
volumes:
- name: traefik-config
configMap:
name: traefik-conf
定义了一个 name
为 traefik-config
的这么一个 volume
,
它的值来自于 configMap
里 name
为 traefik-conf
的项的 data
(个人理解,所以其实是一个文件列表,第一个文件名叫 traefik.toml
)
再看下 spec.containers
containers:
- image: traefik:1.7
name: traefik-ingress-lb
volumeMounts:
- name: traefik-config
mountPath: /etc/traefik/
在 volume
里面取出 name
为 traefik-config
的项(文件列表), 映射到 路径 /etc/traefik/
items
今天看到了items
用法
也搜了博客
记录一下
- name: ymir-agent
image: hub.c.163.com/u2takey/ymir:v-agent-test11
imagePullPolicy: IfNotPresent
volumeMounts:
- name: config
mountPath: /go/src/github.com/arlert/ymir/taskset
- mountPath: /etc/localtime
name: tz-config
readOnly: true
volumes:
- name: config
configMap:
name: name12
items:
- key: script
path: testtask.go
- hostPath:
path: /usr/share/zoneinfo/Asia/Shanghai
name: tz-config
新建了一个 config
的 volumn
值来自 name12
的 configMap
,
取出 key-value
键值对, key
是 script
, 也就是生成了一个名字为 script
内容为 value
的文件
因为有items
存在,可以对这个文件进行改名操作,把script
改成了 testtask.go
网友评论