IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

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

    ysicing (i@ysicing.me)发表于 2023-12-30 16:57:21
    love 0

    渠成命令行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



沪ICP备19023445号-2号
友情链接