KOPS在哪里/从哪里运行?

时间:2019-07-16 23:25:21

标签: kubernetes kops

我是Docker和Kubernetes的新手,尽管我大多数时候都已经弄清楚了它是如何工作的。

我继承了同时使用这两个应用程序和KOPS的应用程序。

我遇到的最后一件事是KOPS设置。我绝对确定Kubernetes是通过KOPS设置的。 S3存储桶上有两个KOPS状态存储(分别对应于dev和prod集群)

但是,尽管我可以找到运行kubectl / kubernetes的服务器,但我访问的所有服务器似乎都没有kops命令。

我是否误解了KOPS的工作原理?它不执行某种动态监视(仅由ReplicaSet自己完成吗?),而是仅设置正在运行的集群并完成?

如果它们对任何人都有帮助,我可以包括我的cluster.spec或config文件,但我真的看不到它们与这个问题有多么密切的联系。

我想我只是感到困惑-从我的角度来看,它看起来像KOPS运行一次,建立集群并完成了。但是,每当我的节点服务器或主服务器之一发生故障时,它就会自我修复。我希望可以使用节点服务器,而不是主服务器。

这一切都在AWS上完成。

很抱歉,如果这是一个愚蠢的问题,我只是在概念上难以理解这里发生的事情。

1 个答案:

答案 0 :(得分:1)

kops是一种命令行工具,您可以从自己的计算机(或Jumpbox)上运行它,并为您创建集群,它本身并不是运行时间较长的服务器。如果您熟悉的话,它就像Terraform,但专门为旋转Kubernetes集群而量身定制。

kops通过自动伸缩组在AWS上创建节点。通过这种结构(这是AWS的事情),可以确保您的节点恢复到所需的数量。

kops用于管理Kubernetes集群本身,例如创建,扩展,更新,删除。 kubectl用于管理在Kubernetes上运行的容器工作负载。您可以使用它来创建,缩放,更新和删除副本集。您在Kubernetes上运行工作负载的方式应该与您(或某些集群管理员)用来管理Kubernetes集群本身的方式/方式无关。也就是说,除非您尝试更改Kubernetes的“系统组件”,例如Kubernetes API或kubedns,它们是群集管理级别的问题,但碰巧在Kuberentes上作为容器工作负载运行。 / p>

关于节点发生故障时吊舱如何旋转,这就是Kubernetes作为容器协调器所做的努力。您声明所需的状态,Kubernetes系统将其设置为所需状态。如果事情崩溃,失败或消失,Kubernetes的目标是调和实际状态与所需状态之间的差异,并计划所需的容器工作负载在可用节点上运行,以使世界的实际状态与所需状态保持一致。在较低级别,AWS做类似的事情-创建VM并使它们保持运行。如果Amazon需要拆除主机进行维护,它将找出如何在其他位置自动运行VM(以及附加卷等)的方法。