打算部署 k8s ,现在疑惑使用静态 Pod 还是 systemd ,使用 kubeadm 还是 kubespray 。

建议把 kuberadm 用得滚瓜烂熟了再用 kuberspray,我没用过后者,也知道它一定更强大,但我不觉得 kuberadm 有什么难用的地方,而且官方文本全是 kuberadm, kuberspray 出了错不还得下沉到 kuberadm 来看问题吗

应该可以吧,1.18 时在生产用了挺久,后来就上云了。研发环境一直用的 kubeadm ,初始化完成后,后续除了一年一度的证书续期和心血来潮的版本升级,基本不会再用到了。

我的担忧也是这样,k8s 我还没玩明白,用 kubespray 的话又增加了复杂度,请问 kubeadm 可以用于生产吗?

它只是组集群的工具, 正常 master 节点会加污点, 工作量载荷不会调度过来的, 能不能用于生产主要是看它能不能容灾,挂了一两个是不是可以正常工作, 一般是 3 5 7 个 master 节点好像, 一般是用 haproxy 和 keeplive 让这些 master 节点选举一个顶着, 挂一个就选举另一个继续顶,和用什么工具没关系吧

纠正一下 haproxy 用于 api (查看资源,apply 配置之类的)请求的负载均衡,keeplive 用于选举 ip ,

最早不就是 Kubeadm 有啥不能用于生产的 只是 kubeadm 复杂一些 现在有更多简单的替代 kubekey sealos 都很好用

而且我感觉你不是很了解 k8s 考虑业务量和集群大小再考虑是直接用 k8s 还是选择直接用 docker

kubeadm 就是个用来部署 k8s 的工具,没啥不能上生产的,要注意的是你的 k8s 的配置要符合生产条件

kubeadm 肯定可以啊,连 k3s 都可以.

了解原理和如何查看日志,啥都能用,只要环境统一不是冷门的配置 os 啥的就没啥问题

静态 Pod 和 systemd 没法比较吧,都不是一个概念的东西。k8s 部署生产的话,个位数节点么,那用 kubeadm 确实够了,节点很多的话还是建议 kubespray ,个人感觉 kubeadm 更适合做初始部署,后续运维还是要写 ansible 脚本的。

比如 apiserver 可以通过 systemd 管理或者通过静态 Pod 管理,现在流行哪种?很早之前看 kubeadm 是通过静态 Pod 干的。

看来是可以用于生产的

生产可以考虑 RKE2

1 、如果是学习,两个都可以,建议是 kubeadm ,毕竟官方,文档全。
2 、如果是测试,kubeadm 也首选,好打理。
3 、如果生产,强推二进制(需要对每个组件都有很深入理解)。
4 、如果有基础了,市面上那些都可以。但是不推荐侵入式的,比如 kube-sxxxxx

谢谢,如果选择二进制,是否通过静态 Pod 管理各种服务,或者是通过 systemd 管理。

#12 除了 kubectl 、容器运行时用 systemd 运行,其他组件比如 apiserver 基本都是用 pod 了,etcd 集群可以考虑二进制。

二进制部署的话,每个组件都是 systemd 管理的。你说的静态 pod 管理不太清楚是指啥

这个: www.cnblogs.com/zhangmingcheng/p/16954306.html

好的,etcd 考虑二进制的原因是什么呢请问