目前使用的 swarm + portainer 那一套,基本上解决配置问题。同时 swarm 可以在 512M 的小鸡服务器直接开启,占用也非常少。
swarm 觉得比较在意的一点是,没法像 k8s 那样直接本地编写完成之后通过 helm 直接部署到服务器上,使用过程需要用很多复制粘贴地方,有时候会搞错,比较蛋疼
目前预研到的技术是 k3s ,虽然占用已经算是很低了,但是在 512M 的电脑上还是很卡,不过这是主从一起的,考虑到使用,可以尝试只是在 512M 的小鸡上部署 worker 节点
有大佬真正使用过 k3s 吗?有经验可以参考吗?
1
TabGre 2022-10-06 16:51:02 +08:00 via iPhone
k3s 可以同一机器使用吗?
|
3
mritd 2022-10-06 19:53:15 +08:00 via iPhone
可以单机 不过没必要…. 直接 compose 吧
|
4
pendulum 2022-10-06 20:02:40 +08:00
还是喜欢用 compose ,玩不转 k8s 那套
|
5
0o0O0o0O0o 2022-10-06 20:03:02 +08:00 via iPhone
这种小鸡我选择 ansible….
|
6
edis0n0 2022-10-06 20:14:43 +08:00
我们小公司十几台*独服都是 docker compose ,swarm 都没用
|
7
zficode 2022-10-06 20:24:41 +08:00
小鸡是什么
|
8
zou8944 2022-10-06 20:38:07 +08:00
上周为了搭个东西刚弄了一台 AWS 的新用户免费服务器,1c1g ,也算是小鸡服务器了吧。
方案选择:docker compose + gitlab actions 。 你想要的终归是方便一键部署的解决方案吧🤔。那么第一点就没那么必要了,不一定非要这么个工具。 K8s 、K3s 、microk8s 都玩过,k3s 倒是可以单机部署,但是否真的有必要上升到容器编排工具值得讨论。 如果你有很多应用需要管理,又或者是有很多小鸡节点需要管理,那需要用。如果就只有自己的几个简单服务,docker compose 足矣。而且自己搭建基础设施比较浪费精力,没什么意义。 |
9
int80 2022-10-06 20:42:35 +08:00 via Android
k3s+rancher 比较简单的栈点点点就可以部署了
|
10
liuxu 2022-10-06 21:07:53 +08:00
k3s 还行,我一主一从跑了块 2 年了, 主 500MB 内存,从 100 多内存占用,512M 的小鸡就别上虚拟化了,裸奔挺好的,非要环境隔离能 freebsd 就直接 jail 一下就好了
root@Server:~# kubectl get nodes -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME agent1 Ready <none> 589d v1.21.5+k3s2 xxx <none> Debian GNU/Linux 10 (buster) 4.19.0-14-amd64 containerd://1.4.11-k3s1 master Ready control-plane,master 608d v1.21.5+k3s2 xxx <none> Debian GNU/Linux 10 (buster) 4.19.0-21-amd64 containerd://1.4.11-k3s1 |
11
neutrino 2022-10-06 22:34:19 +08:00 via Android
256M 的机器跑个 lnmp 问题不大,每次都是手动的。
|
12
beginor 2022-10-07 11:39:39 +08:00
小鸡直接 docker compose 就行了吧, 现在 compose 做成 docker 插件了, 方便得很。
|
13
wenerme 2022-10-07 15:16:56 +08:00
不要在 512M 上用 k3s/k0s
不要在 512M 上用 k3s/k0s 不要在 512M 上用 k3s/k0s 直接部署应用,比如我 512M 的 linode ,tailscale 跑高都能直接把 CPU 跑到 100%,根本没有额外的资源去跑 K3S/K0S 之类的。 我都是部署 alpine ,新开一个机器,直接从现有恢复,两下( 1 分钟)就好了。 https://www.wener.tech/notes/os/alpine/lbu#restore-from-apkvol 需要停止,则备份到本地,需要再开。 有需要长期跑的服务,手写一个 openrc service ,维护使用相对容易。 |
14
wenerme 2022-10-07 15:19:39 +08:00
区分主要 server 和 edge
edge 就像这种 510M ,还是要有一个自己的 server ,硬盘,CPU 内存管够,跑 K3S/K0S ,主要是 编排太方便了,docker compose 编排不了这么复杂的内容 https://github.com/wenerme/kube-stub-cluster 使用 argocd 做 gitops ,其他的东西就随便跑了。 edge 提供出入流量,跑 tailscale 、tinc 之类的,相对轻量灵活。 |
15
HangoX OP @liuxu 感谢大佬,你那里 500 M 可以跑主机器吗?我这里 512M 的小鸡跑 k3s 非常卡,最后部署的时候直接挂了,访问 127.0.0.1:6443 直接超时。
|
16
HangoX OP @wenerme 感谢大佬,大佬有什么 k3s 的使用经验吗?个人其实想试试通过 k3s 那套直接上实践切入编排部署,因为外部只能买得起跑 k3s 的机器了,k8s 那个的机器跑几个服务也是过于浪费。
个人现在其实用 portainer 搭配 docker compose 或者 swarm 已经解决大部分问题了,实在不行,给 portainer 写个脚本也是非常容易 |
17
HangoX OP @beginor compose 用起来也方便,个人用 swarm 是因为 portainer 对于 swarm 支持更多功能,更好用
@neutrino 手动对于频繁更改配置文件的时候非常容易搞错 @0o0O0o0O0o 这个我也想过。。但是 ansible 也不容易 @pendulum 我也是喜欢 compose 多点,但是大势所趋,没办法,docker 过度到 compose 非常简单 @zou8944 你说的 gitlab ci 我用过,公司刚开始我就是用这套,啥都能做,就是反应有点慢,要等 ci 执行。如果想更简单点,强烈建议部署一个 portainer 搭配 gitlab ,挺好用的 |
18
liuxu 2022-10-07 18:40:18 +08:00
@HangoX 512M 就别上了,现在还能卖 512M 的小鸡,要么石头盘,要么疯狂超售,不卡才怪,这两年正常基本 1G 起步了
|
19
wenerme 2022-10-08 07:34:56 +08:00
@HangoX
k0s 和 k3s 都蛮好的,但是基础设施占用的资源对于 512M 来说还是不少,如果想玩这些就搞多一点资源吧 docker 使用也需要占用 100M 左右额外资源 ansible 相对容易 玩 swarm 感觉意义不大 compose 能解决问题可以先用着 首先是不止有这个 512 的机器,然后把多个机器网络打通,就多了很多选择。 K3S vs K0S https://wener.me/story/k3s-vs-k0s k3s 资源使用情况 - agent 大约 200MB+,server 就更多了 https://wener.me/notes/devops/kubernetes/distro/k3s-faq#k3s-%E9%83%A8%E7%BD%B2%E8%B5%84%E6%BA%90%E4%BD%BF%E7%94%A8%E6%83%85%E5%86%B5%E5%88%86%E6%9E%90 |