您正在查看 Kubernetes 版本的文档: v1.19

Kubernetes v1.19 版本的文档已不再维护。您现在看到的版本来自于一份静态的快照。如需查阅最新文档,请点击 最新版本。

配置您的 kubernetes 集群以自托管控制平台

自托管 Kubernetes 控制平台

kubeadm 允许您实验性地创建 self-hosted Kubernetes 控制平面。 这意味着 API 服务器,控制管理器和调度程序之类的关键组件将通过配置 Kubernetes API 以 DaemonSet Pods 的身份运行, 而不是通过静态文件在 kubelet 中配置静态 Pods

要创建自托管集群,请参见 kubeadm alpha selfhosting pivot 命令。

警告

注意: 此功能将您的集群设置为不受支持的状态,从而使 kubeadm 无法再管理您的集群。 这包括 kubeadm 升级
  1. 1.8及更高版本中的自托管功能有一些重要限制。 特别是,自托管集群在没有人工干预的情况下_无法从控制平面节点的重新启动中恢复_ 。
  1. 默认情况下,自托管的控制平面 Pod 依赖于从 hostPath 卷加载的凭据。 除初始创建外,这些凭据不由 kubeadm 管理。
  1. 控制平面的自托管部分不包括 etcd,后者仍作为静态 Pod 运行。

过程

自托管引导过程描述于 kubeadm 设计文档 中。

总体而言,kubeadm alpha 自托管 的工作原理如下:

  1. 等待此引导静态控制平面运行且良好。 这与没有自我托管的 kubeadm init 过程相同。
  1. 使用静态控制平面 Pod 清单来构造一组 DaemonSet 清单,这些清单将运行自托管的控制平面。 它还会在必要时修改这些清单,例如添加新的秘密卷。
  1. kube-system 名称空间中创建 DaemonSets ,并等待生成的 Pod 运行。
  1. 自托管 Pod 运行后,将删除其关联的静态 Pod,然后 kubeadm 继续安装下一个组件。 这将触发 kubelet 停止那些静态 Pod 。
  1. 当原始静态控制平面停止时,新的自托管控制平面能够绑定到侦听端口并变为活动状态。
最后修改 September 07, 2020 at 8:50 PM PST: [zh] fix links in setup section (3) (e592fc15f)