k8s之emptyDir的使用记录
Kubernetes支持存储卷类型中,emptyDir存储卷的生命周期与其所属的Pod对象相同,它无法脱离Pod对象的生命周期提供数据存储功能,因此emptyDir通常仅用于数据缓存或临时存储。
·
k8s之emptyDir的使用记录
emptyDir介绍
Kubernetes支持存储卷类型中,emptyDir存储卷的生命周期与其所属的Pod对象相同,它无法脱离Pod对象的生命周期提供数据存储功能,因此emptyDir通常仅用于数据缓存或临时存储。
使用emptyDir存储卷创建pod
如下示例中定义的存储卷名称为html,挂载于容器nginx的 /usr/share/nginx/html目录,以及容器pagegen的/html目录。容器pagegen每隔10秒向存储卷上的index.html文件中追加一行信息,在nginx容器,则使用tail命令持续监控 /usr/share/nginx/html目录下index.html文件的变化。
# 创建yaml文件
vim vol-emptydir.yaml
"""# vol-emptydir.yaml的内容如下所示:
apiVersion: v1
kind: Pod
metadata:
name: vol-emptydir-pod
namespace: one-namespace
spec:
volumes:
- name: html
emptyDir: { }
containers:
- name: nginx
image: nginx:latest
command: ["bash", "-c", "tail -f /usr/share/nginx/html/index.html"]
volumeMounts:
- name: html
mountPath: /usr/share/nginx/html
- name: pagegen
image: alpine
volumeMounts:
- name: html
mountPath: /html
command: [ "/bin/sh", "-c" ]
args: #定义循环,每10秒向/html/文件中追加写入当前主机名和时间
- while true; do
echo $(hostname) $(date) >> /html/index.html;
sleep 10;
done
"""
# 创建pod
kubectl create -f vol-emptydir.yaml
# 查看pod状态
kubectl -n one-namespace get po
"""查看结果:
NAME READY STATUS RESTARTS AGE
vol-emptydir-pod 2/2 Running 1 17s
"""
# 查看nginx容器的日志信息,确定是否共享成功
kubectl -n one-namespace logs vol-emptydir-pod -c nginx
"""
vol-emptydir-pod Wed Jun 29 03:45:46 UTC 2022
vol-emptydir-pod Wed Jun 29 03:45:56 UTC 2022
vol-emptydir-pod Wed Jun 29 03:46:06 UTC 2022
vol-emptydir-pod Wed Jun 29 03:46:16 UTC 2022
"""
配置信息补充
下面的代码中,medium指定临时存储到内存中,sizeLimit则是给予的内存空间大小。
volumes:
- name: volume_name
emptyDir:
medium: Memory
sizeLimit: 256Mi
更多推荐
已为社区贡献1条内容
所有评论(0)