
k8s环境中,pod的初始化工作,需要pause容器或者init容器的支持;
pause容器:
- 提供整个pod的Linux命名空间的基础;
- 启用PID命名空间,它在每个pod中都作为PID为1进程,并回收僵尸进程;
init容器:
1.init 容器可以包含一些安装过程中应用容器不存在的实用工具或个性化代码;
2.提供应用容器需要一些必要的目录或者配置文件甚至涉及敏感信息;
eg:
apiVersion: v1
kind: Pod
metadata:
name: mydb
labels:
app: db
spec:
initContainers:
- name: fetch
image: mwendler/wget
command: ["wget","--no-check-certificate","https://sample-videos.com/sql/Sample-SQL-File-1000rows.sql","-O","/docker-entrypoint-initdb.d/dump.sql"]
volumeMounts:
- mountPath: /docker-entrypoint-initdb.d
name: dump
containers:
- name: mysql
image: mysql
env:
- name: MYSQL_ROOT_PASSWORD
value: "example"
volumeMounts:
- mountPath: /docker-entrypoint-initdb.d
name: dump
volumes:
- emptyDir: {}
name: dump
浙公网安备 33010602011771号