OpenShift应用上线手册
1、账户基本信息2、将后台服务端项目部署到Tomcat上2.1将项目打成war包2.2新建project2.3将war包上传到自己的gitlab上,并复制其git地址 3、War包应用上线流程3.1上传war包至gitlab3.2部署3.3Build添加认证信息3.4应用访问3.4.1集群内应用调用(应用a和应用b都部署在Openshift内,应用a调用b的地址)3.4.2集群外访问(浏览器访问,或者非Openshift集群内的应用调用) 4Jar包应用上线流程4.1上传Jar包至gitlab4.2部署4.3Build添加认证信息4.4启动命令4.5应用访问 5将前端页面部署到nginx上5.1将打包的前端文件夹上传到gitlab上5.2上传成功复制git地址 6、nginx上线流程6.1上传静态文件至gitlab6.2部署6.3Build添加认证信息6.4修改配置文件6.5应用访问 7、Mysql部署7.1存储创建7.2mysql创建7.3mysql连接7.3.1集群内应用连接7.3.2集群外部机器连接(数据库管理,数据录入等操作)7.3.3用户名密码 8、ConfigMap使用8.1新建configmap8.2挂载configmap8.3subPath 9、存储使用10、OC客户端10.1登录10.2本机与容器复制文件10.2.1本机复制到容器10.2.2容器复制到本机 11、调试11.1查看标准输出日志11.2Terminal11.3环境变量11.3.1调整容器时区11.3.2中文乱码1、账户基本信息
2、将后台服务端项目部署到Tomcat上
2.1将项目打成war包
2.2新建project
2.3将war包上传到自己的gitlab上,并复制其git地址
3、War包应用上线流程
3.1上传war包至gitlab
Gitlab使用可以参考
3.2部署
搜索tomcat选择JBoss Web Server 3.1 Apache Tomcat 8
点击Next
Context Directory如果是根目录则留空,其他路径自行填写
点击Create
3.3Build添加认证信息
如果gitlab项目为私有则构建会提示认证失败错误如下:
解决方案如下:
点击Resources-Secrets-Create Secret
填入git的用户名和密码
然后回到build点击某个build -Actions - Edit YAML
按下图编辑其中git部分,添加了sourceSecret部分,其中name是上一步创建的secret的名称
编辑完成后点击save点击Start Build即可。
3.4应用访问
3.4.1集群内应用调用(应用a和应用b都部署在Openshift内,应用a调用b的地址)
点击Applications-Services-点击某一个记录,使用Hostname地址加端口号
例如:notify.ali.svc:9002
3.4.2集群外访问(浏览器访问,或者非Openshift集群内的应用调用)
点击Applications-Routes
4Jar包应用上线流程
4.1上传Jar包至gitlab
参考3.1
4.2部署
搜索jdk选择OpenJDK
点击Next
点击Create
4.3Build添加认证信息
Build添加认证信息(详情步骤在3.3)
4.4启动命令
默认执行java -jar xxx.jar
如果需要自定义启动命令,则在gitlab根目录新建bin目录添加run.sh文件写入启动命令即可。
4.5应用访问
应用访问(详细在3.4)
5将前端页面部署到nginx上
5.1将打包的前端文件夹上传到gitlab上
(因为是个文件夹,得用git命令方式上传)
(ps: gitlab新建一个项目来存放前端页面,地址如上。)
提交文件夹时会出现上面的问题,解决方案为:进行代码合并 git pull --rebase origin master 再提交。
5.2上传成功复制git地址
6、nginx上线流程
6.1上传静态文件至gitlab
参考3.1
6.2部署
搜索nginx选择Nginx HTTP server and a reverse proxy(nginx)
点击Next
输入相关信息点击Create
6.3Build添加认证信息
Build添加认证信息(详情步骤在3.3)
6.4修改配置文件
默认配置文件内容如下:
可以修改文件内容创建configmap挂载到/etc/opt/rh/rh-nginx112/nginx/nginx.conf下
Configmap使用请参考:ConfigMap使用 (请看下面的8)注意:请使用subPath模式挂载
6.5应用访问
应用访问(详细在3.4)
7、Mysql部署
7.1存储创建
项目资源申请后请联系平台运维人员创建pvc,可以Storage内查看已经存在的pvc
7.2mysql创建
搜索mysql 选择MySQL。
注意:MySQL(Ephemeral)为临时测试使用,该模板创建的MySQL没有要后端存储,pod重启后数据会丢失
填写相关信息
点击Create创建完成
7.3mysql连接
7.3.1集群内应用连接
Applications-Services-找到mysql的service
程序内配置mysql.lisw.svc:XXX
7.3.2集群外部机器连接(数据库管理,数据录入等操作)
使用oc客户端执行:oc port-forward mysql_pod_name 3309:3309
此命令会将本机的3309端口映射为集群msyql的3306端口,使用mysql客户端连接本机3309端口即为连接集群内的3309端口。连接后即可进行管理。
注意:请替换mysql_pod_name为你的mysql的pod名称具体名称在Applications-Pods里查找
7.3.3用户名密码
如果忘记mysql用户名密码可以通过如下方式获取
Resources-Secrets-mysql
8、ConfigMap使用
8.1新建configmap
Resource-Config Maps-Create Config Map
填入相关信息
8.2挂载configmap
点击某一个configmap 点击Add to Application
填入相关信息点击save,完成后pod会自动删除创建一个新的pod新的pod里面会存在挂载的文件
8.3subPath
直接挂载会导致覆盖整个目录,如果想要不覆盖原目录则在挂载完成后修改dc的yaml
Applications-Deployments-找到相应的dc-Actions-Edit YAML
找到volumeMounts字段进行如下修改
修改前:
修改后:
9、存储使用
存储申请后联系paas平台运维人员创建pvc,pvc创建后可以在Storage里面查看
Pvc创建完成后可以挂载给应用挂载方式如下:
Applications-Deployments-选择需要挂载的应用
10、OC客户端
用户可以访问根据自己操作系统下载相应客户端
10.1登录
使用OC客户端执行oc login ocp地址然后输入用户名和密码即可
10.2本机与容器复制文件
首先确定相关pod的名称
10.2.1本机复制到容器
oc cp local_path pod_name:/path
10.2.2容器复制到本机
oc cp pod_name:/path local_path
11、调试
11.1查看标准输出日志
Applications-Pods-点击相应pod-Logs
此处为程序输出到控制台的日志信息,如果应用将日志写入了文件请查看相关文件
11.2Terminal
Applications-Pods-点击相应pod-Terminal
可以进入容器访问相应文件或目录
11.3环境变量
Applications-Deployments-相应的dc-Environment可以对容器内的环境变量进行管理
11.3.1调整容器时区
添加环境变量TZ Asia/Shanghai
11.3.2中文乱码
添加环境变量LC_ALL en_US.UTF-8