BetterManEddy

导航

 

 

 

k8s环境中,pod的初始化工作,需要pause容器或者init容器的支持;

pause容器:

  1. 提供整个pod的Linux命名空间的基础;
  2. 启用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

 

posted on 2022-12-06 15:54  BetterManEddy  阅读(210)  评论(0)    收藏  举报