使用kubeadm创建生产就绪的Kubernetes集群

9次阅读

共计 2965 个字符,预计需要花费 8 分钟才能阅读完成。

作者:LucasKäldström(CNCF 大使)和 Luc Perkins(CNCF 开发者倡导者)
kubeadm 是一个工具,使 Kubernetes 管理员能够快速,轻松地引导完全符合 Certified Kubernetes 指南的最小可行集群。自 2016 年以来,SIG Cluster Lifecycle 一直在积极开发,我们很高兴地宣布它已经从测试阶段逐步升级到稳定且普遍可用(GA)!
这个 GA 发布的 kubeadm 是 Kubernetes 生态系统发展过程中的重要事件,为稳定性至关重要的地区带来了稳定性。
kubeadm 的目标是为 Kubernetes 集群设置和管理提供基础实现。kubeadm 附带最佳实践默认值,但也可以自定义以支持其他生态系统要求或特定于供应商的方法。kubeadm 旨在易于集成到更大的部署系统和工具中。
kubeadm 的范围
kubeadm 专注于在现有基础架构上引导 Kubernetes 集群并执行一系列基本的维护任务。kubeadm 接口的核心非常简单:通过运行 kubeadm init 创建新的控制平面节点,并通过运行 kubeadm join 将工作节点连接到控制平面。还包括用于管理已经引导的集群的实用程序,例如控制平面升级以及令牌和证书续订。
为了保持 kubeadm 精益、专注和供应商 / 基础架构中立(agnostic),以下工作超出了其范围:

基础设施配置
第三方网络
非关键附加组件,例如用于监视、记录和可视化
特定的云提供商集成

例如,基础架构配置留给其他 SIG Cluster Lifecycle 项目,例如 Cluster API。相反,kubeadm 仅涵盖每个 Kubernetes 集群中的公分母:控制平面。用户可以在创建群集后在 Kubernetes 上安装其首选网络解决方案和其他附加组件。
kubeadm 的 GA 发布意味着什么
一般可用性对于不同的项目意味着不同。对于 kubeadm 来说,GA 不仅意味着创建一致的 Kubernetes 集群的过程现在已经稳定,而且 kubeadm 足够灵活,可以支持各种各样的部署选项。
我们现在认为 kubeadm 在每个重要领域都达到了 GA 级别的成熟度:

稳定的命令行使用体验 – kubeadm CLI 符合 Kubernetes 弃用策略 #5a 的 GA 规则,该规则声明 GA 版本中存在的命令或标志必须在弃用后保留至少 12 个月。

稳定的底层实现 – kubeadm 现在使用不会很快改变的方法创建一个新的 Kubernetes 集群。例如,控制平面作为一组静态 Pod 运行,引导令牌用于 kubeadm join 连接流,ComponentConfig 用于配置 kubelet。

配置文件模式 – 使用新的 v1beta1 API 版本,您现在可以声明性地调整集群的几乎每个部分,从而围绕 kubeadm 构建的集群构建“GitOps”流。在未来的版本中,我们计划将 API 升级到版本 v1,只需进行最少的更改(也许没有)。

kubeadm 的“toolbox”界面 – 也称为 phase。如果您不想执行所有 kubeadm init 任务,则可以使用 kubeadm init phase 命令(例如生成证书或控制平面静态 Pod 清单)来应用更细粒度的操作。

次要版本之间的升级 – kubeadm upgrade 命令现在完全是 GA。它为您处理控制平面升级,包括升级到 etcd、API 服务器、控制器管理器和调度程序。您可以在次要版本或修补程序版本之间无缝升级群集(例如 v1.12.2 – > v1.13.1 或 v1.13.1 – > v1.13.3)。

etcd setup – etcd 现在以默认安全的方式设置,在任何地方都有 TLS 通信,并允许在需要时扩展到高度可用的集群。

谁将受益于稳定的 kubeadm
SIG Cluster Lifecycle 已经确定了一些可能的 kubeadm 用户场景,尽管我们期望 GA 上的 kubeadm 也可以满足许多其他场景。
这是我们的清单:

你是一个想要尽快试用 Kubernetes 的新用户。kubeadm 是在 Linux 机器上启动和运行的最快方法。如果你在 Mac 或 Windows 工作站上使用 Minikube,你实际上已经在 Minikube VM 中运行了 kubeadm!
您是负责在裸机上设置 Kubernetes 的系统管理员,并且您希望快速创建安全且符合最佳实践但高度可配置的 Kubernetes 集群。
您是云供应商,希望将 Kubernetes 产品添加到您的云服务套件中。kubeadm 是用于在较低级别创建集群的首选工具。
您是一个需要高度定制的 Kubernetes 集群的组织。像 Amazon EKS 和 Google Kubernetes Engine 这样的现有公共云产品不能满足您;您需要根据您的硬件、安全性、策略和其他需求量身定制的 Kubernetes 集群。
您正在创建一个比 kubeadm 更高级别的集群创建工具,从头开始构建集群体验,但您不想重新发明轮子。您可以在 kubeadm 之上“rebase”并使用 kubeadm 为您提供的常用引导工具。一些社区工具采用了 kubeadm,它与 Cluster API 实现完美匹配。

所有这些用户都可以从 kubeadm 逐渐恢复到稳定的 GA 状态中受益。
kubeadm 调查
虽然 kubeadm 是 GA,但 SIG Cluster Lifecycle 将继续致力于改善管理 Kubernetes 集群的用户体验。我们正在开展一项调查,以收集社区对 kubeadm 的反馈,以便将来改进。
该调查在 https://bit.ly/2FPfRiZ 进行。您的参与将受到高度重视!
感谢社区!
如果没有为 SIG 做出贡献的伟大人物的帮助,这个版本是不可能实现的。SIG Cluster Lifecycle 感谢一些关键的 kubeadm 贡献者:

Tim St. Clair, Heptio, SIG co-chair

Robert Bailey, Google, SIG co-chair

Fabrizio Pandini, Independent, Approver

Lubomir Ivanov, VMware, Approver

Mike Danese, Google, Emeritus approver

Ilya Dmitrichenko, Weaveworks, Emeritus approver

Peter Zhao, ZTE, Reviewer

Di Xu, Ant Financial, Reviewer

Chuck Ha, Heptio, Reviewer

Liz Frost, Heptio, Reviewer

Jason DeTiberus, Heptio, Reviewer

Alexander Kanievsky, Intel, Reviewer

Ross Georgiev, VMware, Reviewer

Yago Nobre, Nubank, Reviewer

我们还要感谢所有公司让他们的开发人员能够在 Kubernetes 上工作,以及所有其他人以各种方式为 kubeadm 的稳定性做出贡献!
关于作者
LucasKäldström

kubeadm 子项目所有者和 SIG Cluster Lifecycle 联合主席
Kubernetes 上游承包商,最近两年签约 Weaveworks

CNCF 大使
GitHub:luxas

Luc Perkins

CNCF 开发者倡导者
Kubernetes SIG Docs 撰稿人和 SIG Docs 工具 WG 主席
GitHub:lucperkins

正文完
 0