Ver código fonte

rename by krrish

krrish 7 anos atrás
pai
commit
4ea0c61439

+ 0 - 20
05-常见问题处理FAQ/DNS 域名原理及失效处理.md

@@ -1,20 +0,0 @@
-
-# 1. DNS 原理
- 
- - DNS 服务器:在外网搭建**PowerDNS**服务,提供名称解析服务(当然使用其它 DNS 服务器也可以,比如 Bind 等)。最好有自带对外的增、删、改、查 接口服务,通过 http API 暴露接口,否则只能自己开发了。
-  - 在域名控制台中,手动设置 svi.pub 域名解析,指向为我们自建的**PowerDNS**服务。后续的二级域名,都会在我们自建的 DNS 服务器上生成或解析啦。 :)
-  - 云平台 "基础设施" 中,部署一个 "powerdns-external-dns" 基础服务(我们暂称之为`DNS 客户端`吧)。
-  - DNS 客户端每隔一段时间(可配置),从云平台的 MetaData 元数据( http://rancher-metadata/ )信息中,获取 服务名、应用名(栈名)、服务所在主机等信息。
-  -  DNS 客户端通过提前配置好的域名规则 (默认是 <服务名>.<栈名>.<环境名>.<svi.pub>)将数据进行组合为 http Post 信息。
-  - DNS 客户端通过**Insert_Or_Update**接口,向 DNS 服务器 的 http API Post 数据,进行二级域名的增、删、改、查 。
-
-![](images/_1531404886_28206.png)
-
-
-# 2. 问题处理
- 
- 目前基本碰到的问题,都是由于网络延时造成 api 提交数据失败。解决方案有以下几种:
-
-   - 重启下 powerdns-external-dns 服务,查看日志如果没有出现错误即问题解决(80% 可以解决)
-   - 将 powerdns-external-dns 中的健康检测的 "超时时间" 适当增加(一般设置为 2-10 左右的值,网络越差值越大 )
-   - 优化下网络吧,目前线上暂时未发现有此问题 :-o

+ 0 - 39
05-常见问题处理FAQ/Jenkins 中常见失败的处理.md

@@ -1,39 +0,0 @@
-# 1. Jenkins 的作用
-
-Jenkins 实现了代码的拉取、编译、打包、传输、build 镜像、上传镜像、发布至测试环境 等功能。
-拉取、编译、打包  这些步骤由开发人员自行维护,主要联系人:@肖慧
-
-# 2. 传输失败定位 
-  - 查看 192.168.100.19 服务器上空间是否充足
-  - 查看 192.168.100.19 服务器上 FTP 服务是否正常
-
-![有输出  vsftpd 则表示 正常](images/_1531736590_11754.png)
-
-  - 查看 /var/log/syslog 及 /var/log/kern 日志
-
-# 3. build 镜像失败定位
-  - 登陆 192.168.100.19 服务器 /tmp 目录
-  - 可以看到 "网元名"  的文件夹,进入
-  - 查看 error.log 
-
-# 4. 上传镜像失败定位
-  - 尝试手动登陆镜像仓库并上传
- 
-```sh
-#(用户:admin   密码:Changeme_123)
-docker login registry.svicloud.com
-
-# push image
-docker push registry.svicloud.com/powercloud/comm/server:V01R01B03-4267
-```
-
-# 5. 发布失败(deploy failed)定位 
-  - 检查 Jenkins 中的发布参数是否正确
-
-![](images/_1531738335_22654.png)
-
-  - 如果是新建的环境,需要联系 @董朝军 添加环境认证信息至部署脚本中
-  
- ![](images/_1531738431_96.png)
-
-  - 查看 192.168.100.19 上的 /tmp 下的 *_deploy 目录日志

+ 0 - 9
05-常见问题处理FAQ/如何合并分支,什么时候合并.md

@@ -1,9 +0,0 @@
-
-现在分支开发后,需要注意,如何把这些修改合并至 master 上去,什么时候合等。
-
-添加参数,要在 Git 中添加以下几个位置后,再刷新应用商店生效:
-
-  1. rancher-compose 中 增加 question 段,此目的是让应用商店中有这些默认值 ,也可以按需修改
-  2. docker-compose 中,要引入上一个 question 中的 变量​,如果不引入就不会生效
-  3. answer.txt 文件。这个文件提供自动化部署默认值。
-

+ 0 - 11
05-常见问题处理FAQ/如何将配置文件变量动态化.md

@@ -1,11 +0,0 @@
-
-# 1. 修改 rancher-compose
-
-  1. rancher-compose 中 增加 question 段,此目的是让应用商店中有这些默认值 ,也可以按需修改
-  2. docker-compose 中,要引入上一个 question 中的 变量​,如果不引入就不会生效
-  3. answer.txt 文件。这个文件提供自动化部署默认值。
-
-# 2. 修改 docker-compose 
-
-
-# 3. 刷新应用商店 

+ 0 - 24
05-常见问题处理FAQ/推送镜像至线上仓库.md

@@ -1,24 +0,0 @@
-# 1. 镜像仓库说明
-
-目前视维镜像仓库共有 2 个,一个在长沙,另一个在法国 151.106.8.135 上,二个镜像仓库域名均相同,都为 registry.svicloud.com。国内用户访问 registry.svicloud.com 会被转至长沙镜像仓库,国外转至法国镜像仓库。这个功能是通过 **DNS 解析不同地区用户的 IP 地址**实现的。
-
-# 2. 为何不直接全同步镜像仓库
-
-前期我们采用了 "全同步" 的方案,所有的镜像一提交至长沙本地仓库,立即会向法国复制,但存在以下问题:
-- 带宽不够。延时高、丢包率高,有时会影响员工上网办公
-- 并非所有的镜像在生产上都需要用。这也会造成线上空间的浪费
-
-所以,现在镜像采用手工 "推送" 的方案,有需要的镜像,由开发或运维人员手动推送至线上。
-
-# 3. 镜像手工推送方法
-
-目前二台服务器专门用来推送镜像,这二台服务器通过 『代理』将镜像传至法国,速度一般在 2-3 MB/s 左右;
-这二台服务器虽都是走了代理,但是出口使用了不同的线路
-  - 192.168.1.142(密码 123456)是通过 `深圳办公内网` 出口
-  - 183.47.46.186(密码请咨询 @李杰 或 @董朝军)是通过 `深圳 10M 专线` 出口
-
-登陆以上任意一台服务器,使用 ~/pushToRemote.sh <镜像名称>  进行推送
-
-```sh
-./pushToRemote.sh registry.svicloud.com/powercloud/oms/server:V01R01B18-3043
-```

+ 0 - 10
05-常见问题处理FAQ/数据路径的固化与查看.md

@@ -1,10 +0,0 @@
-# 1. 数据路径的固化与查看
-
-## 1.1. 查看固化数据
-### 1.1.1. 点击升级按钮
-![升级](images/_升级_1531703145_12038.png)
-
-### 1.1.2. 在卷里添加映射的路径
-![固化路径](images/_固化路径_1531703266_30903.png)
-
-格式为:**物理机路径:容器路径**

+ 0 - 17
05-常见问题处理FAQ/新增应用商店与应用刷新.md

@@ -1,17 +0,0 @@
-# 1. 添加新的 "应用商店"
-
-![](images/_1531739094_18564.png)
-
-![](images/_1531739047_12023.png)
-
-![](images/_1531739158_5805.png)
-
-![开始部署吧](images/_1531739274_16438.png)
-
-![](images/_1531739351_6718.png)
-
-
-# 2. 看不到商店里的修改过的内容
-
-![点这个就对了](images/_1531739490_10138.png)
-

+ 0 - 35
05-常见问题处理FAQ/新增或修改网元需要修改哪些文件.md

@@ -1,35 +0,0 @@
-# 1. 新增网元或修改网元需要修改哪些文件
-
-## 1.1. 1、编写dockerFile文件
-请参考 https://git.svicloud.com/svicloud/cloud-standard/src/master/Dockerfile.tpl
-
-![dockerfile样例](images/_dockerfile_1531705160_476.png)
-
-## 1.2. 2、编写compose编排文件
-请参考 https://git.svicloud.com/svicloud/catalog-wisecloud.git/templates
-注意配置文件之间传递的变量名要保持一致
-### 1.2.1. 1、编写docker-compose.yml文件
-
-举例
-
-![docker-compose](images/_dockercomp_1531705467_25782.png)
-
-### 1.2.2. 2、编写rancher-compose.yml文件
-
-举例
-
-![rancher-compose](images/_ranchercom_1531705653_28282.png)
-
-### 1.2.3. 3、编写answer.txt文件
-
-举例
-
-![问答文件](images/_问答文件_1531705716_29348.png)
-
-### 1.2.4. 4、编写config.yml文件
-
-举例
-
-![config](images/_config_1531705775_6262.png)
-
-

+ 0 - 102
05-常见问题处理FAQ/新建项目需要的操作及注意事项.md

@@ -1,102 +0,0 @@
-
-# 1. 新建 Git 仓库
-> Git 仓库用于存放 `编排文件代码`,它是 **描述应用部署架构的描述文件**,实际的应用代码是在 SVN 上的
-
-登陆 http://git.svicloud.com/ 新建一个编排文件项目,名称以 "catalog-" 开头(方便统一标识)。
-
-![](images/_1531396358_12959.png)
-
-设置项目人员权限:
-
-![](images/_1531396444_9446.png)
-
-![](images/_1531396554_23826.png)
-
-# 2. 新建镜像仓库
-
-> "镜像仓库" 提供容器镜像存储、下载(pull)及上传(push)功能。项目相当于最 "顶级目录",如镜像:registry.svicloud.com/tools/nginx:v0.1 就放在 registry.svicloud.com 这个仓库的 tools 项目中。
-
-登陆 http://registry.svicloud.com/ 根据需要决定是否新建一个镜像仓库项目。
-如果在`新的项目中,可以直接使用旧项目的镜像`,就不需要新建仓库项目;反之,则需要。
-
-![](images/_1531395639_16726.png)
-
-
-> 关于 镜像认证:镜像仓库采用 **JWT**(Json Web Token) 方式进行认证,云平台中存储镜像仓库认证信息,以避免每次拉取镜像都需要输入密码。
-
-云平台设置镜像仓库认证信息菜单如下:
-![](images/_1531401687_29366.png)
-
-![](images/_1531401985_16755.png)
-
-
-
-
-# 3. Jenkins 中网元配置变化
-
-将下图中的 "powercloud"  与上一步新建的 『镜像仓库项目』 中的 "项目名" 保持一致; 
-
-![](images/_1531395549_27498.png)
-
-![](images/_1531396076_22229.png)
-
-所有支持的部署参数,见下图。二个可选的参数说明如下:
-  - --git-branch="dev"  如果此项目中的编排文件,使用了 `Git 中的非 master 分支`,而是使用如 "dev"、"test" 之类的分支,需要指明分支名称。
-  - --compose_version=1  除了使用 --git-branch 来控制版本,编排文件自身也可以有 **多个不同的应用编排版本**(通常为 0 ,即只有一个编排版本,就不需要带上此参数),如果非 0,就要带上了。
-
-![](images/_1531399174_4005.png)
-
-![部署脚本所支持的所有参数](images/_1531398773_23987.png)
-
-# 4. 部署脚本的变化 
-
-部署文件负责将容器部署至指定的环境中,部署脚本主要功能为:
-  1. 从 Git 项目中拉取相对应的编排文件代码
-  2. 连接云平台,使用云平台提供的接口,将应用部署至对应的云平台环境中
-
-> 注意:上一步中调用到了 192.168.100.19 服务器上的 /opt/tools/deploy_latest.sh 这个部署脚本,如果是新项目,需做少量修改并另存为新的脚本,如 wms 项目的部署文件保存为 deploy_wms_latest.sh。
-如不熟悉此脚本,请联系管理员协助进行此操作。同时上一步的 "Exec command" 中,脚本名也需要修改。
-
-![](images/_1531397592_26041.png)
-
-
-# 5. 云平台新建环境
-
-![](images/_1531400932_17857.png)
-
-![](images/_1531400986_13256.png)
-
-![](images/_1531401082_24637.png)
-
-> 第 ① 处,请务必使用尽量短、简单的名称,不要带特殊字符,因为环境名会做为`外网域名`的一部分。 
-> 第 ② 处,使用 **Cattle** 做为默认的环境模板。
-> 第 ③ 处,如果此环境需要添加其它用户,可以添加用户并授予相应的权限(默认 admin 对所有环境有管理权限)。
-
-# 6. 增加 powerdns 基础服务
-云平台默认是没有**外网域名**的,只有**内网域名**。需要添加基础服务  `powerdns-external-dns` 
-
-![](images/_1531402563_6576.png)
-
-![](images/_1531402598_32460.png)
-
-![](images/_1531402632_5236.png)
-
-![](images/_1531402653_6451.png)
-
-![](images/_1531402700_15295.png)
-
-  ① :http://console.svicloud.com:8100/api/v1
-  ② :AKIAITPARJW7F4MWKSEA
-  ③ :svi.pub
-  ④ :299
-  ⑤ :启动......别着急,还没完 :(,继续向下看,我们还要将 PowerDNS 的镜像修改为我们自己做的镜像
-
-![](images/_1531402988_31730.png)
-
-![](images/_1531403015_21831.png)
-
-镜像 registry.svicloud.com/tools/rancher/external-dns:v1.0 修复了好多 BUG,官方的只支持 AWS 上的 Router53 服务!:)
-
-![](images/_1531403154_1835.png)
-
-

+ 0 - 9
05-常见问题处理FAQ/新部署应用时出错的处理.md

@@ -1,9 +0,0 @@
-
-  - 错误场景:新建栈时会出现红色报错;只要栈不删除,此错误一直以醒目的红色字体存在
-  - 错误提示: Image is required when selectorContainer is not passed in
-  - 解决方法:
-此问题是由于 rancher-compose 中指定的 『services』 和 docker-compose 中指定的 『services』不一致导致。详见:https://github.com/rancher/rancher/issues/5917
-
-  1. 检查  rancher-compose 中的 services,并和 docker-compose 中的 services 进行比较
-  2. 90% 是由于 rancher-compose 中的 `services` 未更新造成的,修改以适配 docker-compose
-  3. 提交 Git,并**刷新应用商店**,**删除应用并重新部署**,错误消失

+ 0 - 37
05-常见问题处理FAQ/日志路径及查看方法.md

@@ -1,37 +0,0 @@
-
-# 1. 查看业务启动日志
-## 1.1. 云平台查看
-
-直接在云平台容器下拉菜单中,找到 "查看日志" ,打开即可查看启动日志。注意这里只能看启动日志,并非业务运行日志。
-![](images/_1531735268_3393.png)
-
-## 1.2. 到主机上查看
-  - 复制容器 ID
-
-![点击进行容器详细信息](images/_1531735695_25054.png)
-
-![点击复制容器 ID](images/_1531735764_2592.png)
-
-  - 找到该容器运行的主机,见上图 "主机" 列
-  - 点击主机名,可看到其 IP
-
-![](images/_1531735511_4907.png)
-
-  - 使用 xShell 登陆该服务器
-  - 运行  docker logs -f <已复制的容器 ID> 命令查看指定容器的日志,如:
-
-```sh
-docker logs -f 4ae6b170ef46e3730672bca495cb754a76305f8503fbed49a0db98ae377cd522
-```
-
-# 2. 查看业务运行日志
-  - 找到业务运行的容器(方法同上)
-  - 登陆进容器并查看
-  
-```sh
-# login to the container
-docker exec -it 4ae6b170ef46e3730672bca495cb754a76305f8503fbed49a0db98ae377cd522 bash
-
-# tailf the detail app log
-tail -f /opt/powercloud/aaa/aaa.log
-```

+ 0 - 10
05-常见问题处理FAQ/服务出现端口冲突处理.md

@@ -1,10 +0,0 @@
-# 1. 现象
-
-![](images/_1531902991_7681.png)
-
-# 2. 处理方法
-
-
-![](images/_1531903106_19261.png)
-
-

+ 0 - 48
05-常见问题处理FAQ/服务无法启动不断重启调试.md

@@ -1,48 +0,0 @@
-
-# 1. 服务无法启动后不断重启应该如何调试
-
-## 1.1. 现象
-### 1.1.1. 容器状态不断变为initializing,又变成Running
-![服务重启状态](images/_服务重启状态_1531390071_9043.png)
-
-### 1.1.2. 日志中记录了很多重启的记录
-![重启日志](images/_重启日志_1531390319_9272.png)
-
-## 1.2. 处理方法
-### 1.2.1. 启动 bash 模式
-由于容器在不断重启,无法看容器里的详细错误,可以让容器直接不启动应用而直接进入 "bash" 模式。 
-
-![点击升级按钮](images/_点击升级按钮_1531390639_26587.png)
-
-点击 "升级按钮",在命令中输入bash,容器启动后只执行该命令
-
-![输入bash命令](images/_输入bash命令_1531390788_15573.png)
-
-### 1.2.2. 去掉健康检查
-进入健康检查标签,类型选择  "无",然后点击升级
-![去掉健康检查](images/_去掉健康检查_1531390960_11608.png)
-
-等状态由Upgrading变为Upgraded
-![升级中](images/_升级中_1531391122_28584.png)
-
-如果加了bash都还是不断重启,可以先克隆一个服务后再按上面的步骤加bash。
-> 注意:Clone 后的服务名,不能与原服务名相同
-
-![克隆服务](images/_克隆服务_1531397770_30655.png)
-
-### 1.2.3. 查看容器日志
-点击日志按钮
-![点击查看日志](images/_点击查看日志_1531396668_1697.png)
-查看日志错误信息
-![查看日志错误信息](images/_查看日志错误信息_1531396693_7083.png)
-
-### 1.2.4. 进入容器调试
-点击执行命令行
-![点击执行命令行](images/_点击执行命令行_1531396857_13214.png)
-
-根据dockerfile文件执行CMD命令,结合日志查看是哪步出错
-根据各业务服务自己的日志信息调试
-
-
-### 1.2.5. 关闭 bash 模式
-参照 1.2.1,将 bash 命令去掉,升级即可。

+ 0 - 14
05-常见问题处理FAQ/查看当前的容器镜像版本号.md

@@ -1,14 +0,0 @@
-# 1. 查看当前的容器镜像版本号
-
-容器镜像由部分组成:镜像地址、镜像版本,中间使用『`冒号`』分隔。其中 `镜像版本` 由 `网元版本`-`SVN Build 号` 组成,如 `registry.svicloud.com/powercloud/ems/server`:`V01R01B03-1899` 
-
-可以使用如下几种方式查看镜像:
-## 1.1. 方法一:Jenkins 中查看镜像版本号
-
-打开 Jenkins 中"控制台输出",找到如下日志,`V01R01B03-1899` 即是镜像号
-![](images/_1526263181_17049.png)
- 
-
-## 1.2. 方法三:在已运行的 OS 中通过查看应用生成
-![](images/_1526262920_14637.png)
-  

+ 0 - 10
05-常见问题处理FAQ/软件包是如何成为镜像的.md

@@ -1,10 +0,0 @@
-# 1. 软件包里面的内容
-
-
-
-# 2. build 镜像过程
-
-
-
-
-## 2.1. push