k8s环境下搭建mx-server和shiro
1.背景
偶然看到了某位开发者的博客网站,一眼看去非常清爽且交互非常友好,经过查找发现是 shiro。在大多数博文类型的网站采用纯前端方式的今天,前后端分离的方式倒是让我觉得挺新奇。其实很多次都有锅建设一个博客之类的网站,用于记录平时开发中的一些困难,亦或者一些小技巧什么的,但很多时候问题解决之后就会丢在一边,以至于后面再次遇到了又得重新查找相关资料,而且还不止一次,相信很多人都有相同的经历吧,哈哈。 初见shiro花了点时间了解了它的架构和部署方式,目前官方的部署方式是基于docker compose,奈何我个人习惯于在k8s下部署,于是花了点时间进行了一些改造,并创建了helm便于部署
2.部署mx-server
helm repo add nisainan https://nisainan.github.io/helm-charts
helm install mx-server nisainan/mx-server -n shiro --create-namespace注:mx-server依赖mongodb和redis,请自行提前安装,或者参考如下命令行安装
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install mongodb --set useStatefulSet=true --set auth.enbaled=false bitnami/mongodb -n mongodb --create-namespace
helm install redis --set auth.enabled=false --set replica.replicaCount=0 bitnami/redis -n redis --create-namespace那么,env的设置如下:
...
DB_HOST : mongodb.mongodb
NODE_ENV : production
REDIS_HOST : redis-master.redis
...至于ingress的配置不做赘述,helm结构完全依照于helm create命令所生成的配置文件,示例如下:
ingress:
enabled: true
ingressClassName: nginx
annotations:
cert-manager.io/cluster-issuer: nginx-cert
kubernetes.io/tls-acme: 'true'
hosts:
- mixapi.kolex.com.cn
tls:
- hosts:
- mixapi.kolex.com.cn
secretName: mixapi.kolex.com.cn-tls至此,mx-server安装成功
3.部署shiro
我将shiro也封装了helm,安装命令如下:
helm repo add nisainan https://nisainan.github.io/helm-charts
helm install shiro nisainan/shiro -n shiro --create-namespace注:请自行修改values的值以适配自身服务
至此,前后端全部安装完成