1

我正在寻找一种解决方案,使我能够设置单节点 K8s 集群,如果需要,我稍后会向其中添加节点。

我知道诸如 minikube 和 microk8s 之类的解决方案,但它们不可扩展。我现在正在尝试 k3s 正是因为它提供了这个功能,但是我在存储和其他我正在处理的东西方面遇到了一些问题。

现在我的问题:

  • 存在什么其他解决方案?
  • 如果我不污染主节点并在那里运行所有东西(很长一段时间,而不仅仅是为了测试),有什么缺点?
4

3 回答 3

1

k3sup join您可以通过 .Here is guide扩展 k3s 集群。

kube-apiserver、kube-scheduler 等关键 Kubernetes 服务应该在主节点上始终可用并平稳运行。因此,必须为主节点提供专用资源,并避免其他非关键工作负载干扰主服务的运行

于 2020-02-25T14:34:55.177 回答
1

您可以使用kubeadm设置单个节点“集群”。然后可以使用join命令添加更多节点

于 2020-02-25T14:48:05.583 回答
0

如果我不污染主节点并在那里运行所有东西(很长一段时间,而不仅仅是为了测试),有什么缺点?

工人的失败当然会降低你的申请。当您恢复它或启动另一个应用程序时,K8s 将为您恢复您的应用程序。

主节点的故障不会对您的系统产生负面影响,只会影响集群管理自身的能力及其自我修复能力(这会在某些时候影响正常运行时间)。

我正在寻找一种解决方案,使我能够设置单节点 K8s 集群,如果需要,我稍后会向其中添加节点。

据我所知,没有单节点生产就绪的 k8s 集群这样的东西。对于一些小而简单的事情,您可以查看 Rancher。

存在什么其他解决方案?

  • kubeadm 允许您在单个节点上安装所有内容。在节点上安装 kubeadm,“kubeadm init”,安装一个 pod 网络,然后移除 master taint。

  • 您可能感兴趣的另一个解决方案是Kubespray

一些“荣誉奖”是:

  • Canonical 的Charmed Kubernetes允许您在一个节点上完成所有操作;但是它应该是一个相当大的节点,所以这里可能不是这样(但仍然值得一提)。

  • 如果您真的不需要所有 k8s 功能(只有一个小节点),那么Nomad可能是一种替代方案。

让我知道这是否有帮助。

于 2020-02-27T17:49:54.400 回答