KOPS located/running 来自哪里?

Where is KOPS located/running from?

我是 Docker 和 Kubernetes 的新手,虽然我现在已经基本弄清楚它是如何工作的。

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

我遇到的最后一件事是 KOPS 设置。我非常确定 Kubernetes 是通过 KOPS 设置的。一个S3 bucket上有两个KOPS state store(分别对应一个dev和prod集群)

然而,虽然我可以找到 kubectl/kubernetes 正在 运行 上的服务器,但绝对 none 我有权访问的服务器似乎有 kops 命令。

我是不是误解了 KOPS 的工作原理?它不做某种动态监控吗(那只是由 ReplicaSet 自己完成吗?),而是只是设置一个集群 运行ning 就完成了?

我可以包含我的 cluster.spec 或配置文件,如果它们对任何人都有帮助的话,但我真的看不出它们与这个问题有何关联。

我想我只是感到困惑 - 据我所知,看起来 KOPS 是 运行 一次,建立一个集群,完成了。但是每当我的节点或主服务器之一出现故障时,它就会自我修复。我希望是节点服务器,而不是主服务器。

这一切都在 AWS 上。

抱歉,如果这是一个愚蠢的问题,我只是无法从概念上理解这里发生的事情。

kops 是一个命令行工具,您可以从您自己的机器(或跳转箱)运行 它并为您创建集群,这不是一个长期的 运行ning服务器本身。如果您熟悉 Terraform,它就像 Terraform,但专门为旋转 Kubernetes 集群量身定制。

kops 通过自动缩放组在 AWS 上创建节点。正是这种构造(这是 AWS 的东西)确保您的节点恢复到所需的数量。

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

至于如何在节点出现故障时 pods 重新启动,这就是 Kubernetes 作为容器编排器努力做的事情。你声明你想要的状态,Kubernetes 系统会实现它。如果事情崩溃或失败或消失,Kubernetes 旨在调和实际状态和期望状态之间的这种差异,并将期望的容器工作负载安排到可用节点上的 运行,以使世界的实际状态恢复到您期望的状态.在较低的层次上,AWS 做了类似的事情——它创建 VM 并让它们 运行ning。如果 Amazon 需要关闭主机进行维护,它会弄清楚如何 运行 您的 VM(并附加卷等)自动到别处。