使用渠成命令行工具qcadmin之部署k3s集群
本文最后更新于 535 天前, 如有失效请评论区留言.
渠成命令行qcadmin
(简称: q
)是一个开源的、简单易用的、运维效能工具。它可以帮你部署k3s集群&渠成平台(禅道全家桶)。
目前核心功能
- 部署k3s集群
cluster
- 部署渠成平台
quickon
本次主要介绍cluster
部分, 目前支持
-
clean
clean cluster -
delete
delete node(s) -
init
init cluster -
join
join cluster -
precheck
Precheck system -
status
status cluster
目前仅支持amd64, 虽然也提供arm64,但是部分服务还没有提供相关架构镜像
安装
安装方式也比较多哈,咱就是灵活哈,不过我个人推荐还是从github或者软件源安装,因为这样可以方便的更新到最新版本
官网安装
版本会滞后一些,但是可以保证稳定性
curl https://pkg.qucheng.com/qucheng/cli/stable/v2/get.sh | sh -
github安装
版本随时更新, 但是可以保证成功
curl -L --fail --remote-name-all https://ghproxy.com/https://github.com/easysoft/quickon_cli/releases/latest/download/{qcadmin_linux_amd64,checksums.txt}
sha256sum -c <(grep qcadmin_linux_amd64 checksums.txt)
chmod +x qcadmin_linux_amd64
install qcadmin_linux_amd64 /usr/bin/qcadmin
软件源安装
同github哈, 目前只提供deb&rpm包哈
echo "deb [trusted=yes] https://repo.qucheng.com/quickon/apt/ /" | tee /etc/apt/sources.list.d/quickon.list
apt update
apt search qcadmin
apt install qcadmin
源码安装
要求go1.20
哈
mkdir -p $GOPATH/src/github.com/easysoft
cd $GOPATH/src/github.com/easysoft
git clone https://github.com/easysoft/quickon_cli.git
# git checkout 最近的tag
# 查看最新操作指南
make help
推荐配置
Debian11
(amd64) 真的很稳定, 绝大多数开发测试基于Debian- 内核版本至少
6.0
吧,(我自己基本6.1或者6.2)
硬件推荐
如果仅仅是跑k3s, 那么1核1G内存也能跑, 但是如果你想跑渠成平台, 那么推荐最低配置如下:
- 2 核虚拟 CPU
- 4 GB 内存
- 40 GB 储存空间
部署k3s集群
因为做的足够简单,所以没啥好写的
懒人版本
q cluster init
更多参数q cluster init --help
--cni string k8s networking plugin, support flannel, wireguard, custom (default "flannel")
--data-dir string cluster & quickon data dir (default "/opt/quickon")
-h, --help help for init
--master stringArray master ip list, e.g: 192.168.0.1:22
-p, --password string ssh password
--pkfile string ssh private key, if not set, will use password
--pkpass string ssh private key password
--pod-cidr string k8s cluster pod cidr (default "10.42.0.0/16")
--service-cidr string k8s cluster service cidr (default "10.43.0.0/16")
-u, --username string ssh user (default "root")
--worker stringArray worker ip list, e.g: 192.168.0.1:22
高级使用
初始化高级使用
q cluster init --master 10.10.16.22 --worker 10.10.16.35 --worker 10.10.16.39 --pkfile /root/.ssh/id_rsa
添加节点
要求
- 当前节点可以登陆到添加的节点
- 如果init时没指定相关参数,join时需要指定ssh相关参数
q cluster join --master 10.10.16.23 --worker 10.10.16.34
删除节点
要求- 目前不可以删除当前节点或初始化节点
q cluster delete --ips 10.10.16.23 --ips 10.10.16.34
检查节点
试验性功能,目前正常完善, 类似kubeadm的pre-flight checks
q cluster precheck
集群
试验性功能,目前正在完善,目前只支持列车节点资源信息
q cluster status nodes
q status nodes
卸载
操作需谨慎哈:::
q cluster clean
其他说明
在初始化过程中包含了我之前在k8s部署方面的实践, 不局限于参数优化等。
如果你有什么好的想法💡, 欢迎和我交流😂, 目前还在迭代中, 上手也比较简单。