关于前端:如何使用Rancher发布前端服务

50次阅读

共计 2112 个字符,预计需要花费 6 分钟才能阅读完成。

我的项目中用到 rancher 公布前端代码,我本人参加了一次构建,遇到了很多的问题,不过一一解决了,用空闲的工夫,将遇到的问题记下来,也算是一次复盘了。

rancher 是一个开源的企业级容器治理平台,重点“容器治理”,能够极大的简化容器治理的复杂度(绝对于 K8s), 它是对于 k8s 容器引擎的封装,有趣味能够看看官网文档。

上传镜像

须要先 装置 docker,确保 docker 是能够应用的。上面是 Dockerfile 文件和 default.conf 文件

FROM  nginx

COPY ./build /usr/share/nginx/html/
COPY ./default.conf /etc/nginx/conf.d/

EXPOSE 80

Dockerfile文件次要用于 docker 镜像的创立;
FROM nginx:FROM 指令初始化一个新的构建阶段,并为后续指令设置根底镜像,这里的根底镜像是 nginx;
COPY ./build /usr/share/nginx/html/./build是前端打包之后的文件地址,将它复制到 nginx 的 html 目录下;
COPY ./default.conf /etc/nginx/conf.d/./default.conf是 nginx 配置文件, 将它复制到 nginx 的 conf.d 目录下;
EXPOSE 80:监听 80 端口;

通过如下命令行打包代码(理论代码依据本人我的项目而定):

// 前端本地打包
$ npm run build:prod

// 移除之前旧的镜像
$ docker rmi xx.harbor.com:10443/xx/front-web-project:1.0.0

// 构建镜像
$ docker build -f Dockerfile -t xx.harbor.com:10443/xx/front-web-project:1.0.0 .

// push 镜像到镜像仓库
$ docker push xx.harbor.com:10443/xx/front-web-project:1.0.0

镜像仓库是提前构建好的,能够找运维工程师确认。我下面应用到的是 harbor 镜像存储库,这个是运维工程师搭建好的,我这边能够间接应用。镜像名和 tag 依据本人我的项目理论来。

Nginx 配置

上面就是 nginx 配置文件,因为是前端我的项目,nginx 次要在这里做的就是动态资源服务器,接口代理。

server {
  listen       80;
  add_header Access-Control-Allow-Origin *;
  add_header Access-Control-Allow-Credentials true;
  add_header Access-Control-Allow-Methods *;
  client_max_body_size 2000M;
  
  location / {
    root   /usr/share/nginx/html/;
    index  index.html index.htm;
    
    try_files $uri /index.html;
  }
}

nginx 配置文件依据本人的理论需要编写,更多的配置也能够在这里持续增加(比例 接口代理 负载平衡 等)。

工作负载

rancher 是一个容器治理平台,是 k8s 的二次封装,提供更丰盛的性能,有趣味的同学,能够看看 官网 的相干材料。在 rancher 里工作负载是一个对象,包含 pod 以及部署应用程序所需的其余文件和信息。

以下是 rancher 中 工作负载服务的创立过程:

点击部署服务,进入到创立工作负载界面:

Docker 镜像地址是你曾经上传的 前端镜像地址 ,主机端口须要 找运维确认端口 ,命名空间可选中已有的。容器端口个别都是 80,这和你的 default.conf配置端口相干。以上填写实现之后,滑动到底部,点击降级按钮

点击进入创立实现的工作负载中,如果 pods 中存在失常 running 的 pod 实例,既是创立胜利 。如果存在其余问题,能够参考上面 呈现的问题,进行相干问题的排查。

创立公布胜利后,既可通过 ip+ 端口拜访前端服务,如果能拜访胜利代表部署的没有问题。

呈现的问题

以下问题是在理论应用发现的问题,将它们记录下来;

镜像构建服务无奈胜利,提醒是失败的构建

优先查看日志信息,依据日志信息提醒排查问题 。例如:如果提醒镜像构建服务时报错,记得排查前端动态资源文件打包中,nginx 配置文件编写存在问题 相干的 Dockfile 文件配置信息是否失常

镜像构建服务胜利后,页面仍然无法访问

查看日志信息,查看是否有提示信息 。如果存在提示信息,依据提醒排查问题;
在保障服务启动失常,nginx 配置失常的前提下,与相干人员确认,服务器 IP、端口号,是否失常开启。

构建服务胜利,页面拜访不是指标文件

确认 nginx 配置信息是否失效,是否有被其余文件笼罩;并确认前端资源文件上传到了指定目录,存在相干文件目录。

构建服务胜利,页面拜访失常,接口代理异样

查看拜访日志信息,是否存在相干申请提示信息。确认 nginx 配置接口代理编写正确,不存在异样谬误;再关上命令行窗口,尝试通过 curl [指标服务接口地址],确认接口 ip 是否能够失常拜访。

代理文件、接口地址拜访不稳固

确认网络模式,IP 地址是否为雷同模式下的 IP 和端口。

正文完
 0