前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开发者openshift4使用入门教程 - 3 - 部署NGINX

开发者openshift4使用入门教程 - 3 - 部署NGINX

作者头像
东风微鸣
发布2022-04-21 14:12:17
7540
发布2022-04-21 14:12:17
举报
文章被收录于专栏:东风微鸣技术博客

前言

新的系列文章: 《开发者openshift4使用入门教程》

我所在的公司目前使用的K8S是RedHat的OpenShift 4, 虽然有官方文档, 并且有专门的 Develop 章节, 但是实际使用发现, 开发者(特别是中国的开发者, 传统行业\金融行业的开发者)关注的功能和章节相去甚远. 所以我专门针对开发经常问我的问题, 总结出来这个系列文章.

希望对在使用OpenShift 4的开发者会有所帮助. ❤️❤️❤️

一 概述

一句话总结本文内容:

如何将NGINX部署到OpenShift 4, 可以有以下2种方式

  1. 直接将本地的NGINX文件夹(包括: 静态文件和nginx配置)部署到OpenShift 4
  2. 从Git仓库拉取并部署到OpenShift 4

二 准备工作

要部署到OpenShift 4, 你需要有:

  1. OpenShift 4 的租户(Project) (如果你是OpenShift 4管理员,你自然就有;如果你是使用者,请向管理员申请租户)
  2. oc 命令行工具(CLI), 下载并解压, 并加入到PATH中.
    1. linux版本
    2. mac版本
    3. windows版本
    4. 互联网链接在这里
  3. 登录到OpenShift 4
    1. 环境命令如下: oc login -u <username> -p <password> --server=https://api.caas.example.com.cn:64431
  4. 跳转到对应的项目租户: oc project <your-project>

三 目录结构

要使用容器部署, NGINX应用的目录结构必须是:

代码语言:javascript
复制
.
├── html及各类静态文件和文件夹
├── nginx-cfg(对应conf.d)
│   └── nginx-xxx.conf
├── nginx-default-cfg(对应default.d)
│   └── nginx-default-xxx.conf
└── nginx.conf

具体示例如下:

代码语言:javascript
复制
.
├── 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

四 本地文件夹形式部署

  1. 创建新NGINX应用: oc new-app --name=nginx --binary=true --image-stream=nginx-114-rhel7:latest2
  2. 从本地上传相关文件. 构建完成后会自动触发trigger, 滚动部署nginx应用新版本.
    1. 命令如下: oc start-build nginx --from-dir </path/to/your/app-name/>
    2. 运行命令后, 输出如下: 3
代码语言:javascript
复制
Uploading directory "." as binary input for the build .....
Uploading finished
build.build.openshift.io/nginx started
代码语言:javascript
复制
replication controller "nginx-x" successfully rolled out
  1. 创建域名: 要从浏览器通过网页访问部署的NGINX, 必须将刚部署的应用创建域名后暴露(expose)到OpenShift 4 集群外部(公司内网或互联网). 命令为: oc expose svc nginx
    1. 之后可以通过如下命令查看域名并访问:
代码语言:javascript
复制
 $ 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

4.1 更新应用

NGINX创建后, 后续更新, 执行如下命令:

代码语言:javascript
复制
$ 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仓库直接部署

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 东风微鸣技术博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一 概述
  • 二 准备工作
  • 三 目录结构
  • 四 本地文件夹形式部署
    • 4.1 更新应用
    • 五 Git仓库直接部署
    • 📖 脚注
    相关产品与服务
    命令行工具
    腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档