k8s的数据持久化方式

本文介绍了Kubernetes中三种数据持久化方式:emptyDir(在pod删除时丢失数据)、hostPath(耦合节点,限制pod调度)和NFS(通过共享存储实现跨节点持久化)。emptyDir在容器重启时保持数据,hostPath将节点文件系统挂载到pod,而NFS则提供了一个全局资源,通过PV和PVC连接存储服务器。
摘要由CSDN通过智能技术生成

第一种持久化方式emptyDir:

emptyDir:数据卷在创建pod时分配给该pod,并且直到pod被移除,该数据卷才被释放。该数据卷初始分配时,始终是一个空目录。同一个pod中的不同容器都可以对该目录执行读写操作,并且共享其中的数据(尽管不同容器可能将该数据卷挂载到容器中的不同路径)。当pod被删除后,emptyDir数据卷中的数据将被永久删除。(PS:容器奔溃时,kubelet并不会删除pod,而仅仅是将容器重启,因此emptyDir中的数据在容器崩溃并重启后,仍然是存在的)。简单说就是当你使用emptyDir持久化数据时当你删除pod中的容器时,你的数据不会受到影响,但是当你删除pod以后,你的数据就会丢失,这也是它的弱点所在.
实现emptyDir代码如下

[root@k8s-master tomcat]# cat mysql-rc.yml 
apiVersion: v1
kind: ReplicationController
metadata:
  namespace: tomcat
  name: mysql
spec:
  replicas: 1
  selector:
    app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      volumes:
        - name: tomcat-db
          emptyDir: {
   }
      containers:
        - name: mysql
          image: 10.0.0.11:5000/mysql:5.7
          volumeMounts:
          - name: tomcat-db
            mountPath: /var/lib/mysql
          ports:
          - containerPort: 3306
          env:
          - name: MYSQL_ROOT_PASSWORD
            value: '123456'

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值