我正在寻找一种解决方案,使我能够设置单节点 K8s 集群,如果需要,我稍后会向其中添加节点。
我知道诸如 minikube 和 microk8s 之类的解决方案,但它们不可扩展。我现在正在尝试 k3s 正是因为它提供了这个功能,但是我在存储和其他我正在处理的东西方面遇到了一些问题。
现在我的问题:
- 存在什么其他解决方案?
- 如果我不污染主节点并在那里运行所有东西(很长一段时间,而不仅仅是为了测试),有什么缺点?
我正在寻找一种解决方案,使我能够设置单节点 K8s 集群,如果需要,我稍后会向其中添加节点。
我知道诸如 minikube 和 microk8s 之类的解决方案,但它们不可扩展。我现在正在尝试 k3s 正是因为它提供了这个功能,但是我在存储和其他我正在处理的东西方面遇到了一些问题。
现在我的问题:
k3sup join
您可以通过 .Here is guide扩展 k3s 集群。
kube-apiserver、kube-scheduler 等关键 Kubernetes 服务应该在主节点上始终可用并平稳运行。因此,必须为主节点提供专用资源,并避免其他非关键工作负载干扰主服务的运行
如果我不污染主节点并在那里运行所有东西(很长一段时间,而不仅仅是为了测试),有什么缺点?
工人的失败当然会降低你的申请。当您恢复它或启动另一个应用程序时,K8s 将为您恢复您的应用程序。
主节点的故障不会对您的系统产生负面影响,只会影响集群管理自身的能力及其自我修复能力(这会在某些时候影响正常运行时间)。
我正在寻找一种解决方案,使我能够设置单节点 K8s 集群,如果需要,我稍后会向其中添加节点。
据我所知,没有单节点生产就绪的 k8s 集群这样的东西。对于一些小而简单的事情,您可以查看 Rancher。
存在什么其他解决方案?
kubeadm 允许您在单个节点上安装所有内容。在节点上安装 kubeadm,“kubeadm init”,安装一个 pod 网络,然后移除 master taint。
您可能感兴趣的另一个解决方案是Kubespray。
一些“荣誉奖”是:
Canonical 的Charmed Kubernetes允许您在一个节点上完成所有操作;但是它应该是一个相当大的节点,所以这里可能不是这样(但仍然值得一提)。
如果您真的不需要所有 k8s 功能(只有一个小节点),那么Nomad可能是一种替代方案。
让我知道这是否有帮助。