MiraiForum

    • 注册
    • 登录
    • 搜索
    • 热门
    • 最新
    • 未解决
    • 标签
    • 群组
    • 友情链接
    1. 主页
    2. zeroash
    Z
    • 资料
    • 关注 0
    • 粉丝 0
    • 主题 1
    • 帖子 1
    • 最佳 1
    • 有争议的 0
    • 群组 0

    zeroash

    @zeroash

    1
    声望
    1
    资料浏览
    1
    帖子
    0
    粉丝
    0
    关注
    注册时间 最后登录

    zeroash 取消关注 关注

    zeroash 发布的最佳帖子

    • Mirai Kubernetes集群/Docker部署方案

      最近搭了个Kubernetes集群玩,没有找到关于Mirai没有很好的部署到容器的方案,于是这个方案就诞生了。

      https://github.com/Deliay/k8s-mirai

      cd helm
      
      # 需要按照values.yaml中的内容自行修改
      vim ./values.yaml
      
      # 安装mirai到你的k8s集群
      helm install mirai ./
      

      项目分两个部分,第一部分是容器化的mirai各种必须组件,第二部分是helm chart帮助你自动创建各种mirai需要的资源。

      容器化的Mirai

      默认的容器化Mirai 我在 这里 做了一个基本的打包模板,里面包含了基本的几个插件:

      • fix-protocol-version-1.9.10.mirai2
      • mirai-api-http-2.9.1.mirai2
      • mcl-addon-2.1.1

      为了容器的「不可变」,本方案不推荐在运行时动态的安装插件,默认提供的镜像如果不满足需求,推荐手动重新构建属于自己的docker镜像。

      另外项目中还做了github actions来持续编译你docker镜像,更酷的事情是你可以参考 这个actions 的实现来全自动将你更新的镜像部署到你的Kubernetes集群。

      容器化的签名服务

      使用 unidbg-fetch-qsign-container 这个项目,也可以使用这个项目的Dockerfile来打包自己的签名服务,这个项目默认只支持8.9.63, 8.9.68, 8.9.70这几个版本。

      Helm Chart

      配置文件通过values.yaml管理,自动挂载到容器中,这个Chart还会帮你创建用于持久化登录、日志的PVC。

      部署资源一览

      默认情况下将会部署下列资源

      • mirai (本体)
      • mirai-sign (签名服务)
      • mirai-service (mirai-api内网暴露)
      • mirai-sign-service (签名服务内网暴露)
      • mirai-bots-pvc (用于存储登录状态)
      • mirai-logs-pvc (用户存储日志)

      配置管理

      values.yaml会管理和自动生成 mirai-api-http 和unidbg-fetch-qsign的配置(因为这两个需要暴露端口),其他配置文件通过values.yaml中的configuration挂载到容器中,path指定要覆盖的路径,content为文件内容,这部分配置在容器启动时,覆盖到容器中。

        configurations:
          - name: accountLogin
            path: config/Console/AutoLogin.yml
            content: |-
                ...自动登录相关设置
      
          - name: xxxBlaBlaBla
            path: config/XXX插件/BlaBla.yml
            content: |-
                ...BlaBla的配置
      

      如何登录?

      本方案暂时没有对登录方面有任何的建树,我是手动覆盖mirai-bots-pvc中的文件实现的登录,期待其他大佬的方案。

      日常管理

      更新配置

      如果需要修改配置,则直接修改 values.yaml 的值,然后 helm upgrade 之后 kubectl rollout 你部署的release即可。

      # 我的release是mirai,namespace也是mirai
      helm upgrade -n mirai mirai -f ./values.yaml
      kubectl rollout restart -n mirai deployment/mirai
      
      执行命令

      镜像打包方案是基于mcl的,可以直接kubectl attach到容器中去和mcl交互

      kubectl attach -n mirai -it deployment/mirai
      > ...这里就可以和mcl交互了...
      
      发布在 其他项目发布
      Z
      zeroash

    zeroash 发布的最新帖子

    • Mirai Kubernetes集群/Docker部署方案

      最近搭了个Kubernetes集群玩,没有找到关于Mirai没有很好的部署到容器的方案,于是这个方案就诞生了。

      https://github.com/Deliay/k8s-mirai

      cd helm
      
      # 需要按照values.yaml中的内容自行修改
      vim ./values.yaml
      
      # 安装mirai到你的k8s集群
      helm install mirai ./
      

      项目分两个部分,第一部分是容器化的mirai各种必须组件,第二部分是helm chart帮助你自动创建各种mirai需要的资源。

      容器化的Mirai

      默认的容器化Mirai 我在 这里 做了一个基本的打包模板,里面包含了基本的几个插件:

      • fix-protocol-version-1.9.10.mirai2
      • mirai-api-http-2.9.1.mirai2
      • mcl-addon-2.1.1

      为了容器的「不可变」,本方案不推荐在运行时动态的安装插件,默认提供的镜像如果不满足需求,推荐手动重新构建属于自己的docker镜像。

      另外项目中还做了github actions来持续编译你docker镜像,更酷的事情是你可以参考 这个actions 的实现来全自动将你更新的镜像部署到你的Kubernetes集群。

      容器化的签名服务

      使用 unidbg-fetch-qsign-container 这个项目,也可以使用这个项目的Dockerfile来打包自己的签名服务,这个项目默认只支持8.9.63, 8.9.68, 8.9.70这几个版本。

      Helm Chart

      配置文件通过values.yaml管理,自动挂载到容器中,这个Chart还会帮你创建用于持久化登录、日志的PVC。

      部署资源一览

      默认情况下将会部署下列资源

      • mirai (本体)
      • mirai-sign (签名服务)
      • mirai-service (mirai-api内网暴露)
      • mirai-sign-service (签名服务内网暴露)
      • mirai-bots-pvc (用于存储登录状态)
      • mirai-logs-pvc (用户存储日志)

      配置管理

      values.yaml会管理和自动生成 mirai-api-http 和unidbg-fetch-qsign的配置(因为这两个需要暴露端口),其他配置文件通过values.yaml中的configuration挂载到容器中,path指定要覆盖的路径,content为文件内容,这部分配置在容器启动时,覆盖到容器中。

        configurations:
          - name: accountLogin
            path: config/Console/AutoLogin.yml
            content: |-
                ...自动登录相关设置
      
          - name: xxxBlaBlaBla
            path: config/XXX插件/BlaBla.yml
            content: |-
                ...BlaBla的配置
      

      如何登录?

      本方案暂时没有对登录方面有任何的建树,我是手动覆盖mirai-bots-pvc中的文件实现的登录,期待其他大佬的方案。

      日常管理

      更新配置

      如果需要修改配置,则直接修改 values.yaml 的值,然后 helm upgrade 之后 kubectl rollout 你部署的release即可。

      # 我的release是mirai,namespace也是mirai
      helm upgrade -n mirai mirai -f ./values.yaml
      kubectl rollout restart -n mirai deployment/mirai
      
      执行命令

      镜像打包方案是基于mcl的,可以直接kubectl attach到容器中去和mcl交互

      kubectl attach -n mirai -it deployment/mirai
      > ...这里就可以和mcl交互了...
      
      发布在 其他项目发布
      Z
      zeroash