kansctl 是一款基于 Shell + Ansible 构建的中间件自动化部署与交付工具,专为 Kubernetes 场景设计。该工具旨在简化 中间件服务交付 及 多环境多服务部署流程,具备如下特点:
| 🌟 功能 | ✨ 描述 |
|---|---|
| 🧩 服务粒度控制 | 按服务维度精细控制中间件部署与卸载,例如支持独立部署 Redis、MySQL、Elasticsearch、Prometheus 等组件。 |
| 🏗️ 多环境支持 | 支持按环境变量组织部署逻辑(如 dev、test、prod),可加载对应配置文件,灵活适配多套部署体系,提升交付效率。 |
| ⚙️ 自动化引擎 | 基于 Ansible 实现声明式部署逻辑,确保中间件部署过程的标准化、一致性与可重复性,适合 CI/CD 和持续交付场景。 |
| 💣 安全清理机制 | 所有删除服务操作前将触发 倒计时确认机制,可手动中断操作,有效避免误删行为。 |
| 📜 日志记录 | 全流程日志实时输出,并同步写入日志文件,便于问题回溯、部署审计以及历史操作追踪。 |
| 🔄 一键全量部署/卸载 | 一键部署或卸载所有中间件服务,适用于PoC快速部署、测试环境批量初始化等场景。 |
| ✨ 可扩展性强 | 所有服务基于 roles 模块化设计,用户可按需添加新中间件支持(如 Kafka、Zookeeper、Nacos),快速扩展业务能力。 |
root@kubecy-master21 /root:~ # dnf -y install git ansible
root@kubecy-master21 /root:~ # mkdir .kubecy
root@kubecy-master21 /root:~ # cd .kubecy/
root@kubecy-master21 /root/.kubecy:~ # git clone https://github.com/kubecy/kansctl.git
root@kubecy-master21 /root/.kubecy:~ # cd kansctl/
root@kubecy-master21 /root/.kubecy/kansctl:~ # ./kansctl setup tab ##设置 kansctl tab功能
root@kubecy-master21 /root/.kubecy/kansctl:~ # ./kansctl apply -e prod -t prometheus
root@kubecy-master21 /root/.kubecy/kansctl:~ # ./kansctl apply -e prod -t redis-single,postgresql-single
root@kubecy-master21 /root/.kubecy/kansctl:~ # ./kansctl apply -e prod -t all
