当然,即使 dockershim 被移除,如果你还想继续使用 docker 引擎,还是可以使用 cri-docker 来适配的。
容器管理工具:Podman
CRI: containerd
集群部署&管理:kubeadm
plugins:
addons:
日志:EFK
监控:metrics ,prometheus
存储:rook
...
PS: 另外大佬们回复的技术组合在实际应用中存在哪些问题?谢谢大家回复。
1
57L49t45Jo9IJvge 2023-03-23 13:26:27 +08:00 1
建议 : 使用公有云服务 不要自建
|
2
FabricPath 2023-03-23 13:35:59 +08:00
如上所说,除非上市公司之类对“固定资产”和“费用”有要求外,小于 5000 台机器直接用公有云。
|
3
FabricPath 2023-03-23 13:39:09 +08:00
不过正经说的话
podman 似乎没啥必要? k8s+containerd 就行,crictl 和 ctr 已经能完成常见的运维操作了。 网络用 Cilium (内核达不到要求的话先升内核) 监控 Prometheus 吧,不过可选似乎也只有 influx 套件了? |
4
m4d3bug 2023-03-23 13:39:59 +08:00 via Android
podman 不对运行时负责,我猜你想说的是 CRI-O
|
5
BeautifulSoap 2023-03-23 13:41:47 +08:00 2
k3s 一把梭
|
6
XiLingHost 2023-03-23 13:42:36 +08:00
kubespray 部署,用 containerd 做容器运行时,其它都是默认
|
7
dolphintwo 2023-03-23 13:43:52 +08:00
原来我也考虑这些
现在:公有云一把梭,组件用啥我不关心 |
8
zed1018 2023-03-23 13:43:59 +08:00
同 k3s 一把梭,本地 /staging/production 都是
|
9
mango88 2023-03-23 16:30:11 +08:00
在用 kubesphere , kubekey 搭建集群,
发行版是 1.22 版本 CRI 怕踩坑还是用的 docker |
11
bootvue 2023-03-23 17:10:51 +08:00
k3s+rancher
|
12
chenPiMeiHaoChi 2023-03-23 17:31:46 +08:00
containerd ,命令行用 nerdctl ,说实话我感觉不大好用。好在 rancher 能解决大部分情况。
|
13
jitongxi 2023-03-23 17:33:01 +08:00
sealos+kuboard, 我一个臭开发,用懒人包就行
|
14
zzl22100048 2023-03-23 17:48:24 +08:00
k3s 一把梭 本来是测试用的,后来生产也上了
|
15
kaddusabagei38 2023-03-23 17:50:29 +08:00
容器管理具体指的是什么?
|
16
OldCarMan OP 谢谢大家建议和回复。
@youzi0516 @dolphintwo 不过这玩意看工作环境,另外个人开发有时想使用,还是不大实际。 @FabricPath 哈哈,这个除非规模有点大了,监控套件吗?我经常看到的似乎都是围绕 Prometheus ,可以参考这里: https://landscape.cncf.io/card-mode?category=monitoring&project=graduated,incubating,member,no&grouping=category&sort=stars @m4d3bug podman 我个人当它做 docker 引擎的代替方案,你的 CRI-O 是 CRI 的一种实现吧。 @BeautifulSoap @zed1018 @bootvue @zzl22100048 有点意外,之前以为大家可能使用 minikube 之类的多点(不过单节点) @XiLingHost kubespray 体验怎么样,比较少听说 @mango88 你可以体验一下,dockershim 的代替方案:cri-dockerd ,不过有种 kubernetes 生态越来越边缘化 docker 的感觉。 @chenPiMeiHaoChi 嗯嗯,听说 Podman 比较对 docker 指令集的兼容性比较好(平稳过渡) @jitongxi 哈哈,是的,运维有时确实麻烦。 @kaddusabagei38 容器管理引擎吧,类 docker 引擎方案 |
17
XiLingHost 2023-03-23 21:07:16 +08:00
@OldCarMan kubespray 本身其实就是官方维护的一套 ansible 配置,说实话安装起来挺慢的,bug 也不少
|
18
dk7952638 2023-03-23 21:19:52 +08:00
nomad
|
19
OldCarMan OP @XiLingHost soga, kubernetes 生态东西有点多,哈哈,听到 bug 不少,开发和运维估计都沉默了。
|
21
godsoul 2023-03-23 21:28:41 +08:00
flannel 性能比较差,建议使用类似 calico 这种,ingress 也可以不用,直接跑个网关暴露给 slb ,CoreDNS 最要也加个 local dns cache
|
22
XiLingHost 2023-03-23 22:27:27 +08:00
@OldCarMan 主要是很多情况下必须把 master 上修 bug 的提交合并到它们的镜像里用,不然每次遇到 bug 一看 issue 都发现是在最近的一个 release 后提交的 fix
|
23
OldCarMan OP |
24
XiLingHost 2023-03-24 01:14:34 +08:00
@OldCarMan 意思是,kubespray 本身的问题。
它的测试其实是不完全的,在一些少见的情况(比如 containerd 的私有 registry 配置)有时候会出错。 虽然修复一般很快,但是他们的 docker 镜像是跟随 release 的。 因此遇到这种情况,就必须从 master 上把修复的内容在镜像里应用来解决问题。 |
25
richangfan 2023-03-24 02:21:16 +08:00
我开了几台虚拟机搭 k8s 集群,用 containerd 老是掉线,用 cri-o 就没问题,也不用另外安装 cni ,挂了一天都没重启一次
|
26
wangxiaoaer 2023-03-24 08:21:25 +08:00
感觉有点跟不上了,最初 docker 、docker-compose 、docker-swarm 觉得还挺简单。结果后来 k8s 后,什么 pod 啥的都出来了,再看看 op 提问里面那些名词超过 2/3 没听过,有点恐惧。
有没有扫盲文档给理一下思路? |
27
mritd 2023-03-24 08:52:33 +08:00 via iPhone
k3s 一把梭
|
28
Cola98 2023-03-24 09:16:45 +08:00
rancher 容器云管理 CRI 是 docker CSI 是 xksy 监控是 prometheus ,日志 elk
|
29
cheng6563 2023-03-24 09:20:09 +08:00
|
30
baiyi 2023-03-24 10:09:07 +08:00
建议直接用 containerd ,如果要用 docker 也尽量用新版本,docker 的问题还是挺多的
|
31
fioncat 2023-03-24 10:10:59 +08:00
kvm (逃
|
32
iwdmb 2023-03-24 10:31:24 +08:00
|
33
aaronkk 2023-03-24 10:55:15 +08:00
基本都是用 kubectl 去管理的,移除 dockershim 感觉也没啥影响,至少通过 cri 直接调用 contained 性能还提升了不少,有 docker 习惯的话 nerdctl 过渡下,问题也不大
|
34
iwdmb 2023-03-24 10:57:35 +08:00
K3s 也進 CNCF 了
|
35
flexbug 2023-03-24 14:22:27 +08:00
@wangxiaoaer #26 https://landscape.cncf.io/ 看这个就行了
|
36
cnbattle 2023-03-24 14:27:09 +08:00
投 K3S 一票
|
37
OldCarMan OP @XiLingHost soga,release 确实有点坑
@richangfan nice ,我记得 containerd 是默认 cri,掉线是不是哪里没设置好。 @wangxiaoaer 技术这玩意日新月异,大变化基本几年一个周期。 @mritd @iwdmb @cnbattle 看来 k3s 深得人心 @Cola98 nice,这个搭配有遇到过什么问题吗? @cheng6563 “k3s 不用担心 k8s.gcr.io 墙的问题”,是默认都采用了国内镜像吗?还是它在国内有自己的镜像仓库? @baiyi docker 对于很多像我一样的人主要是历史包袱,是从 docker 开始接触 devops 的 @fioncat 新方式 get ✔ @aaronkk 确实 |
38
cnbattle 2023-03-24 16:42:36 +08:00
@OldCarMan k3s 是基于部署包部署的(依赖的软件和 images 都在离线包里),不是直接拉取 gcr 的镜像,
问题在于 运行安装脚本时 ,要在线下载部署包 还是 自己先下载好,在线安装从 github 下载相关文件 有国内的镜像部署脚本,直接运行安装,我习惯自己下载离线部署包, 安装 可以看下 https://blog.csdn.net/d7185540/article/details/107675616 |
39
OldCarMan OP @wangxiaoaer 可以先从主要架构看起,推荐看看这下面这几个:
1.https://devopscube.com/kubernetes-architecture-explained/ 2.https://kubernetes.io/docs/concepts/overview/components/ (官网) 3.https://d33wubrfki0l68.cloudfront.net/f740b41ed02348ac1aaa43732d8eff3427ae28a1/47c0e/docs/images/diagram-guide-example-3.svg 至于主要功能节点有哪些对应的方案实现,可以看这里: https://landscape.cncf.io/ https://kubernetes.io/docs/concepts/cluster-administration/addons/ 技术方案可以参考大厂实践方案(不一定要用人家的服务,看看别人的技术方案就行了,特别是一些细分领域的),比如阿里的: https://help.aliyun.com/document_detail/126295.html |
40
OldCarMan OP @cnbattle soga, 谢谢。离线部署就担心一个可选择性问题还有一个镜像安全问题。不过哈哈,这么多使用,加开源,一般问题不大。如果镜像来自 GitHub 其实还好,就担心镜像源不统一,从而导致一些仓库镜像版本的问题。
|
43
julyclyde 2023-03-26 18:50:51 +08:00
podman-compose 对 network=host 支持有问题
其实他们已经修了,但是一直没发布新版本,需要 pip 安装 git 版本才可以 |
45
57L49t45Jo9IJvge 2023-03-28 09:25:51 +08:00
@solitude2 挂了谁担 当前环境下 失误被开几率极高
|
46
57L49t45Jo9IJvge 2023-03-28 09:26:25 +08:00
另外自己测试玩 直接 kubesphere 别费那劲趟 rancher 的坑
|
47
sampeng 2023-03-30 09:19:05 +08:00
公有云用什么,我就用什么。怎么着?你还有得选?
|
48
Nnq 2023-03-30 20:34:35 +08:00
@FabricPath 想问下 这里的 5000 是🈶️什么最佳实践么?
还是一个大概的数量? |
49
OldCarMan OP @youzi0516 哈哈,最直接的用 dockerdestop,一键部署,不过如果是 window 用户,wins 自带的虚拟环境(无论是 hyper-v 还是 wsl )太坑了,经常各种兼容性问题。
@sampeng 嗯,绝大部分需要自己选择方案部署的人,要么是想搭一个自己玩的环境,要么公司有一定规模的吧,现在大部分中小型公司线上服务基本都是云业务,不过云业务也有收费的问题,tiny 规模的公司估计也用不起。 @Nnq 个人猜测这是规模效应带来的技术成本最优化选择方案吧,5000 应该是互联网中型公司踏上大型公司的一个边界起点,之所以公司一开始主要业务都上云,是因为一开始公司规模小,业务量较低,技术人员少,云服务自带的共享性和成熟的技术方案能快速解决很多初创企业面临的技术挑战,然而随着公司规模变大,技术团队规模增加,业务量大幅提高,公司自我体系内的技术基础设施 /人员设施正在不断的完善,原有的技术挑战在现有团队里越来越能成熟应对,甚至能有多余的技术力量去解决其他问题,所以搞一套自有的技术服务不会很意外,甚至规模大了可能发展成新的业务增长点;另外人多了意味着能力和成本都增加了,必须有一个成本变现的过程,来对冲成本增加压力,降本增效,做大规模;最后达到这个规模公司,除了要考虑成本问题,还要考虑可控性问题,打个比方就像国家的粮食 /能源安全战略一样,东西我可以到你那里买,但是我必须要有一个基本的“自给自足”的底线作为我保证战略安全的需要😂 |
50
FabricPath 2023-03-31 10:01:22 +08:00
@Nnq 自建机房和公有云费用较为平衡的区间,服务器成本是固定的(基本上公有云一年的费用就等于服务器成本),平均运营费用(机架成本、电费、制冷费)会随着规模增大减小
|
51
OldCarMan OP @FabricPath 哈哈,其实这个道理扩大到一个国家也差别类似,比如所谓的“人口红利”,当一件事物多了,跟这件事物相关的支出成本就会相对的降低,比如一间教室里有 25 个人在听课和 50 个人在听课,除了多一些课桌椅,用一样的课室和老师,但后者却输出多一倍的人才。
|
52
panwork 2023-05-08 17:01:05 +08:00
@iwdmb 大佬,咨询个问题,我用 K3S 搭了以后上了 java 业务,用 ingress 做转发,总是间歇性的延迟高,常见延迟 100ms 左右。一段时间不调用,总会有一个请求莫名提高到 5s ,然后之后又恢复正常。业务容器单独用 docker 就没问题,放到 K3S 里就有这个问题。一直找不到问题,有相关解决思路吗?
|
53
asdasdqqq 2023-09-12 23:32:15 +08:00
- [Kuboard]( https://kuboard.cn/install/install-k8s.html) 已安装体验,目前 dashboard 感受最好,支持离线部署
- [KubeSphere]( https://www.kubesphere.io/zh/docs/) 已上生产,体验还不错,dashboard 没有 Kuboard 直观,支持全离线部署 - Rancher 待安装体验 - Sealos 待安装体验 |