1
locoz 2023-09-08 14:06:07 +08:00
我以前也是用 Unraid 自己的 UI+Portainer ,但后面直接改用 K8S 了,算是个上位替代吧
|
2
wunonglin 2023-09-08 14:07:37 +08:00
还不如用 k3s+lens
|
3
billzhuang 2023-09-08 14:56:27 +08:00
k3s + cdk8s+
|
4
Jirajine 2023-09-08 15:16:35 +08:00 via Android
> Portainer should only for viewing docker container logs / container status.
非常赞同这个 wiki 的建议。 另一个替代品是 podman-desktop ,没开玩笑,比 docker 更开放,支持各种后端。 |
6
kid1412621 OP @Jirajine #4 今天还遇到了 podman 不支持 buildkit 的问题
|
7
kid1412621 OP @locoz #1 k8s 用什么 ui 呢
|
8
locoz 2023-09-10 01:07:12 +08:00
@kid1412621 #6 我是直接用 Flux 做添加应用部署、调整部署配置这种操作,纯文件形式,依靠 Git 管理,不用 UI 。用 UI 的时候主要是看当前日志、进入容器操作、临时停掉一些容器之类的,我个人是 Lens 用的比较多,有时候没电脑或者不能直连服务器就用 KubeSphere 。
|
9
kid1412621 OP @locoz #8 这个配置是纯的 k8s ymal 吗
|
10
locoz 2023-09-10 18:51:52 +08:00 1
@kid1412621 #8 算是,但严格来说都是写 helm 的 values ,原生的 k8s 配置我只在临时测试的时候用用。
有些没有官方 helm 包的家用场景应用(比如常见的影视类的 sonarr 、radarr 之类的)都是用的 https://bjw-s.github.io/helm-charts/docs/ 做的,大幅简化了配置复杂度,基本写完一次剩下的就是复制粘贴改个镜像地址、镜像版本、容器内的端口号、子域名的名称,需要的情况下再改个 pvc (给容器挂载的存储空间)的名称和申请空间量),比 UI 配的还方便些。 镜像更新会有 https://github.com/apps/renovate 自动检测并创建"Pull requests",所以版本更新只需要点一下"Rebase and merge",也是比较方便。 |
11
kid1412621 OP @locoz #10 感谢! 空了我也折腾下。随便问下,内外网域名你是怎么管理的?
|
12
locoz 2023-09-11 10:30:20 +08:00 1
@kid1412621 #10 我目前是四种方案混合使用:
1 、内网环境,内网 DNS 做个泛域名解析指向 K8S 中 Traefik ( Ingress )的 Service IP ( LoadBalancer 模式),LoadBalancer 是基于 kube-vip 做的,集群中的节点离线也会自动切到其他节点,IP 不变。 2 、公网 VPN 连回家变成内网环境,与 1 相同。 3 、公网直连,Ingress 给部分服务(比如 Emby )配了直连域名(非直连域名配了 Traefik 的中间件,禁止非内网 IP 访问),直连域名通过 DDNS 指向公网 IP ,访问直连域名+映射后的端口就是直连。 4 、公网免端口、隐藏服务端 IP 连接,用腾讯云 CDN ,源地址指向 DDNS 域名+映射后的端口,然后就是跟常规的公网服务一样了。 通常来说,我自己的设备是用 1 和 2 ,部分不方便连接或没法连接 VPN 的设备用 4 ,全都是统一化的体验。需要给别人用的那些服务就是用 3 和 4 ,流量较大的优先用 3 ,量少、短期使用的用 4 。 域名解析方面有个注意点,我无论是公网还是内网都是做的泛解析,原因是 HTTPS 证书的签发记录可以被查到,而有些服务我不想被人直接知道,但又需要保持公网和内网一致的体验,所以不能子域名一个一个那么设。而且泛解析处理起来也更省事些,cert-manager 可以自动处理泛域名证书的签发和续签,所有服务只需要签一次,加上 kubed 可以同步 K8S 中的 Secret 到多个命名空间,可以轻松解决在分多命名空间管理、不给 Traefik 设置默认证书的情况下,多 Ingress 的 HTTPS 访问问题。 不给 Traefik 设置默认证书的原因是,如果你设置了默认证书,那么只要访问到你的 IP+HTTPS 端口就能根据证书直接得到域名,进而可能关联到你的 DDNS 域名,这也是不太安全的。 |
13
locoz 2023-09-11 10:35:21 +08:00
@kid1412621 #10 要折腾可以参考 https://github.com/onedr0p/flux-cluster-template 这个项目,虽然很多东西比较多余、非最优解或比较复杂,但核心的那些工具和设计方式很好,可以基于这个模板慢慢改成自己的处理方式。
|
14
kid1412621 OP @locoz #12 有点困惑我的就是 有没有内外网域名一致,这样就不用每次切换了
|
15
locoz 2023-09-11 11:41:39 +08:00 via Android
@kid1412621 #13 方案 1 、2 、4 就是完全一致的地址(同样的域名+同样的默认 443 端口)
|