集装箱式Kubernetes主过程的优点

时间:2015-08-21 15:33:43

标签: kubernetes

Kubernetes HA guideFrom Scratch guide都建议在容器中运行Etcd,kube-apiserver,kube-controller-manager和kube-scheduler。在Kubernetes上自我托管Kubernetes的想法可以追溯到很长一段时间(参见K8s github上的PR 167和那里的问题/ PR),但我还没有找到关于为什么这种方法如此有益以至于应该是'推荐的方式。以下是我目前看到的好处和缺点:

优点:

  • 可以轻松升级路径,只需更新清单并让kubelet拉出新图片。
  • “容器优势”:二进制环境和主机环境分离,利用其他人的现有图像等。
  • 遵循整个Kubernetes模式,一旦您广泛使用该模式,“适合大脑”。

缺点:

  • 在某些情况下,安装/配置复杂性增加。例如,如果您的Etcd群集与Kubernetes节点分开,则现在必须安装Docker(可能的存储更改取决于Linux发行版),kubelet和Etcd。如果不使用容器化的Etcd,您只需要安装一个二进制文件。
  • 运行时复杂性增加:对于更多移动部件,Docker或kubelet中的任何错误都可能导致关键组件无法正常运行。

我是Kubernetes(和容器)的新手,并且与它引入的额外复杂性相比,我觉得我可能会缺少优势(或低估它们的价值)。但我也必须选择一次尝试。尽管存在额外的复杂性,为什么容器化主组件是运行Kubernetes的推荐方法?

1 个答案:

答案 0 :(得分:1)

最大的好处是为大多数人简化了设置。运行一些docker run命令比下载二进制文件,解压缩,微调init脚本(在每个发行版上都不同),运行主管等更容易。我们有一个非常好的流程管理器 - 依赖于它强大。

我们也不建议分享etcd,所以如果您这样做,那么您已经走了很多路。

总体而言,集装箱化部件比大多数人的替代品简单得多。