关于k8s:k8s集群StatefulSets的Pod调度查询丢失问题
k8s集群StatefulSets的Pod调度查问失落问题?考点之简略介绍下StatefulSets 和 Deployment 之间有什么本质区别?特定场景该如何做出抉择呢?考点之你能辩证的说说看StatefulSets 和 Deployment具体有哪些区别嘛?考点之你理解k8s集群StatefulSets的Pod调度查问失落问题吗?k8s集群中StatefulSet治理的Pod曾经实现调度并启动,为什么还是无奈查问Pod 的 DNS 命名? 囧么肥事-胡言乱语 简略介绍下StatefulSets 和 Deployment 之间有什么本质区别?首先、StatefulSet 和Deployment 都是用来治理利用的工作负载 API 对象,都治理基于各自雷同容器规约的一组 Pod,同时负责各自治理的Pod 汇合的部署和扩缩、更新回滚等。 但和 Deployment 实质上不同的是,StatefulSets 用来治理有状态利用,而Deployment 负责管理无状态利用。 如果应用程序不须要任何稳固的标识符或有序的部署、删除或伸缩,则应该应用 由一组无状态的正本控制器提供的工作负载来部署应用程序,比方 Deployment或者ReplicaSet。 如果心愿应用存储卷为工作负载提供长久存储,能够应用 StatefulSet 作为解决方案的一部分。 只管 StatefulSet 中的单个 Pod 仍可能呈现故障, 但长久的 Pod 标识符 能够更容易将现有卷与于从新调度的Pod进行绑定。 说道这里,上面简略介绍一下,利用分类: 利用通常能够分为两大类:有状态与无状态 无状态利用 简略了解就是没有非凡状态的服务服务和数据拆散,自身不存储数据各个申请对于服务器来说对立无差别解决申请能够随机发送到任意一台server上申请本身携带了所有服务端所须要的所有参数服务本身不存储跟申请相干的任何数据有状态利用 容器数据须要长久化放弃对于有数据存储性能的服务每个实例都须要有本人独立的长久化存储或者指多线程类型的服务、队列mysql数据库、kafka、zookeeper等如果server是有状态的,客户端须要始终把申请发到同一台server才行, 同时,这里了解StatefulSets 两个关键点:1、稳固的 2、有序的 “稳固的”意味着 Pod 调度或重调度的整个过程是有持久性的“有序的”意味着 Pod 调度或重调度的整个过程是须要放弃程序的对于Deployment 的具体情况,可参考:【跟k8s工作负载Deployments的缘起缘灭】 你能辩证的说说看StatefulSets 和 Deployment具体有哪些区别嘛?Deployment治理的Pod特点 Deployment被设计用来治理无状态服务的pod,每个pod完全一致 无序性:无状态服务的多个Pod正本创立和销毁是无序的,能够并行创立或销毁,相互之间不用期待,除了须要恪守规约中定义的正本个数之外,没有其余制约。随机性:无状态服务的多个Pod正本的名称是随机的,pod被重新启动调度后,它的名称与IP都会发生变化,替换为一个新的正本。共享性:无状态服务的多个Pod正本共享存储卷。Deployment中Pod基于template定义存储卷,所有正本集共用一个存储卷。 StatefulSets治理的Pod特点 StatefulSets 被设计用来治理有状态的利用,StatefulSet 治理的 Pod 具备惟一的标识,该标识包含程序标识、稳固的网络标识和稳固的存储。 并且该标识和 Pod 是绑定,不论它被调度在哪个节点上,最终都会被绑定这个惟一标识。 ...