littlebot
Published on 2025-04-16 / 1 Visits
0

【源码】基于Go语言的快速K8S部署工具

项目简介

Go-To-Cloud(简称GTC)是面向小型团队的快速部署工具,能让用户轻松把代码构建并发布到Kubernetes(K8S)环境。无需深入了解K8S或容器镜像知识,用户即可快速上手。它简化了CI/CD流程,不依赖Jenkins、ArgoCD等复杂平台,利用MySQL、镜像仓库和指定的K8S构建节点就能搭建完整的CI/CD服务平台。

项目的主要特性和功能

项目管理

  • 创建项目:可配置代码分支、构建及部署环境。
  • 构建项目:将项目打包成镜像推送到镜像仓库并打tag。
  • 部署项目:配置运行环境、端口、健康检查等参数,实现项目镜像在目标K8S环境的发布或回滚。
  • 监控项目:查看K8S中运行的项目实例,支持伸缩、重启实例,查看容器日志,进入容器内部执行Shell命令。

配置管理

  • 构建节点:指定用于构建和打包镜像的K8S环境。
  • 制品仓库:管理构建的镜像,支持查看历史构建记录和复制镜像地址。
  • 部署环境:配置项目最终运行的K8S环境。

应用监控

支持对应用进行伸缩、重启及管理操作。

账号管理

  • 创建用户:管理系统使用者。
  • 创建组织:项目由组织维护,同一组织内用户可查看和管理所属项目。
  • 权限管理:基于RBAC模型的权限管理,保障项目安全。

安装使用步骤

1. 准备工作

  • 数据库:创建MySQL数据库。 sql create database gotocloud character set utf8mb4;
  • 镜像仓库:若无现成镜像仓库,可使用Docker在本地搭建。 shell docker run -d -p 5000:5000 --restart always --name registry registry:2 并在Docker配置中添加允许非加密地址: yaml "insecure-registries": [ "127.0.0.1:5000", .... 其他地址 ]

2. 修改配置文件

修改conf/appsettings.yaml文件中的数据库配置和JWT配置: yaml db: user: # 数据库用户名 password: # 数据库密码 host: # 数据库地址 schema: gotocloud # 数据库名 jwt: security: thisisunsafeuntilyouchangit # 建议修改 realm: GOTOCLOUD idkey: id builder: kaniko: go-to-cloud-docker.pkg.coding.net/devops/kaniko/executor:v1.9.1-debug

3. 运行项目

切换到项目根目录(main.go所在目录),执行以下命令: bash go mod tidy go run .

4. 前端部署

开发环境

  • Go版本:1.19+
  • MySQL版本:8.0+
  • K8S环境:用于构建和部署项目。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】