## 2016.10.25 升级的到2016.11.25版本
[toc]
云帮11月版本是 我们迭代的第三个版本,在这次版本中,除了产品层面的更新外,变动最大的就是后端服务的部署方式。之前只有部分服务使用容器化的部署,本月的版本我们已经将除了基本服务外(docker、k8s、etcd)都进行了容器打包,因此本文档为了兼顾老用户升级,只进行了改动部分的升级操作。所有组件都进行容器化升级的操作比较复杂,本文最后会将完整的docker-compose.yaml 文件上传,用户可以自行通过对照该文件修改。
如果您在升级过程中遇到问题,可以在 [云帮社区](http://t.goodrain.com/yb),或者[云帮交流群](http://doc.goodrain.com/cloudbang-community-install/198880)提问。
## 备份数据库
>[info] 管理节点操作
### 备份console数据库
```bash
mysqldump console | bzip2 > ~/console.`date +%F`.sql.bz2
```
### 备份region数据库
```bash
mysqldump region | bzip2 > ~/region.`date +%F`.sql.bz2
```
## 修改表结构
```sql
USE console;
CREATE TABLE `tenant_service_image_relation` (
`ID` INT(11) NOT NULL AUTO_INCREMENT,
`tenant_id` VARCHAR(32) NOT NULL,
`service_id` VARCHAR(32) NOT NULL,
`image_url` VARCHAR(100) NOT NULL,
PRIMARY KEY (`ID`)
)
ENGINE = InnoDB
AUTO_INCREMENT = 39
DEFAULT CHARSET = utf8;
CREATE TABLE `console_sys_config` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`key` varchar(32) NOT NULL,
`type` varchar(32) NOT NULL,
`value` varchar(4096) NOT NULL,
`desc` varchar(40) NOT NULL,
`create_time` datetime NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `console_sys_config_attr` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`attr_name` varchar(40) NOT NULL,
`attr_val` varchar(256) NOT NULL,
`attr_type` varchar(40) NOT NULL,
`attr_desc` varchar(40) NOT NULL,
`config_id` int(11) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `docker_compose_yaml` (
`ID` INTEGER AUTO_INCREMENT NOT NULL PRIMARY KEY,
`version` VARCHAR(10) NOT NULL,
`file_name` VARCHAR(100) NOT NULL,
`md5` VARCHAR(100) NOT NULL,
`services` VARCHAR(3000) NOT NULL,
`volumes` VARCHAR(1000) NOT NULL,
`networks` VARCHAR(500) NOT NULL,
`build_args` VARCHAR(200) NOT NULL
);
CREATE TABLE `docker_service` (
`ID` INTEGER AUTO_INCREMENT NOT NULL PRIMARY KEY,
`compose_id` INTEGER NOT NULL,
`command` VARCHAR(100) NULL,
`name` VARCHAR(100) NOT NULL,
`depends_on` VARCHAR(100) NOT NULL,
`entrypoint` VARCHAR(100) NOT NULL,
`environment` VARCHAR(500) NOT NULL,
`image` VARCHAR(100) NOT NULL,
`links` VARCHAR(500) NOT NULL,
`expose` VARCHAR(100) NOT NULL,
`ports` VARCHAR(500) NOT NULL,
`volumes` VARCHAR(500) NOT NULL,
`volumes_from` VARCHAR(15) NOT NULL,
`build` VARCHAR(100) NOT NULL,
`context` VARCHAR(30) NOT NULL,
`dockerfile` VARCHAR(30) NOT NULL,
`args` VARCHAR(100) NOT NULL,
`cap_add` VARCHAR(100) NOT NULL,
`cap_drop` VARCHAR(100) NOT NULL,
`cgroup_parent` VARCHAR(50) NOT NULL,
`container_name` VARCHAR(50) NOT NULL,
`devices` VARCHAR(50) NOT NULL,
`dns` VARCHAR(50) NOT NULL,
`dns_search` VARCHAR(50) NOT NULL,
`tmpfs` VARCHAR(50) NOT NULL,
`env_file` VARCHAR(100) NOT NULL,
`extends` VARCHAR(100) NOT NULL,
`external_links` VARCHAR(100) NOT NULL,
`extra_hosts` VARCHAR(100) NOT NULL,
`group_add` VARCHAR(50) NOT NULL,
`isolation` VARCHAR(20) NOT NULL,
`logging` VARCHAR(200) NOT NULL
);
CREATE TABLE `tenant_compose_file` (
`ID` INT(11) NOT NULL AUTO_INCREMENT,
`tenant_id` VARCHAR(32) NOT NULL,
`compose_file_id` VARCHAR(32) NOT NULL,
`compose_file` VARCHAR(100) DEFAULT NULL,
PRIMARY KEY (`ID`)
)
ENGINE = InnoDB
AUTO_INCREMENT = 2
DEFAULT CHARSET = utf8;
USE region;
ALTER TABLE tenant_services
ADD code_from VARCHAR(20) DEFAULT NULL;
```
## 升级镜像
```bash
docker pull hub.goodrain.com/dc-deploy/region_api
docker pull hub.goodrain.com/dc-deploy/labor
docker pull hub.goodrain.com/dc-deploy/console:community
# 重命名镜像
docker tag hub.goodrain.com/dc-deploy/console:community hub.goodrain.com/goodrain/console:community
docker tag hub.goodrain.com/dc-deploy/region_api hub.goodrain.com/goodrain/region_api
docker tag hub.goodrain.com/dc-deploy/labor hub.goodrain.com/goodrain/labor
# 更新镜像服务
dc-compose up -d
```
## 安装性能分析模块
云帮 11.25版本添加了 性能分析 模块的支持,需要参考 [安装性能分析模块](安装性能分析模块.md) 文档完成安装。
## 相关文件下载
本次版本将所有云帮后端服务都做了容器化处理,上文只是提到了3个本次更新涉及到的服务,下面提供了docker-compose的配置文件,用户可以自行通过配置文件下载镜像并配置其他的服务。
[docker-compose.计算节点.yaml](http://7xihe6.com1.z0.glb.clouddn.com/docker-compose.%E8%AE%A1%E7%AE%97%E8%8A%82%E7%82%B9.yaml)
[docker-compose.管理节点.yaml](http://7xihe6.com1.z0.glb.clouddn.com/docker-compose.%E7%AE%A1%E7%90%86%E8%8A%82%E7%82%B9.yaml)