k8s环境下搭建mx-server和shiro

2024 年 7 月 2 日 星期二(已编辑)
/ , ,
10
摘要
一位开发者发现了一个清爽且交互友好的博客网站shiro,采用了前后端分离的方式。他决定部署mx-server,并封装了helm以便于部署。mx-server依赖mongodb和redis。他也封装了shiro的helm并完成了前后端的安装。
这篇文章上次修改于 2024 年 8 月 2 日 星期五,可能部分内容已经不适用,如有疑问可询问作者。

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的值以适配自身服务

至此,前后端全部安装完成

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...