39、k8s-数据存储-基本存储-EmptyDir(空目录)

EmptyDir

EmptyDir(空目录)是最基础的Volume类型、一个EmptyDir就是Host上的一个空目录、
EmptyDir是在pod分配到Node时创建的、它的初始化内容时空的、并且无需指定宿主机上对应的目录文件、因为kubernetes会自动分配一个目录、当pod销毁时、EemptyDir中的数据也会备永久的删除。
它的用途有:
    ·临时空间、例如用于某些应用程序运行时所需的临时目录、且无需永久保存
    ·一个容器需要从另一个容器中获取数据的目录(多容器共享目录)

实验:

 

1、创建yaml文件:vim volume-emptydir.yaml
------------------------------------------------------------
apiVersion: v1
kind: Pod
metadata:
  name: volume-emptydir
  namespace: dev
spec:
  containers:
  - name: nginx
    image: nginx:1.17.1
    ports:
    - containerPort: 80
    volumeMounts:
    - name: logs-volume                 #卷名
      mountPath: /var/log/nginx         #容器中的nginx下的日志文件挂载到pod里

  - name: busybox                    #
    image: busybox:1.30
    command: ["/bin/sh","-c","tail -f /logs/access.log"]        #初始内容动态读取指定文件中的内容
    volumeMounts:
    - name: logs-volume
      mountPath: /logs

  volumes:      #声明volume、name为logs-volume、类型为emptyDir
  - name: logs-volume   #卷名
    emptyDir: {}        #卷类型
    
    #nginx往logs-volume里写日志、busybox往logs-volume里读取日志(读到的还是nginx的日志)
----------------------------------------------------------------------------------------------------------
2、创建pod:kubectl create -f volume-emptydir.yaml
3、查看pod:kubectl get pods volume-emptydir -ndev -owide
4、使用kubectl log查看指定容器日志的标准输出:
    ·实时监听日志:kubectl logs -f volume-emptydir -ndev -c busybox
    ·访问nginx时观看上面日志的输出:curl 10.244.1.92:80
    ------------------------------------------------------------------------------
    10.244.0.0 - - [11/Sep/2023:13:38:36 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-"
    #nginx的日志输出
    ---------------------------------------------------------------------------------------------

 

posted @ 2024-07-01 22:15  little小新  阅读(137)  评论(0)    收藏  举报