摘要: 本节演示如何为 MySQL 数据库提供持久化存储,步骤为: 创建 PV 和 PVC。 部署 MySQL。 向 MySQL 添加数据。 模拟节点宕机故障,Kubernetes 将 MySQL 自动迁移到其他节点。 验证数据一致性。 首先创建 PV 和 PVC,配置如下: mysql-pv.yml my 阅读全文
posted @ 2019-07-01 15:42 TwoB 阅读(1052) 评论(0) 推荐(0) 编辑
摘要: 在进行docker pull 拉取镜像时,出现过下面的错误: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) 原因是国内下载官方镜像点提供 阅读全文
posted @ 2019-07-01 15:25 TwoB 阅读(14836) 评论(1) 推荐(1) 编辑
摘要: 前面的例子中,我们提前创建了 PV,然后通过 PVC 申请 PV 并在 Pod 中使用,这种方式叫做静态供给(Static Provision)。 与之对应的是动态供给(Dynamical Provision),即如果没有满足 PVC 条件的 PV,会动态创建 PV。相比静态供给,动态供给有明显的优 阅读全文
posted @ 2019-07-01 14:39 TwoB 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 当 PV 不再需要时,可通过删除 PVC 回收。 当 PVC mypvc1 被删除后,我们发现 Kubernetes 启动了一个新 Pod recycler-for-mypv1,这个 Pod 的作用就是清除 PV mypv1 的数据。此时 mypv1 的状态为 Released,表示已经解除了与 m 阅读全文
posted @ 2019-07-01 14:36 TwoB 阅读(575) 评论(0) 推荐(0) 编辑
摘要: 上一节我们介绍了 PV 和 PVC,本节通过 NFS 实践。 作为准备工作,我们已经在 k8s-master 节点上搭建了一个 NFS 服务器,目录为 /nfsdata: 下面创建一个 PV mypv1,配置文件 nfs-pv1.yml 如下: ① capacity 指定 PV 的容量为 1G。 ② 阅读全文
posted @ 2019-07-01 11:59 TwoB 阅读(273) 评论(0) 推荐(0) 编辑
摘要: Volume 提供了非常好的数据持久化方案,不过在可管理性上还有不足。 拿前面 AWS EBS 的例子来说,要使用 Volume,Pod 必须事先知道如下信息: 当前 Volume 来自 AWS EBS。 EBS Volume 已经提前创建,并且知道确切的 volume-id。 Pod 通常是由应用 阅读全文
posted @ 2019-07-01 11:17 TwoB 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 如果 Kubernetes 部署在诸如 AWS、GCE、Azure 等公有云上,可以直接使用云硬盘作为 Volume,下面是 AWS Elastic Block Store 的例子: 要在 Pod 中使用 ESB volume,必须先在 AWS 中创建,然后通过 volume-id 引用。其他云硬盘 阅读全文
posted @ 2019-07-01 11:09 TwoB 阅读(194) 评论(0) 推荐(0) 编辑
摘要: hostPath Volume 的作用是将 Docker Host 文件系统中已经存在的目录 mount 给 Pod 的容器。大部分应用都不会使用 hostPath Volume,因为这实际上增加了 Pod 与节点的耦合,限制了 Pod 的使用。不过那些需要访问 Kubernetes 或 Docke 阅读全文
posted @ 2019-07-01 11:02 TwoB 阅读(734) 评论(0) 推荐(0) 编辑
摘要: 本章将讨论 Kubernetes 如何管理存储资源。 首先我们会学习 Volume,以及 Kubernetes 如何通过 Volume 为集群中的容器提供存储;然后我们会实践几种常用的 Volume 类型并理解它们各自的应用场景;最后,我们会讨论 Kubernetes 如何通过 Persistent 阅读全文
posted @ 2019-07-01 10:23 TwoB 阅读(182) 评论(0) 推荐(0) 编辑