本节演示如何为 MySQL 数据库提供持久化存储,步骤:

  1、创建 PV 和 PVC

  2、部署 MySQL

  3、向 MySQL 添加数据

  4、模拟节点宕机故障,Kubernetes 将 MySQL 自动迁移到其他节点。

  5、验证数据一致性

一、创建 PV 和 PVC

  Pod 通常是由应用的开发人员维护,而 Volume 则通常是由存储系统的管理员维护。开发人员要获取上面的信息,要么询问管理员,要么自己就是管理员。

  这就带来了一个管理问题:应用开发人员和系统管理员的指责偶合在一起了。如果系统规模小或者对于开发环境,这种情况还可以接受。但是对于大规模项目,生产环境考虑到安全性和效率,这就成了必须要解决的问题。

  Kubernetes 给出的两个解决方案就是:PersistentVolume 和 PersistentVolumeClaim。

    * PV(PersistentVolume)是对外部存储系统中的一块存储空间,有管理员创建和维护。与 Volume 一样,PV 具有持久性,生命周期独立于Pod。

    * PVC(PersistentVolumeClaim是对 PV 的申请(Claim)。PVC 通常由普通用户创建和维护,需要为 Pod分配存储资源是,用户可以创建一个 PVC,指明存储资源的容量大小和访问模式(比如只读)等信息,Kubernetes 会查找并提供满足条件的 PV。

  

  好,科普完,开始创建:

  mypv1.yml:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
apiVersion: v1
kind: PersistentVolume
metadata:
  name: mypv1
spec:
  accessModes:
    - ReadWriteOnce
  capacity:
    storage: 1Gi
  persistentVolumeReclaimPolicy: Recycle
  storageClassName: nfs
  nfs:
    path: /nfsdata/mysql-pv
    server: 192.168.43.112

   mypvc.yml:

1
2
3
4
5
6
7
8
9
10
11
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: mypvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  storageClassName: nfs

kubernetes学习 做持久化存储的更多相关文章

  1. 14-使用glusterfs做持久化存储

    使用glusterfs做持久化存储 我们复用kubernetes的三台主机做glusterfs存储. 以下步骤参考自:https://www.xf80.com/2017/04/21/kubernete ...

  2. [转帖]14-使用glusterfs做持久化存储

    14-使用glusterfs做持久化存储 https://www.cnblogs.com/guigujun/p/8366558.html 使用glusterfs做持久化存储 我们复用kubernete ...

  3. 使用Ceph集群作为Kubernetes的动态分配持久化存储(转)

    使用Docker快速部署Ceph集群 , 然后使用这个Ceph集群作为Kubernetes的动态分配持久化存储. Kubernetes集群要使用Ceph集群需要在每个Kubernetes节点上安装ce ...

  4. Kubernetes调用vSphere vSAN做持久化存储

    参考 1.vSphere Storage for Kubernetes 2.IBM vSphere Cloud Provider 3.GitHub vSphere Volume examples 一. ...

  5. [置顶] kubernetes资源类型--持久化存储Persistent Volume和Persistent Volume Claim

    概念 存储管理跟计算管理是两个不同的问题.理解每个存储系统是一件复杂的事情,特别是对于普通用户来说,有时并不需要关心各种存储实现,只希望能够安全可靠地存储数据. 为了简化对存储调度,K8S对存储的供应 ...

  6. Redis持久化存储详解(一)

    > 为什么要做持久化存储? 持久化存储是将 Redis 存储在内存中的数据存储在硬盘中,实现数据的永久保存.我们都知道 Redis 是一个基于内存的 nosql 数据库,内存存储很容易造成数据的 ...

  7. Kubernetes 学习(十)Kubernetes 容器持久化存储

    0. 前言 最近在学习张磊老师的 深入剖析Kubernetes 系列课程,最近学到了 Kubernetes 容器持久化存储部分 现对这一部分的相关学习和体会做一下整理,内容参考 深入剖析Kuberne ...

  8. Kubernetes持久化存储2——探究实验

    目录贴:Kubernetes学习系列 一.简介 本文在“创建PV,创建PVC挂载PV,创建POD挂载PVC”这个环境的基础上,进行各种删除实验,并记录.分析各资源的状态. 二.实验脚本 实验创建了一个 ...

  9. Kubernetes持久化存储1——示例

    目录贴:Kubernetes学习系列 一.简介 存储管理与计算管理是两个不同的问题.Persistent Volume子系统,对存储的供应和使用做了抽象,以API形式提供给管理员和用户使用.要完成这一 ...

随机推荐

  1. HDU 2907

    http://acm.hdu.edu.cn/showproblem.php?pid=2907 ans=(凸包顶点数-凸包凹面数量)*q-凸包凹面数量*p 重点在求一个凸包的凹面数量,极角排序过后,当前 ...

  2. I.MX6 Linux I2C device& driver hacking

    /******************************************************************************************* * I.MX6 ...

  3. OLED的相关信息

    有2种方式与OLED模块相连接,一种是8080的并口方式,另一种是4线SPI方式. ALIENTEK OLED 模块的 8080 接口方式需要如下一些信号线:CS: OLED 片选信号.WR:向 OL ...

  4. Java工具创建密钥库,用于Unity 3D打包、签名、发布

    Java工具创建密钥库 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心创新! ...

  5. .Net Core:部署应用

    实战Asp.Net Core:部署应用   1.前言 某一刻,你已经把 .Net Core 的程序写好了.接下来,还可以做什么呢?那就是部署了. 作为一名开发工程师,如果不会部署自己开发的应用,那么这 ...

  6. beautiful number 数位DP codeforces 55D

    题目链接: http://codeforces.com/problemset/problem/55/D 数位DP 题目描述: 一个数能被它每位上的数字整除(0除外),那么它就是beautiful nu ...

  7. 《DSP using MATLAB》Problem 4.5

    1. 2. 3. 5.不会

  8. (转)C++初始化与赋值

    来源:http://www.cnblogs.com/chio/archive/2008/10/06/1305145.html 先来个区别说明:赋值操作是在两个已经存在的对象间进行的,而初始化是要创建一 ...

  9. EasyPHP-Devserver-17的坑位

    mysql登陆错误:error: 'Plugin '*2A8AF30E682613A2F1CE1E28BA11D8560B294DCE' is not loaded' http://stackover ...

  10. hadoop 配置文件简析

    文件名称            格式                     描述 hadoop-env.sh      bash脚本            记录hadoop要用的环境变量 core- ...