Kubernetes有状态服务

栏目: 编程工具 · 发布时间: 5年前

内容简介:StatefulSet 的设计其实非常容易理解。它把真实世界的应用状态,抽象为了两种情况:StatefulSet 的核心功能,就是通过某种方式记录这些状态,然后在 Pod 被重新创建时,能够为新 Pod 恢复这些状态。程序 = 数据结构 + 算法。StatefulSet 这个控制器的主要作用之一,就是使用Pod 模板创建 Pod 的时候,对它们进行编号,并且按照编号顺序逐一完成创建工作。而当 StatefulSet 的“控制循环”发现 Pod 的“实际状态”与“期望状态”不一致,需要新建或者删除 Pod 进

简介(未完成)

  • 集大成者——StatefulSet

集大成者——StatefulSet

StatefulSet 的设计其实非常容易理解。它把真实世界的应用状态,抽象为了两种情况:

  1. 拓扑状态,比如应用的主节点 A 要先于从节点 B 启动
  2. 存储状态,应用的多个实例分别绑定了不同的存储数据

StatefulSet 的核心功能,就是通过某种方式记录这些状态,然后在 Pod 被重新创建时,能够为新 Pod 恢复这些状态。程序 = 数据结构 + 算法。 新增了一个功能,一定在数据表示上有体现(对应数据结构),一定在原来的工作流程中有体现或者改了工作流程(对应算法)

StatefulSet 这个控制器的主要作用之一,就是使用Pod 模板创建 Pod 的时候,对它们进行编号,并且按照编号顺序逐一完成创建工作。而当 StatefulSet 的“控制循环”发现 Pod 的“实际状态”与“期望状态”不一致,需要新建或者删除 Pod 进行“调谐”的时候,它会严格按照这些Pod 编号的顺序,逐一完成这些操作。 所以,StatefulSet 其实可以认为是对 Deployment 的改良。

StatefulSet 里的不同 Pod 实例,不再像 ReplicaSet 中那样都是完全一样的,而是有了细微区别的。比如,每个 Pod 的 hostname、名字等都是不同的、携带了编号的。Kubernetes 通过 Headless Service,为这些有编号的 Pod,在 DNS 服务器中生成带有同样编号的 DNS 记录。StatefulSet 还为每一个 Pod 分配并创建一个同样编号的 PVC。

DNS for Services and Pods “Normal” (not headless) Services are assigned a DNS A record for a name of the form my-svc.my-namespace.svc.cluster.local . Headless Service 所代理的所有 Pod 的 IP 地址,都会被绑定一个这样格式的 DNS 记录 <pod-name>.<svc-name>.<namespace>.svc.cluster.local

通过 Headless Service 的方式,StatefulSet 为每个 Pod 创建了一个固定并且稳定的 DNS记录,来作为它的访问入口。在部署“有状态应用”的时候,应用的每个实例拥有唯一并且稳定的“网络标识”,是一个非常重要的假设。

Persistent Volume Claim 和 PV 的关系。运维人员创建PV,告知有多少volume。开发人员创建Persistent Volume Claim 告知需要多少大小的volume。创建一个 PVC,Kubernetes 就会自动为它绑定一个符合条件的Volume。即使 Pod 被删除,它所对应的 PVC 和 PV 依然会保留下来。所以当这个 Pod 被重新创建出来之后,Kubernetes 会为它找到同样编号的 PVC,挂载这个 PVC 对应的 Volume,从而获取到以前保存在 Volume 里的数据。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

复杂网络理论及其应用

复杂网络理论及其应用

汪小帆、李翔、陈关荣 / 清华大学出版社 / 2006 / 45.00元

国内首部复杂网络专著 【图书目录】 第1章 引论 1.1 引言 1.2 复杂网络研究简史 1.3 基本概念 1.4 本书内容简介 参考文献 第2章 网络拓扑基本模型及其性质 2.1 引言 2.2 规则网络 2.3 随机图 2.4 小世界网络模型 2.5 无标度网络模型 ......一起来看看 《复杂网络理论及其应用》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具