Kubernetes Volume 数据持久化

Volume持久化存储概念

POD重启之后,原容器数据会丢失。为了让数据可以持久化存储,可以采用Volume挂载的方式避免数据丢失。
在这里插入图片描述

Deployment发布文件样例

官方样例:参考文档

mysql-svc.yml文件,修改如下:
注意volumeMounts 和 volumes的配置。

apiVersion: v1
kind: Pod
metadata:
  name: mysql
  labels:
    app: mysql
spec:
  containers:
    - name: mysql
      #mysql官方5.7镜像
      image: mysql:5.7
      env:
        #支持启动的时候配置数据库
        - name: MYSQL_ROOT_PASSWORD
          #root用户密码,实际生产环境要配置在ConfigMap/Secret中。
          value: petclinic
        - name: MYSQL_DATABASE
          #创建数据库
          value: petclinic
      volumeMounts:
        - name: mysql-persistent-volume
          mountPath: /var/lib/mysql
  volumes:
    - name: mysql-persistent-volume
      hostPath:
        # hostPath本机目录 /tmp/data01
        path: /tmp/data01
        # DirectoryOrCreate表示如果没有就创建
        type: DirectoryOrCreate
        
---
apiVersion: v1
kind: Service
metadata:
  name: mysql
spec:
  selector:
    app: mysql
  ports:
    - name: tcp
      port: 3306
      targetPort: 3306
  type: ClusterIP

发布命令参考本专栏其他文章。例:configmap文档.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值