mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-01-14 22:03:24 +01:00
关于在 Kubevirt 上的 K3S 集群的部署流程 #49
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @LokiSharp on GitHub (Nov 11, 2024).
我想请教一下,现在配置中 K3S 集群的部署流程。
kubevirt 的 token 是用 u 盘传递的,直接手动正常部署即可,这个很容易理解。
但是我看到你的 k3s 集群是部署在 kubevirt 上的,token 存放在 secrets 仓库用 agenix 加密解密。加密解密用的是主机上的公钥私钥,在初次部署运行后才会生成。公钥私钥是初次部署运行后手动拉取吗?是不是有什么我没理解的自动化流程?
我现在理解的工作流程:
@ryan4yin commented on GitHub (Nov 11, 2024):
你的理解没问题,初次部署时会有这么个手动更新 secrets 的流程,只是我写了个 nushell 小脚本自动化了 3 跟 4 的更新流程。
不提前生成公私钥是为了安全考虑,确保私钥不会经由任何网络传输。
3 跟 4 中更新 secrets 仓库这一操作不需要每台机器的私钥,只需要所有虚拟机的公钥即可。因为 secrets 的解密操作只需要任一能够解密这些数据的私钥,而我本机的私钥以及我的 backup 私钥都能用于解密整个 secrets 仓库。
如果你对安全性的要求没这么严格,也可以提前生成好公私钥,初次部署时直接写个脚本或用 ansible 之类的工具 rsync 到所有虚拟机里。
@LokiSharp commented on GitHub (Nov 17, 2024):
@ryan4yin 我跑了一下,没跑通。
这里的构建脚本 utils 里 VM 镜像上传脚本是不是需要调整一下?
另外 /data/apps/caddy/fileserver/vms/ 这个目录 users 似乎没有写入权限,只能用 root 上传?
https://github.com/ryan4yin/nix-config/blob/main/utils.nu
@ryan4yin commented on GitHub (Nov 17, 2024):
因为一些个人原因,rakushun 这台机器我前阵子单独换成 ubuntu 跑了,所以目前的脚本在我这边是 work 的。
@LokiSharp commented on GitHub (Nov 18, 2024):
我 Kubevirt 节点成功部署在 PVE 上,并构建了 K8S 测试节点。但是似乎测试节点的 cni 插件没法正常初始化。/etc/cni/net.d 和 /var/lib/rancher/k3s/agent/etc/cni/net.d 也都是空的。
我是 K8S 初学者,不是很懂这里的网络配置是因为嵌套虚拟化的问题还是配置问题。我试着对比了一下 genKubeVirtGuestModule 和 genKubeVirtHostModule。我看到 KubeVirt 中配置了 vSwitch。我在想 genKubeVirtGuestModule 中运行的节点是不是也需要配置 vSwitch?
@ryan4yin commented on GitHub (Nov 19, 2024):
因为我在 genK3sServerModule.nix#L67 关闭了 k3s 自带的 flannel,所以需要额外手动部署网络插件,我的网络插件配置在这:
https://github.com/ryan4yin/k8s-gitops/tree/main/infra/pre-controllers/base/cilium
网络就绪后再手动接入 fluxcd,才能实现 gitops 化的集群自动化更新。
另外对初学者,我还是比较建议自己根据网络上的教程,手动用 kubeadm 部署一遍 kubernetes 集群,熟悉下集群的各个组件,直接按我这个来比较容易踩坑。
@LokiSharp commented on GitHub (Nov 19, 2024):
谢谢,我先在普通平台部署一遍熟悉一下,nixos + gitops 学习起来复杂度有点高。
@LokiSharp commented on GitHub (Nov 19, 2024):
翻阅你的 repo 的时候我看到你还 fork 了 proxmox-nixos,我很震惊 NixOS 上居然还能移植 PVE。你有尝试部署它么?
@ryan4yin commented on GitHub (Nov 20, 2024):
proxmox-nixos 有几个 NixOS 群友在用,因为现在只支持单机,我只是虚拟机里简单试用过。
@ryan4yin commented on GitHub (Nov 20, 2024):
可以加我们 NixOS 中文群翻聊天记录,或者直接落絮搜索 proxmox / pve 关键字:
https://luoxu.torus.icu/#g=1455914104&q=pve