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 年前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 年前3Apache OpenWhisk + Kubernetes: A Perfect Match for Your Serverless Platform
lib or tools as Deployment: – CouchDB – Redis – Zookeeper – Nginx StatefulSet/DaemonSet • StatefulSet is the workload API object used to manage stateful applications. Manages the deployment (or some) Nodes run a copy of a Pod • In OpenWhisk, we deploy strictly mangaged objects as StatefulSet or DaemonSet: – Controller – Invoker – Kafka Jobs • A job creates one or more pods0 码力 | 24 页 | 3.53 MB | 1 年前3Автоматизация управления ClickHouse-кластерами в Kubernetes
LoadBalancer 10.98.143.187 NAME DESIRED CURRENT AGE statefulset.apps/chi-demo-01-demo-0-0 1 1 37s Sharding apiVersion: "clickhouse.altinity NAME DESIRED CURRENT AGE statefulset.apps/chi-demo-01-demo-0-0 1 1 2m statefulset.apps/chi-demo-01-demo-1-0 1 1 33s Управление0 码力 | 44 页 | 2.24 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 年前3OpenShift Container Platform 4.9 节点
收集的指标来自动增加或缩小该复制控制器或部署配置的规模。您可 以为任何 Deployment、DeploymentConfig、ReplicaSet、ReplicationController 或 StatefulSet 对象 创建 HPA。 注意 注意 除非需要特定功能或由其他对象提供的行为,否则建议使用 Deployment 对象或 ReplicaSet 对象。如需有关这些对象的更多信息,请参阅了解 CLI,您可以创建一个 pod 横向自动扩展(HPA)来自动扩展现有的 Deployment、DeploymentConfig、ReplicaSet、ReplicationController 或 StatefulSet 对象。HPA 扩 展与该对象关联的 pod,以维护您指定的 CPU 用量。 注意 注意 除非需要特定功能或由其他对象提供的行为,否则建议使用 Deployment 对象或 ReplicaSet 指定要自动扩展的对象类型和名称。对象必须存在,并需要是 Deployment, DeploymentConfig/dc, ReplicaSet/rs, ReplicationController/rc, 或 StatefulSet。 另外,还可以指定缩减时的最小副本数量。 指定扩展时的最大副本数量。 指定所有 pod 的目标平均 CPU 使用率(以请求 CPU 的百分比表示)。如果未指定或为 负数,则会使用默认的自动缩放策略。0 码力 | 374 页 | 3.80 MB | 1 年前3
共 43 条
- 1
- 2
- 3
- 4
- 5