本次整体项目部署使用的是,服务器地区选择的是(选择香港的原因 Ingress 域名解析用的是阿里云的真实域名地址,如果地区是大陆服务器还需要),整体部署配置如下:
- 服务器1:
- 部署:K8S Master
- 配置:CentOS 7.9,4核8G
- 服务器2:
- 部署:K8S Worker 1
- 配置:CentOS 7.9,4核8G
- 服务器3:
- 部署:K8S Worker 2
- 配置:CentOS 7.9,4核8G
- 服务器4:
- 部署:MySQL + Harbor
- 配置:CentOS 7.9,2核4G
- 开放端口:80、8080、3306、9999
整体部署架构图如下:
在服务器1,2,3搭建K8S集群,详细部署流程参照下述文章链接:https://xuzhibin.blog.csdn.net/article/details/
搭建完毕后,要在 Harbor 中创建一个项目名为,留着后面操作 镜像使用:
本次部署的前端项目、后端项目、数据库脚本我已经上传到了 Github 上,请自行下载:
https://github.com/Binx98/test-project
在服务器4上,创建启动 数据库容器:
通过 连接到创建好的 MySQL(账号密码都是root),先创建 数据库,然后将上面提供的 MySQL 数据初始化脚本 执行加载完毕,数据导入成功后如下图:
通过 IDEA 打开后端项目,记得调整一下配置文件,将调整为部署MySQL的地址:
在 IDEA 控制台上,通过 完成 SpringBoot 项目操作:
打包完毕后,可以看到 target 目录下生成的 Jar 文件:
将JAR包上传到服务器4的 目录上,然后在 目录上编写 文件,用于 JAR 包镜像构建, 内容如下:
然后在服务器4的目录下,进行镜像构建,命令如下:
镜像构建完毕后,通过下述命令启动镜像,判断是否打包成功:
最后通过 访问测试接口,可以查看到后端服务部署成功:
然后将该 镜像推送到 当中:
镜像上传完毕后,可以在 Harbor 的 test 项目中查看刚刚上传的镜像:
在构建镜像之前,先要调整一下 项目的后端接口URL配置信息(),使用,我的域名是:
调整完毕后,将 项目进行打包操作,控制台执行下述命令:
然后将打包后的 文件上传到服务器4 目录,然后在 /opt 目录上编写 文件,用于 Vue.js 项目镜像构建:
接着在服务器4 目录下,创建 文件,内容如下(记得调整内网IP地址):
执行下述命令,完成 镜像构建:
最后,将构建好的 镜像上传到 中:
镜像上传完毕后,可以在 的 项目中查看刚刚上传的镜像:
注意:在项目部署之前,先要保证每一台服务器(服务器1,2,3)的都配置上了 Harbor 的内网IP和端口号,否则会导致K8S集群无法成功拉取Harbor私有镜像:
然后通过下述命令重新加载配置:
命名空间主要是用于 K8S 集群中资源隔离的,所以在这里我为项目创建一个命名空间,命令如下:
后端部署配置 :
最后,通过下述命令对进行启动:
直接通过 K8S Service 的 模式可以完成服务对外提供访问的要求,但是真正企业级场景来说,更多的是使用 构建应用入口,所以这里还需要部署一下 ,请参考下述连接部署:https://xuzhibin.blog.csdn.net/article/details/
按照上述部署完毕后其实有个问题,我们需要保证部署在 节点上,否则无法进行正确的访问,所以还需要修改的一处位置,让其部署在主节点上:
修改完毕后,重新卸载安装 :
此时可以看到, 部署在 上了:
部署完毕后,接下来要做的是配置一下 完成访问配置,由于我的服务器都在香港地区,所以这次我就用真实的域名解析到我的主服务器IP上(没有可用于名,就得通过修改 hosts 文件使用假域名测试了),配置内容如下:
然后通过下述命令进行 创建启动:
最后,在浏览器上通过访问域名,可以看到 K8S 部署 SpringBoot + Vue.js 项目成功!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-yjs/23285.html