新的系列文章: 《开发者openshift4使用入门教程》
我所在的公司目前使用的K8S是RedHat的OpenShift 4, 虽然有官方文档, 并且有专门的 Develop 章节, 但是实际使用发现, 开发者(特别是中国的开发者, 传统行业\金融行业的开发者)关注的功能和章节相去甚远. 所以我专门针对开发经常问我的问题, 总结出来这个系列文章.
希望对在使用OpenShift 4的开发者会有所帮助. ❤️❤️❤️
一句话总结本文内容:
如何将NGINX部署到OpenShift 4, 可以有以下2种方式
要部署到OpenShift 4, 你需要有:
oc
命令行工具(CLI), 下载并解压, 并加入到PATH
中.oc login -u <username> -p <password> --server=https://api.caas.example.com.cn:6443
1oc project <your-project>
要使用容器部署, NGINX应用的目录结构必须是:
.
├── html及各类静态文件和文件夹
├── nginx-cfg(对应conf.d)
│ └── nginx-xxx.conf
├── nginx-default-cfg(对应default.d)
│ └── nginx-default-xxx.conf
└── nginx.conf
具体示例如下:
.
├── af73d675832c7dfa67ada93b4db8eb1d.png
├── assetView.f3fa585e66eef9151f60.bundle.js
├── b02bdc1b846fd65473922f5f62832108.ttf
├── favicon.ico
├── index.html
├── main.css
├── main.f3fa585e66eef9151f60.bundle.js
├── nginx-cfg
│ └── nginx-amp.conf
├── nginx-default-cfg
│ └── nginx-default.conf
├── nginx.conf
├── public
│ ├── index.html
│ └── recommend
├── static
│ ├── favicon.ico
│ └── fnt-puhuiti
├── vendors.css
├── vendors.f3fa585e66eef9151f60.bundle.js
└── vendors.f3fa585e66eef9151f60.bundle.js.gz
oc new-app --name=nginx --binary=true --image-stream=nginx-114-rhel7:latest
2oc start-build nginx --from-dir </path/to/your/app-name/>
Uploading directory "." as binary input for the build .....
Uploading finished
build.build.openshift.io/nginx started
replication controller "nginx-x" successfully rolled out
oc expose svc nginx
$ oc get route nginx
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD
nginx nginx-<project-name>.caas.ccic-test.com.cn None nginx 8080-tcp
NGINX创建后, 后续更新, 执行如下命令:
$ oc start-build nginx --from-dir </path/to/your/app-name/>
Uploading directory "." as binary input for the build .....
Uploading finished
build.build.openshift.io/nginx started
$ oc logs -f build/nginx
...
$ oc rollout status dc/nginx
replication controller "nginx-x" successfully rolled out
前提: </path/to/your/app-name/>
下的NGINX相关文件已经更新.
Git 仓库部署更简单, 输入以下信息即可: (前提是目录结构和第三章节示例保持一致)
[1] <>
里边表示需要根据你自己情况进行调整的内容. 比如: <username>
需要根据自己情况调整为: east4ming
[2] --name=nginx
可以按需调整; NGINX镜像nginx-114-rhel7:latest
版本为1.14, 会定期进行更新. 2020年3月11日NGINX版本为: 1.14
[3] 如果需要查看构建镜像的进展, 可以运行以下命令: oc logs -f build/nginx
. 构建成功输出如下: Successfully pushed .... Push successful