小说馆-需求以及思路想法环境配置
学校小组作业 小说馆项目 部署
项目源码地址
https://github.com/NaZawsze/bookweb
https://github.com/NaZawsze/storyweb
其他项目源码地址
https://github.com/kubesphere/kubesphere
这也是我第一次试验,个人能力有限,可能有很多漏洞和问题。
起因
老师布置的小组作业,我的任务只是负责部署服务。
规划
只部署静态网页,前端涉及html,css,js。项目分为两个站点,一个引导界面,一个小说馆主界面。引导界面使用cloudflare pages部署,小说馆主站点使用k8s集群+nginx部署实现高可用。另外为以后可能部署后端,提前部署数据库。
暂时使用NodePort访问,这次部署没能实现nginx ingress。
本次部署是一个非常简单的试验,kubesphere多集群容器管理平台一键部署,并且自带多个关键服务: Prometheus,Grafana,各类探针等
k8s高可用架构: keepalived+haproxy
数据库架构: 一主一从,暂时没做服务端的读写分离
结论
book页面,即导航页面加载时间为1.40s左右。当然这个速度取决于具体的网络状况,cloudflare国内减速不是吹的。
story页面,即小说馆主页面使用家用公网做frp,页面加载速度为500ms左右。
所有图片做了压缩及转webp处理。book页面由于托管在cf pages,框架None,不做构建,跨域问题即使按照官方参考文档也无法解决(个人技术问题),所以图片也是从github仓库读到cf,加载直接从cf读取的。而story页面将图片上传TG CDN图床,所以加载速度快很多。
实现
环境配置
云平台: 未来网络试验设施 ceni.ustc.edu.cn
系统: CentOS Linux release 7.9.2009 (Core)
1 | kubectl version v1.23.10 |
服务器IP地址:
1 | 172.16.10.1 vip.cluster.local |