背景
最近主管要求对一些纯静态小型项目或页面实现在集群中的快速部署上线,提出以下几点要求:
- 项目部署容器采用
nginx
,并且所有类似项目都部署到同一个docker
中。 - nginx 的
配置文件
和虚拟主机根路径
需要挂载到服务器的持久化路径,实现与容器的生命周期分离。
在同事的帮助下,采用以下方式实现,特此记录,以备不时之需。
实现方式
登录 rancher
- 登录容器管理平台
rancher
,必现使用有相关操作权限的帐号登录。
PVC 配置
- 通过
rancher
进入集群的PVC
界面,新增一个 PVC,用于挂载上述 nginx 的配置文件
和虚拟主机根路径
。如已有合适的 PVC 可供后续使用,请直接跳过该步骤。 - 通过文件传输工具(如 FTP)进入服务器上对应的 PVC 目录,创建两个子目录
extend-conf
和extend-html
用于存放上述需要挂载的内容。
服务部署
- 通过
rancher
进入集群的工作负载
界面,新增一个服务,并进行端口映射。如下图所示:
- 配置完成,启动服务。
docker 镜像可以从 https://hub.docker.com/_/nginx?tab=tags 中找到需要的版本。
共享目录挂载
- 通过
rancher
进入上一步骤创建的extend
服务控制台,找到配置文件以及其中的虚拟主机根路径(如下图中的root
)。
- 通过文件传输工具(如 FTP)进入服务器上对应的 PVC 目录,复制
/etc/nginx/conf.d
中的配置文件default.conf
到上面挂载的文件夹extend-conf
中,同时在目录extend-html
中创建子文件夹extend
,并在extend
下创建一个测试文件index.html
,内容随便,符合 html 规范即可,也可以直接复制以下内容:
<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
- 回到服务,点击升级,将获取到的配置文件所在文件夹(
/etc/nginx/conf.d
)以及虚拟主机根路径(/usr/share/nginx/html
)配置到数据卷中,如下图:
负载均衡配置
- 通过
rancher
进入集群的负载均衡
界面,新建一个负载均衡。访问域名和路径根据实际情况配置。
测试验收
- 完成上述所有步骤后,访问负载均衡配置的域名和路径,如:
https://www.lervor.com/extend
,如果出现上面测试文件(index.html
)的内容,说明部署成功。
版权属于:瞭月
本文链接:https://www.lervor.com/archives/167/
版权声明:本文为瞭月原创文章,转载请附上原文出处链接和本声明。