为什么使用easy_deploy
仅一个二进制文件,实现快速部署 可编排需部署的软件 可视化容器管理,协助日常运维 项目地址: https://gitee.com/os_lee/easy_deploy 联系微信:lee-aigc
流程
> bootstrap引导程序
> 检查环境
> 安装基础环境(docker, docker-compose, chrony)
> 根据编排文件依次安装中间件及应用
基础设施
web服务器 -> nginx
可视化容器管理 -> portainer
镜像仓库 -> docker-registry, docker-registry-ui
规则: docker-registry.easy:5000/{name}:{version}
如何使用
## 整体结构
├─build 编译后的执行工具
│ └─amd64
├─cmd
├─conf
│──────batch.yaml 批量部署文件,需各个节点的账密
│──────local.yaml 本地节点部署文件,无需账密
│──────main.yaml 主要配置文件
├─shell
└─util
使用deploy
1. 准备部署包deploy.tar.gz
├── app 应用
│ └── demo
│ ├── application.yml
│ ├── docker-compose.yaml (一键部署时需要该文件)
│ ├── images
│ │ └── demo.tar(镜像文件必须)
│ └── logs
├── bootstrap 引导程序
│ ├── docker.tar.gz
│ └── install.sh
└── middleware 中间件
├── docker-registry
│ ├── docker-compose.yml
│ ├── images
│ │ ├── docker-registry.tar
│ │ └── docker-registry-ui.tar
│ ├── README.md
1. 选择需要安装的中间件,并压缩成deploy.tar.gz
2. 配置编排文件main.yaml和local.yaml
2. 帮助文档查看./deploy -h
NAME:
easy devops - 部署工具
USAGE:
main [global options] command [command options] [arguments...]
VERSION:
v1.0.0_20240429
COMMANDS:
deploy, dpy 部署本地节点, 需要配置main.yaml和local.yaml
remove, rm 移除本地节点
images, img 操作镜像
batch 批量操作, 需要配置main.yaml和batch.yaml
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help
--version, -v print the version
计划
# 集成中间件
## 已集成
consul 1.11.1
docker-registry 2.8.2
elk 7.17.10
etcd 3.3.8
mysql 5.7.36
nginx 1.21.5
portainer 2.16.2
## 待集成中间件
busybox latest
bitnami/redis 7.0.15
bitnami/prometheus 2.51.2
bitnami/grafana 7.4.5
bitnami/zookeeper 3.8.1
bitnami/kafka 3.4.0
freakchicken/kafka-ui-lite latest
elasticsearch 7.17.10
kibana 7.17.10
jaegertracing/all-in-one 1.49
jaegertracing/jaeger-query 1.49
jaegertracing/jaeger-collector 1.49
docker.io/apache/skywalking-oap-server 9.4.0
docker.io/apache/skywalking-ui:9.4.0 9.4.0
seaweedfs
minio
# BUG
1. skywalking 指定es地址可配