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              
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值