Kubernetes 数据存储 EmptyDir
Kubernetes 评论 1 大约 1479 字概念
EmptyDir
是最基础的Volume
类型,一个EmptyDir
就是宿主机上的一个空目录。
EmptyDir
是在Pod
被分配到Node
时创建的,它的初始内容为空,并且无须指定宿主机上对应的目录文件,Kubernetes
会自动分配一个目录,当Pod
销毁时,EmptyDir
中的数据也会被永久删除。
特点
- 临时空间,例如用于某些应用程序运行时所需的临时目录,且无须永久保留。
- 一个容器需要从另一个容器中获取数据的目录(多容器共享目录)。
示例 yml
volume-emptydir.yml
apiVersion: v1
kind: Pod
metadata:
name: volume-emptydir
namespace: dev
spec:
containers:
- name: nginx
image: nginx:1.17.1
ports:
- containerPort: 80
volumeMounts: # 将 logs-volume 挂在到 Nginx 容器中,对应的目录为 /var/log/nginx
- name: logs-volume
mountPath: /var/log/nginx
- name: busybox
image: busybox:1.30
command: ["/bin/sh","-c","tail -f /logs/access.log"] # 初始命令,动态读取指定文件中内容
volumeMounts: # 将 logs-volume 挂在到 busybox 容器中,对应的目录为 /logs
- name: logs-volume
mountPath: /logs
volumes: # 声明 volume,name 为 logs-volume,类型为 EmptyDir
- name: logs-volume
emptyDir: {} # 必须加 {}
查看 Pod
kubectl get pods -n dev -o wide
输出:
[root@localhost ~]# kubectl get pods -n dev -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
volume-emptydir 2/2 Running 0 15s 10.42.0.44 localhost.localdomain <none> <none>
查看日志
另一个终端中访问Nginx
curl 10.42.0.44
查看日志:
kubectl logs -f volume-emptydir -c busybox -n dev
输出:
[root@localhost ~]# kubectl logs -f volume-emptydir -n dev -c busybox
10.42.0.1 - - [04/Feb/2022:01:20:13 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-"
阅读 1083 · 发布于 2022-03-18
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb扫描下方二维码关注公众号和小程序↓↓↓

昵称:
-
fHLvlxbf 1楼
e
Chrome | Windows 10 2023-07-24
随便看看
换一批
-
Alpine Linux ll not found 解决方法阅读 1213
-
Cookie 设置 HttpOnly 属性防篡改阅读 2401
-
Java jmap 强制 attach 到 JVM 报错阅读 331
-
Element UI DatePicker 时间跨度限制在同一个月内阅读 5864
-
Arthas 使用 stack 查找指定方法是被谁调用的阅读 3166
-
MySQL 聚集索引和非聚集索引阅读 1546
-
Android 权限大全阅读 3483
-
Docker 镜像相关命令阅读 769
-
Java VisualVM 排查内存泄漏阅读 268
-
javac 错误: 编码 GBK 的不可映射字符阅读 1407