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

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

作者: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。它为您处理控制平面升级,包括升级到etcdAPI服务器控制器管理器调度程序。您可以在次要版本或修补程序版本之间无缝升级群集(例如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 EKSGoogle 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贡献者:

我们还要感谢所有公司让他们的开发人员能够在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

猜你喜欢

转载自blog.csdn.net/weixin_44100234/article/details/85050490