在Kubernetes布局中,首先我创建了节点集群(考虑为物理PC)。现在,每台PC内可以有多个POD。在每个POD内再次有多个容器。每个容器可以容纳多个应用程序(但理想情况下应限制为一个)。
现在,如果以上说法为真:
答案 0 :(得分:2)
您的上述理解是正确的
1)然后我们在节点周围有集群,但是在节点内部我们 有不同的应用?
是的,您可以说节点内部有不同的应用程序,但是您也可以说kubernetes集群内部有不同的应用程序,而kubernetes调度程序根据资源可用性(例如CPU,ram)在kubernetes集群的不同节点中调度这些应用程序。 >
2)对于放大/缩小或自我修复,我们仅增加Node或 POD
kubernetes中应用程序的按比例放大/缩小或自我修复会增加/减少kubernetes调度程序完成的pod,并且如果某些pod死亡,kuberenetes调度程序会在新节点/相同节点中调度新的替换pod作为自我修复的一部分
Kubernetes使用HPA(水平Pod自动缩放器)进行放大/缩小应用程序,它将根据cpu,内存或自定义指标等指标定义来增加/减少Pod。
答案 1 :(得分:0)
集群是将多个节点互连的概念,节点周围没有集群,节点是集群。在Kubernetes中,集群还具有一些管理服务以跟踪成员并控制应用程序使用的资源分配,托管这些服务的节点称为主节点。
您不应该尝试在节点和应用程序之间找到链接,应用程序只是在集群中运行的二进制文件(以容器的形式),可以将节点视为放置它们的位置,Kubernetes做得很好从您的应用程序中抽象出来,这就是为什么每个POD都有自己的IP而不是使用节点的IP的原因,因为应用程序不需要知道它在哪里运行。
关于扩展问题,您可以扩展集群或应用程序。
扩展应用程序时,可以在集群中添加更多副本(副本)以处理更多处理。
扩展集群时,您会添加更多资源(内存/ CPU /磁盘)以提供容纳更多应用程序的空间,添加节点只是实现此目的的一种方法。
如果您的应用程序需要更多容量,并且集群有能力提供,则您只能扩展pod \ deployments,以为应用程序提供足够的资源。
自我修复是管理服务的工作,它会跟踪资源,并在出现问题的情况下(例如:集群中的某个节点丢失),管理服务将对其进行补偿,将应用程序分配到其他可用节点上,或者只是在POD失败的情况下重新启动应用程序。
This docs对体系结构进行了更多解释。