emptyDir

EmptyDir从名称上的意思看是空的目录,它是在Pod创建的时候新建的一个目录。

如果Pod配置了EmptyDir数据卷,在Pod的生命周期内都会存在,当Pod被分配到Node上的时候,会在Node上创建EmptyDir数据卷,并挂载到Pod的容器中。只要Pod存在,EmptyDir数据卷都会存在(容器删除不会导致EmptyDir数据卷丢失数据),但是如果Pod的生命周期终结(Pod被删除),EmptyDir数据卷也会被删除,并且永久丢失。

EmptyDir数据卷非常适合实现Pod中容器的文件共享。Pod的设计提供了一个很好的容器组合的模型,容器之间各司其职,通过共享文件目录来完成交互,比如可以通过一个专职日志收集容器,在每个Pod中和业务容器中进行组合,来完成日志的收集和汇总。

清单文件

apiVersion: v1
kind: Pod
metadata:
  name: test
  namespace: default
  labels:
    app: test
    environment: develop
spec:
  containers:
  - name: httpd
    image: ikubernetes/myapp:v1
    imagePullPolicy: IfNotPresent
    ports:
    - containerPort: 80
      name: http
      protocol: TCP
    volumeMounts:
    - name: html-vol
      mountPath: /usr/share/nginx/html/
  - name: busybox
    image: busybox:latest
    volumeMounts: 
    - name: html-vol
      mountPath: /usr/share/nginx/html/
    command: ["/bin/sh", "-c", "while true; do echo $(date) >> /usr/share/nginx/html/index.html; sleep 2; done"]
  volumes:
  - name: html-vol
    emptyDir: {}

results matching ""

    No results matching ""