Kubernetes开源书 - 周立
10-Annotation 11-K8s架构及基本概念 12-Master与Node的通信 13-Node 14-Pod 15-Replica Set 16-Deployment 17-StatefulSet 18-Daemon Set 19-配置最佳实践 20-管理容器的计算资源 21-Kubernetes资源分配 22-将Pod分配到Node 23-容忍与污点 24-Secret 能组合——Kubelet实际上是“Pod控制器” ⾼可⽤性应⽤,Pod可在其终⽌或删除之前被替换,例如在计划的驱逐,图像预取或Pod实时移植的情况下#3949 14-Pod 43 StatefulSet 控制器(⽬前处于Beta测试阶段),⽀持有状态Pod。该功能在1.4中是alpha测试阶段,被称为PetSet。对 于先前版本的Kubernetes,有状态Pod的最佳做法是创建⼀个replication od。在 Node上,被设为⽴即终⽌的Pod在被强制杀死之前仍然会有⼀个较⼩的优雅关闭时间。 强制删除对于某些Pod可能是危险的,应慎⽤。在StatefulSet Pod的情况下,请参阅deleting Pods from a StatefulSet 。 Pod phase Pod的 status 字段是⼀个PodStatus 对象,它有⼀个 phase 字段。 Pod的phase0 码力 | 135 页 | 21.02 MB | 1 年前3K8S安装部署开放服务
search repo emqx helm fetch emqx/emqx tar xvf emqx-4.2.0.tgz Step2. 修改 StatefulSet.yaml vi emqx/templates/StatefulSet.yaml spec: volumes: - name: host-time hostPath: fetch bitnami/redis-cluster tar zxvf redis-cluster-3.2.5.tgz Step2. 修改 values.yaml 以及 redis-statefulset.yaml vi redis-cluster/values.yaml usePassword: true password: "redis123" persistence: "ceph" accessModes: - ReadWriteOnce size: 500Mi vi redis-cluster/templates/redis-statefulset.yaml volumes: - name: host-time hostPath: path: "/etc/localtime"0 码力 | 54 页 | 1.23 MB | 1 年前3k8s操作手册 2.3
★StatefulSet控制器 在使用deployment时,创建的pod名称是没有顺序的,是随机字符串,在用 statefulset管理pod时要求pod名称必须是有序的,每一个pod不能被随意取代, pod重建后pod名称还是一样的(pod ip会变)。 Deployment称为无状态应用,StatefulSet称为有状态应用 statefulset管理pod的启停顺序: 序: 有 序 部 署 部署StatefulSet时,如果有多个Pod副本,它们会被顺 序地创建(从0到N-1) 并且在下一个Pod运行之前,前面的所有Pod都必须是 Running和Ready状态 有 序 删 除 当Pod被删除时,它们被终止的顺序是从N-1到0 有 序 扩 展 当对Pod执行扩展操作时,与部署一样,它前面的Pod 必须都处于Running和Ready状态 # # vi nginx-statefulset.yml #内容如下 apiVersion: apps/v1 kind: StatefulSet metadata: name: nginx-statefulset #StatefulSet名,也是pod名,不同于容器名 spec: replicas: 2 #pod运行副本数(实例数) selector:0 码力 | 126 页 | 4.33 MB | 1 年前3Kubernetes 容器编排与应用编排
容器编排与应用架构 容器编排的困境 应用编排架构 Kubernetes Caicloud Kubernetes 控制器架构 Controllers Deployment StatefulSet DaemonSet Job CronJob Pod Pod Pod Pod Pod Pod Pod Pod Pod Master Node Node Node ReplicationController ReplicationController? ReplicaSet PetSet (issue #27430) Kubernetes 控制器模式 Deployment StatefulSet DaemonSet Job CronJob ReplicaSet Pod No Scheduler Kubernetes 控制器 Deployment Deployment ReplicaSet Pod Update 3. 可控的滚动更新模式 4. 支持回滚 5. 可通过 HPA 实现自动弹性伸缩 Kubernetes 控制器 StatefulSet StatefulSet Pod 1. 支持指定副本数 2. Pod 具有固定且唯一的标识符 * statefulset-example-0.example 3. Pod 可具有独立的存储 4. 一切都是有序的 * 从 0 开始逐个创建(需等待0 码力 | 20 页 | 4.22 MB | 1 年前302 TiDB Operator 架构与实现 付业成
pod, deployment, statefulset, etc. - But it does not know how to operate a TiDB cluster... Kubernetes Pattern - Declarative Model PingCAP.com - Kubernetes has pod, deployment, statefulset, etc. - But it It’s ok to upgrade a High Availability system like TiDB directly. But, to avoid spikes we use StatefulSet partition to perform a phased roll out. - Upgrade PD - Upgrade TiKV - Upgrade TiDB PingCAP successfully, scale in the StatefulSet Scaling In - PD PingCAP.com - Delete the TiKV store via PD API first - Wait for the store to be tombstoned - Scale the statefulset Scaling In - TiKV PingCAP0 码力 | 47 页 | 1.73 MB | 5 月前3Greenplum on Kubernetes 容器化MPP数据库
资源分配:CPU,内存,磁盘 ○ 资源调度:Pod → Node ● Pod管理 ○ 无状态计算资源组:Deployment ○ 有状态计算资源组:StatefulSet ● Pod持久存储 ○ 通过PVC申请PV存储资源 ● StatefulSet ○ Pod网络地址不变 ○ Pod与PV映射关系不变 Kubernetes 网络资源 Service ● Service ○ 定义统一网络地址 Segment Pod Segment Instance Segment Pod Segment Instance Master StatefulSet (2) Primary Segment StatefulSet (N) Mirror Segment StatefulSet (N) Cluster PV (N) Database Service (Active Master) Greenplum Master节点示例 Segment节点示例 Greenplum on Kubernetes Greenplum on Kubernetes ● 存储计算分离 ○ PV持久化存储资源 ○ StatefulSet/Pod弹性扩展计算资源 ● 数据库服务层 ○ Service统一Master & Standby Master地址 ● 服务发现机制 ○ 所有节点地址名不变 ● 跨云能力 ○ 容器应用对基础设施透明0 码力 | 33 页 | 1.93 MB | 1 年前3基于Kubernetes构建容器云平台的实践 - UCloud优刻得实验室负责⼈ 叶理灯
Operator管理理有状态的服务 StatefulSet • 直接管理理的 Pod 的 hostname、名字等都是携带了了编号,Pod 的 创建,也是严格按照编号顺序进⾏行行 • 通过 Headless Service为这些有编号的 Pod,在 DNS 服务器器中 ⽣生成带有同样编号的 DNS 记录 • StatefulSet 还为每⼀一个 Pod 分配并创建⼀一个同样编号的 全部的 Namespace 或者特 定Namespace中对CR的创建、更更新、删除事件 • Operator 处理理这些事件,可以使⽤用 k8s 中的pod、deployment、 statefulset 对象构建应⽤用 Operator⼯工作原理理 Operator Kubernetes API Server Informer Delete Update Add cr cr Kubernetes API Server redis cluster redis cluster redis cluster Manage Redis Operator service statefulset pvc deployment Create Update Get Delete Operator Server 为⽤用户提供可视化 Web 操作⻚页⾯面,简化对各类⾃自0 码力 | 30 页 | 3.52 MB | 1 年前3企业云原生的探索与落地深圳沙龙-RacherLabs-20-11-14/应用容器化最佳实践
并将其设置为默认缺省存储,那么对于使用者: Step 1:创建PVC,自动关联StorageClass,动态创建PV Step 2:创建应用工作负载(Pod、 Deployment、StatefulSet等), 关联PVC使用 © Copyright 2020 Rancher Labs. All Rights Reserved. Confidential 使用Init Container检查依赖服务 Reserved. Confidential 特殊对待有状态应用StatefulSet 对于无状态应用容器化前面有了全面的说明,而有状态应用的容器化部 署却相对比较麻烦。Kubernetes提供了StatefulSet资源对象来稳定的管 理有状态应用,稳定意味着Pod调度或重调度的整个过程是有持久性的, StatefulSet的目标应用一般具备以下特点: • 稳定的、唯一的网络标识符,即Pod重新调度后PodName和 Pod运 行前所有之前的Pod必须都是Running或Ready状态 • 有序收缩、有序删除,即Pod时有序的,从N-1到0,与扩容相反 注:对于一般的比较简单的有状态应用,可以通过StatefulSet方式来部署, 但对于复杂的场景,还需要提供自动备份、故障检测、恢复自愈等自动化 运维能力时,建议通过Operator方式来部署管理,例如Etcd Operator © Copyright0 码力 | 28 页 | 3.47 MB | 1 年前3构建统一的云原生应用 可观测性数据平台
Simplify the growing complexity. 云原生应用的服务属性还有哪些 容器资源 容器集群 容器节点 命名空间 容器服务 Ingress Deployment StatefulSet ReplicaSet POD DeepFlow的典型客户环境中,两个微服务通信涉及到的标签多达上百个 Namespace Service Service Deployment Pod AutoTagging:自动同步资源和服务属性 资源池 区域 可用区 云平台 租户 云资源 宿主机 云服务器 容器资源 容器集群 容器节点 命名空间 容器服务 Ingress Deployment StatefulSet ReplicaSet POD 服务 app version env group owner stage commitId deployId ... 网络资源 VPC 子网 CIDR IP地址 现实很骨感:上百个标签,后端资源消耗飙升 资源池 区域 可用区 云平台 租户 云资源 宿主机 云服务器 容器资源 容器集群 容器节点 命名空间 容器服务 Ingress Deployment StatefulSet ReplicaSet POD 服务 app version env group owner stage commitId deployId Level ... 网络资源 VPC 子网 CIDR0 码力 | 35 页 | 6.75 MB | 1 年前3声明式自愈系统——高可用分布式系统的设计之道-王昕
Pod-0-1 Server Slave Pod-0-2 Server Group 0 StatefulSet-0 Server Master Pod-1-0 Server Slave Pod-0-1 Server Slave Pod-0-2 Server Group 1 StatefulSet-1 Server Master Pod-N-0 Server Slave Pod-N-1 Pod-N-1 Server Slave Pod-N-2 Server Group N StatefulSet-2 Storage Service Cluster Discovery Service Pod-0 Discovery Service Pod-1 Discovery Service Pod-2 Discovery Service Cluster 使用 TLA+ 验证系统自愈特性——目标状态0 码力 | 44 页 | 2.47 MB | 1 年前3
共 42 条
- 1
- 2
- 3
- 4
- 5