我是库伯内特斯的新手,我读过很多文章,但没有找到一个基本的答案来回答我的怀疑。
假设我有2个节点-- kubernete集群,然后在其上部署了2个应用程序。
节点1,Pod1 -> App1节点1,Pod1 -> App2节点2,Pod1 -> App1节点2,Pod1 -> App2
节点1- > Pod1 -> App1节点1- Pod2 -> App2节点2- Pod1 -> App1节点2- Pod2 -> App2
发布于 2019-09-20 09:15:20
没有预先定义好的吊舱连接到节点上。Kubernetes调度程序动态地决定在创建吊舱时要分配到哪个节点。
通常,Kubernetes应用程序由一组复制的荚(在大多数情况下由部署资源管理)组成。这些吊舱最终运行在哪些节点上取决于调度程序。没有一个内置的策略,即同一应用程序的复制荚必须在不同的节点上运行。
但是,您可以通过各种机制影响调度程序的决策:
发布于 2019-09-20 08:21:43
这取决于您在部署中设置了多少副本?如果您有2个节点,并且在A部署中设置了1个副本,那么您将在第一个节点或第二个节点中设置一个pod。如果您在A部署中设置了3个副本,那么您将在第一个节点或第二个节点中设置3个pod,或者在第一个节点中设置2个pod,在第二个节点中设置1个pod,或者其他方式。
发布于 2019-09-20 09:37:59
一种吊舱,包括应用程序容器或一组应用程序容器。当一个吊舱中有超过一个容器时,kubernetes调度程序确保在同一个节点上创建在pod规范中定义的所有容器。
Kubernetes调度程序总是根据各种因素(包括资源可用性),尝试在节点间传播豆荚。
关于你的问题:
如果两个荚的复制计数为'1‘,那么无论节点数多少,每个应用程序只会创建一个pod实例。否则,Kubernetes调度程序将根据每个节点上可用的资源(CPU、内存)动态地决定放置额外副本的位置。默认复制计数(也称为副本)为1。
如果两个节点都有足够的可用资源,则结构可以如下所示:
Node 1 - Pod 1 -> App1
Node 2 - Pod 2 -> App2根据资源的可用性,kubernetes调度程序可以创建其他副本,如下所示:
Node 1 - Pod 1 -> App1
Pod 2 -> App2
Node 2 - Pod 1 -> App1
Pod 2 -> App2https://stackoverflow.com/questions/58023149
复制相似问题