Skip to content

Commit

Permalink
CODO Beta0.2发布,详细请参考更新日志
Browse files Browse the repository at this point in the history
  • Loading branch information
杨红飞 committed Apr 12, 2019
1 parent 2171399 commit 59d1857
Show file tree
Hide file tree
Showing 16 changed files with 281 additions and 176 deletions.
Binary file added docs/source/_static/images/create_proxy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
File renamed without changes
File renamed without changes
19 changes: 11 additions & 8 deletions docs/source/change_log.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,34 +9,37 @@
- 发布使用文档


### 0.2.0
### Beta 0.2.0

2019-04

- 更新:用户使用文档
- 更新:更新了部署文档,不基于env,强烈建议用户一步步部署,更快的了解我们的系统
- 用户使用文档
- 更新:更新了部署文档,不基于env,强烈建议用户一步步部署,更快的了解我们的系统[](https://docs.opendevops.cn/zh/latest/distributed_install.html)
- 新增:作业配置新增了标签树、代理使用文档
- 新增:新增用户发布、SQL审核、SQL优化、自定义任务等

- 更新:订单中心模块
- 订单中心模块
- 稍作调整,显示订单列表/历史任务查询
- 更新:任务订单前端更新,增加了参数表格展示,更好的展示任务详情

- 更新:任务发布模块
- 任务发布模块
- 优化:应用发布,可基于标签组选定主机
- 优化:SQL审核前端,使用户更好的理解
- 优化:SQL优化前端,使用户更好的理解
- 新增:自定义任务,用户可在平台直接提交自定义任务。
- 新增:自定义提交,用户在编排复杂任务的时候可以使用`json`格式自定义提交

- 更新:作业配置模块
- 作业配置模块
- 新增:标签树,基于树形的Server DB管理标签
- 新增:代理配置(代理主机),你有多区域且网络富咋的情况下,你可以用这里的代理主机帮你实现

- 更新:任务模板模块
- 任务模板模块
- 更新:执行用户,更新了前后端数据,新增执行用户字段,用户可在这里添加多个相同的系统用户
- 新增:配置中心模块
- 新增:配置中心模块上线,用户复杂配置可基于配置中心,
- 地址:[传送门](https://github.com/opendevops-cn/kerrigan)

- 新增:运维工具模块
- 运维工具模块
- 新增:告警管理,基于Prometheus AlertManager webooks,自定义告警规则
- 新增:提醒管理,在一些运维场景中,例如:域名到期:证书到期、xxx线路到期。我们可以帮助你进行提醒。
- 新增:事件管理,记录运维中一些安全事件,作为运维你处理过的安全大事件值得被记录下。
Expand Down
108 changes: 98 additions & 10 deletions docs/source/env_ready.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
### 环境准备

> 服务介绍请参考:https://docs.opendevops.cn/zh/latest/introduction.html
> 部署安装之前,你应该了解下每个模块的用途,[传送门](https://docs.opendevops.cn/zh/latest/introduction.html)


**注意**
Expand All @@ -16,17 +17,43 @@
- 磁盘: >=50+


**初始化环境变量**

- 请根据自己环境修改以下变量地址,后续平台里面调用需要使用到。


**准备基础环境**

> 基础环境需要用到以下服务,我们也提供了简单的[初始化脚本](<https://github.com/opendevops-cn/opendevops/scripts>)
- 建议版本
- Python3.6
- Redis3.2
- MySQl5.7
- RabbitMQ
- Docker
- Docker-compose



**优化系统**

注意:

- 如果你的系统是新的,我们建议你先优化下系统,同样我们也提供了[优化系统脚本](https://github.com/opendevops-cn/opendevops/tree/master/scripts/system_init_v1.sh)
- 以下基础环境中,若你的系统中已经存在可跳过,直接配置,建议使用我们推荐的版本



创建项目目录

```
$ mkdir -p /opt/codo/ && cd /opt/codo/
```

**环境变量**

> 以下内容贴入到env.sh文件,刚开始接触这里可能会稍微有点难理解,后面文档将会说明每个环境变量的用途,主要修改域名/地址和密码信息 `source env.sh`

以下贴入到env.sh文件,请修改以下环境变量信息, `source env.sh`

```shell
#本机的IP地址
Expand All @@ -42,28 +69,37 @@ export REDIS_PASSWORD="cWCVKJ7ZHUK12mVbivUf"
export MQ_USER="ss"
export MQ_PASSWORD="5Q2ajBHRT2lFJjnvaU0g"

##这部分是模块化部署,微服务,每个服务都有一个单独的域名
### 管理后端地址
export mg_domain="mg.opendevops.cn"

### 定时任务地址
export cron_domain="cron.opendevops.cn"
### 定时任务地址,这里目前是单进程,使用本地IP即可
export cron_domain=${LOCALHOST_IP}

### 任务系统地址
export task_domain="task.opendevops.cn"

### CMDB系统地址
export cmdb_domain="cmdb.opendevops.cn"

### 前端地址
### 运维工具地址
export tools_domain="tools.opendevops.cn"

### 配置中心域名
export kerrigan_domain="kerrigan.opendevops.cn"

### 前端地址,也就是你的访问地址
export front_domain="demo.opendevops.cn"

### api网关地址
export api_gw_url="gw.opendevops.cn"

#codo-admin

#codo-admin用到的cookie和token,可留默认
export cookie_secret="nJ2oZis0V/xlArY2rzpIE6ioC9/KlqR2fd59sD=UXZJ=3OeROB"
export token_secret="1txIq2QUkeFsZizt3vEpVzUQNFS2@DpEQwbbw8k0YJt0biFScH"

##如果要进行读写分离,Master-slave主从请自行建立,一般情况下都是只用一个数据库就可以了
# 写数据库
export DEFAULT_DB_DBHOST="10.10.10.12"
export DEFAULT_DB_DBPORT='3306'
Expand All @@ -89,7 +125,16 @@ export DEFAULT_REDIS_PORT=6379
export DEFAULT_REDIS_PASSWORD=${REDIS_PASSWORD}
```

```shell
$ source env.sh #最后一定不要忘记source
```





**安装Python3**

> 建议使用Python36,若你的系统里面已经存在Python36可以跳过此步骤。
```shell
Expand Down Expand Up @@ -135,7 +180,10 @@ fi
```

**安装MySQL**

> 一般来说 一个MySQL实例即可,如果有需求可以自行搭建主从,每个服务都可以有自己的数据库
>
> 我们这里示例是用Docker部署的MySQL,你也可以使用你自己的MySQL
```shell
echo -e "\033[32m [INFO]: Start install mysql5.7 \033[0m"
Expand All @@ -154,13 +202,14 @@ EOF
docker-compose up -d #启动
if [ $? == 0 ];then
echo -e "\033[32m [INFO]: mysql install success. \033[0m"
echo -e "\033[32m [INFO]: mysql -h 127.0.0.1 -uroot -p${MYSQL_PASSWORD}. \033[0m"
echo -e "\033[32m [INFO]: mysql -h127.0.0.1 -uroot -p${MYSQL_PASSWORD} \033[0m"
else
echo -e "\033[31m [ERROR]: mysql57 install faild \033[0m"
exit -3
fi
```
**导入数据**

```
#安装MySQL客户端测试一下
yum install https://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
Expand Down Expand Up @@ -256,10 +305,15 @@ $LOCALHOST_IP $cron_domain
$LOCALHOST_IP $task_domain
$LOCALHOST_IP $api_gw_url
$LOCALHOST_IP $cmdb_domain
$LOCALHOST_IP $kerrigan_domain
$LOCALHOST_IP $tools_domain
EOF

#添加配置
echo "nameserver $LOCALHOST_IP" > /etc/resolv.conf #注意:需要将本机DNS改成自己,不然没办法访问以上mg.cron,cmdb等内网域名
#注意:
# 刚装完DNS可以先不用改本机的DNS,有一部分人反应Docker Build时候会报连不上mirrors,装不了依赖。
# 部署到API网关的时候,需要将本机DNS改成自己,不然没办法访问以上mg.cron,cmdb等内网域名
#echo "nameserver $LOCALHOST_IP" > /etc/resolv.conf
echo "resolv-file=/etc/resolv.dnsmasq" >> /etc/dnsmasq.conf
echo "addn-hosts=/etc/dnsmasqhosts" >> /etc/dnsmasq.conf

Expand All @@ -277,3 +331,37 @@ fi
```



**CODO BASE镜像**

> 我们模块都是个人独立开发的,当时代码编写的时候是直接基于CentOS7来进行编写的Dockerfile,便于测试,需要的同学切记手动去修改下FROM就可以了。
- 为什么加上这一步?
- 有部分用户反应说我们微服务里面每个Dockerfile都去重复安装了Python3
- 这里我准备了Python3的 Base Dockerfile文件,使用人员可先制作一个codo_base的docker images
- 如需部署模块慢的同学可以修改每个模块下的Dockerfile文件,`FROM codo_base`, 将Python之前的RUN去掉就可以了

BASE Dockerfile文件

```dockerfile
FROM centos:7
# 设置编码
ENV LANG en_US.UTF-8
# 同步时间
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN echo "216.176.179.218 mirrorlist.centos.org" >> /etc/hosts
# 1. 安装基本依赖
RUN yum update -y && yum install epel-release -y && yum update -y && yum install wget unzip epel-release nginx xz gcc automake zlib-devel openssl-devel supervisor groupinstall development libxslt-devel libxml2-devel libcurl-devel git -y
#WORKDIR /var/www/

# 2. 准备python
RUN wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xz
RUN xz -d Python-3.6.6.tar.xz && tar xvf Python-3.6.6.tar && cd Python-3.6.6 && ./configure && make && make install

# 3. 安装yum依赖
#pass
```

贴入Dockerfile文件,执行`docker build . -t codo_base`,需要的同学`注意:手动去修改下各模块下Dockerfile`即可
90 changes: 88 additions & 2 deletions docs/source/job_configure.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ api_gw = 'gw.opendevops.cn'
**新建应用**
点开`作业配置`-`发布配置`
- 发布应用:建议一个有意义的名称
- 发布类型:选择发布类型,支持(服务器、存储桶)
- 发布类型:选择发布类型,支持(服务器、存储桶、K8S CD)
- 构建主机:哪台主机执行操作,默认(127.0.0.1)
- 代码仓库:下拉选择你的代码库
- 关联模板:下拉选择你要关联的模板
Expand Down Expand Up @@ -103,9 +103,95 @@ api_gw = 'gw.opendevops.cn'

![](./_static/images/publish_ok.png)

#### 标签树

> 预先配置好你要管理的主机和数据库,然后新建一个标签,将统一管理的主机和数据库规划在一个标签下,便于统一管理和操作。
列举一个简单创建标签的示例:

> PS: 作业配置和任务模板编排作业任务,稍有点复杂,我们正在不断优化系统和文档,感谢你的支持。
- ①新建标签
- ②新建server
- ③新建DB

**新建标签**

点开`标签树`-`root`-`新建标签`

- 标签名称:建议取一个简单明了的名字
- 主机:下拉选择已创建的管理主机或者不填写,在后续创建server的时候也可关联该标签
- 数据库:下拉选择已创建的数据库或者不填写,在后续创建DB的时候也可关联该标签
- 代理:因为大部分线上DB或者Redis都没有外网,下拉选择已创建的代理主机或者后续创建DB时候也可关联
- 授权用户:下拉授权用于操作该标签的用户

![](./_static/images/create_tag.png)

**新建server**

点开`标签树`-`server`-`添加主机`

- 主机名称:建议取一个有特定意义的名字
- IP地址:填写要管理的服务器IP地址
- 区域:服务器的所在区域,例如(上海,新加坡等)
- 标签:下拉选择上面创建的标签或者其他已有标签
- 备注:记录其他你需要标识的文字

![](./_static/images/create_server.png)

**新建DB**

点开`标签树`-`DB`-`添加数据库`

- 数据库名称:填写你要操作的数据库名字也可以是自定义的名字
- 数据库地址:输入被管理数据库地址
- 数据库端口:数据库连接端口(默认为3306)
- 用户:对该数据库有操作权限的账号
- 密码:上面账号对应的密码
- 环境:下拉选择你要对应的环境
- 代理:下拉选择可以外网连接到该数据库的代理地址
- 类型:下拉选择你的数据库类型
- 标记:下拉选择该数据库的操作权限
- 标签:下来选择对应的管理标签
- 备注:记录其他你需要标识的文字

![](./_static/images/create_db.png)

#### 代理配置

>预先配置好代理服务器地址,用于创建标签树下DB时可供选取,该代理是用来连接无外网状态下的数据库而存在的。
列举一个简单创建代理的示例:

- ①添加代理
- ②编辑inception
- ③编辑salt

**添加代理**

点开`代理配置`-`添加代理`

- 代理主机:填写你要用来代理连接数据库的IP地址
- 备注信息:填写描述信息

![](./_static/images/create_proxy.png)

**编辑inception**

点开`代理配置`-`选择对应的inception编辑`

- Inception主机:填写Inception服务的IP地址
- Inception端口:填写Inception服务端口
- 备份库主机:填写可以代理连接数据库的IP地址
- 备份库端口:填写端口(默认3306)
- 备份库用户:填写可操作备份的账号
- 备份库密码:填写对应账号密码

![](./_static/images/edit_inception.png)

**编辑salt**

>该字段为保留字段,用于后期开发处理


> PS: 作业配置和任务模板编排作业任务,稍有点复杂,我们正在不断优化系统和文档,感谢你的支持。
Loading

0 comments on commit 59d1857

Please sign in to comment.