使用渠成命令行工具qcadmin之部署k3s集群

本文最后更新于 312 天前, 如有失效请评论区留言.

渠成命令行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部署方面的实践, 不局限于参数优化等。

如果你有什么好的想法💡, 欢迎和我交流😂, 目前还在迭代中, 上手也比较简单。

easysoft/quickon_cli

Chapters

Comments