新的系列文章更新: 《开发者openshift4使用入门教程》
我所在的公司目前使用的K8S是RedHat的OpenShift 4, 虽然有官方文档, 并且有专门的 Develop 章节, 但是实际使用发现, 开发者(特别是中国的开发者, 传统行业\金融行业的开发者)关注的功能和章节相去甚远. 所以我专门针对开发经常问我的问题, 总结出来这个系列文章.
希望对在使用OpenShift 4的开发者会有所帮助. ❤️❤️❤️
一句话总结本文内容:
如何将以下应用部署到容器云平台:
要部署到容器平台, 你需要有:
oc
命令行工具(CLI), 下载并解压, 并加入到PATH
中.oc login -u <username> -p <password> --server=https://api.caas.example.com.cn:6443 1
oc project <your-project>
具体的: 将JAVA应用的二进制工件(war包, jar包)部署到OpenShift 4的步骤.
oc new-app --name=<app-name> --binary=true --image-stream=redhat-openjdk18-openshift:1.7
2oc new-app --name=<app-name> --binary=true --image-stream=webserver31-tomcat8-openshift:1.4
3oc start-build <app-name> --from-dir </path/to/your/app-name/>
</path/to/your/app-name/>
最简目录结构为:$ tree .
.
└── app-name.war(或.jar)
0 directories, 1 file
Uploading directory "." as binary input for the build .....
Uploading finished
build.build.openshift.io/<app-name> started
replication controller "<app-name>-x" successfully rolled out
oc expose svc <app-name>
$ oc get route <app-name>
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD
<app-name> <app-name>-<project-name>.caas.example.com None <app-name> 8080-tcp
<app-name>
发布后, 后续更新, 执行如下命令:
$ oc start-build <app-name> --from-dir </path/to/your/app-name/>
Uploading directory "." as binary input for the build .....
Uploading finished
build.build.openshift.io/<app-name> started
$ oc logs -f build/<app-name>
...
$ oc rollout status dc/<app-name>
replication controller "<app-name>-x" successfully rolled out
前提: </path/to/your/app-name/>
下的java二进制包已经更新.
[1] <>
里边表示需要根据你自己情况进行调整的内容. 比如: <username>
需要根据自己情况调整为: east4ming
[2] OpenJDK 8 镜像redhat-openjdk18-openshift:1.7
版本为1.7, 会定期更新. 2020年3月11日latest版为1.7
[3] tomcat镜像webserver31-tomcat8-openshift:1.4
版本1.4会定期更新. 2020年3月11日最新版为1.4
[4] 如果需要查看构建镜像的进展, 可以运行以下命令: oc logs -f build/<app-name>
. 构建成功输出如下: Successfully pushed .... Push successful
[5] 如果没有指定端口, 默认都会部署到: 8080 端口.