容器化 Kubernetes 主进程的优势
Advantages to containerized Kubernetes master processes
Kubernetes HA guide and the From Scratch guide 都推荐在容器中 运行ning Etcd、kube-apiserver、kube-controller-manager 和 kube-scheduler。在 Kubernetes 上自托管 Kubernetes 的想法可以追溯到很久以前(参见 PR 167 on K8s github 和 issues/PRs 链接),但我还没有找到关于为什么这种方法如此有益的讨论它应该是 'recommended' 方式。以下是我目前看到的优点和缺点:
好处:
- 可能简单的升级路径,只需更新清单并让 kubelet 拉取新图像。
- "Container advantages":二进制环境和宿主环境分离,利用别人已有的镜像等
- 遵循整个 Kubernetes 模式,因此 'fits the brain' 一旦您广泛使用该模式。
缺点:
- 在某些情况下 installation/configuration 增加了复杂性。例如,如果您的 Etcd 集群与您的 Kubernetes 节点分开,您现在必须安装 Docker(可能的存储更改取决于 Linux 发行版)、kubelet 和 Etcd。如果不使用容器化的 Etcd,您只需安装一个二进制文件即可。
- 在 运行 时增加了复杂性:随着移动部件的增多,Docker 或 kubelet 中的任何错误都可能导致关键组件无法正常工作。
我是 Kubernetes(和容器)的新手,与它引入的额外复杂性相比,我觉得我可能缺少优势(或低估了它们的价值)。但我也必须选择一次尝试的方式。为什么容器化的主组件是 运行 Kubernetes 的推荐方式,尽管有额外的复杂性?
最大的好处是为大多数人简化了设置。 运行 几个 docker run
命令比下载二进制文件、解压缩、微调初始化脚本(每个发行版都不同)、运行 主管等容易得多。我们有一个漂亮的好的流程管理器——靠的就是强大。
我们也不建议共享 etcd,所以如果您这样做,您就已经不在人迹罕至的地方了。
总的来说,容器化组件比大多数人的替代方案简单得多。
Kubernetes HA guide and the From Scratch guide 都推荐在容器中 运行ning Etcd、kube-apiserver、kube-controller-manager 和 kube-scheduler。在 Kubernetes 上自托管 Kubernetes 的想法可以追溯到很久以前(参见 PR 167 on K8s github 和 issues/PRs 链接),但我还没有找到关于为什么这种方法如此有益的讨论它应该是 'recommended' 方式。以下是我目前看到的优点和缺点:
好处:
- 可能简单的升级路径,只需更新清单并让 kubelet 拉取新图像。
- "Container advantages":二进制环境和宿主环境分离,利用别人已有的镜像等
- 遵循整个 Kubernetes 模式,因此 'fits the brain' 一旦您广泛使用该模式。
缺点:
- 在某些情况下 installation/configuration 增加了复杂性。例如,如果您的 Etcd 集群与您的 Kubernetes 节点分开,您现在必须安装 Docker(可能的存储更改取决于 Linux 发行版)、kubelet 和 Etcd。如果不使用容器化的 Etcd,您只需安装一个二进制文件即可。
- 在 运行 时增加了复杂性:随着移动部件的增多,Docker 或 kubelet 中的任何错误都可能导致关键组件无法正常工作。
我是 Kubernetes(和容器)的新手,与它引入的额外复杂性相比,我觉得我可能缺少优势(或低估了它们的价值)。但我也必须选择一次尝试的方式。为什么容器化的主组件是 运行 Kubernetes 的推荐方式,尽管有额外的复杂性?
最大的好处是为大多数人简化了设置。 运行 几个 docker run
命令比下载二进制文件、解压缩、微调初始化脚本(每个发行版都不同)、运行 主管等容易得多。我们有一个漂亮的好的流程管理器——靠的就是强大。
我们也不建议共享 etcd,所以如果您这样做,您就已经不在人迹罕至的地方了。
总的来说,容器化组件比大多数人的替代方案简单得多。