开源项目:kubernetes+rancher部署ferry工单系统(20210820)

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 开源项目:kubernetes+rancher部署ferry工单系统(20210820)

效果


1675240644819.jpg

1675240649551.jpg

ferry是一个开源项目,主要使用go语言编写,想了解更多看下项目地址吧

项目gitlab地址:

https://github.com/lanyulei/ferry

演示demo地址:

http://fdevops.com:8001/

账号密码:admin/123456


前提


本篇域名已经写死到容器内部了(前后端)

域名:devferry.wmqhealth.com

如果想修改成其他的,可以看下面介绍部署到kubernetes集群上的第一个点,然后就可以修改成其他域名的了。或者联系我给你们重新打下镜像


docker部署


https://blog.csdn.net/zhanremo3062/article/details/115118613


kubernetes部署


下面不需要操作!只是说明一下我是怎么修改的。

该项目并没有提供在kubernetes上部署文档。

我本想给它封装成helm,大家可以直接安装,不过时间原因,先做到部署到kebernetes集群上吧~


基于使用docker部署方法,修改后部署到kubernetes集群中,主要修改项大概有以下几点:

1)修改访问域名

把端口号去掉,因为我们最后使用的是ingress 80端口代理

cat .env.production 
# just a flag
ENV = 'production'
# base api
VUE_APP_BASE_API = 'http://devferry.wmqhealth.com'


2)修改redis、mysql、backend的容器名称

ferry_redisferry_mysqlferry_backend修改成ferry-redisferry-mysqlferry-backend

这样做,只要是集群中不支持使用下划线命名,改为中划线在kubernetes集群中,不暴露端口号的情况下让它们互相访问

3)ferry-web服务需要修改转发路径

容器内的路径:/etc/nginx/nginx.conf,把所有字段ferry_backend改成ferry-backend

这也是为了之后部署在kubernets集群中,ferry-web服务可以访问到ferry-backend服务,因为下划线不是有效的命名规范


以上这些我都已经做完了,并打成了镜像上传到华为云SWR平台,使用方法请看下面!


开始操作吧!


1、拉取镜像


找一台k8s节点主机,操作即可

镜像一共是4个,其中ferry-backend和ferry-web比较重要,再就是redis和mysql部署必须使用指定的,注意mysql用户名和密码默认是root/123456

docker pull swr.ap-southeast-3.myhuaweicloud.com/ferry/mysql:20210819
docker pull swr.ap-southeast-3.myhuaweicloud.com/ferry/redis:20210819
docker pull swr.ap-southeast-3.myhuaweicloud.com/ferry/web:20210819
docker pull swr.ap-southeast-3.myhuaweicloud.com/ferry/backend:20210819


2、创建服务


数据库服务

服务名称:ferry-mysql

服务类型:statefulset

映射端口号:无

pvc挂载容器内路径:

/var/lib/mysql


1675240816662.jpg

缓存服务

服务名称:ferry-redis

服务类型:statefulset

映射端口号:无

pvc挂载容器内路径:

/var/lib/redis/data

1675240833744.jpg

后端服务

服务名称:ferry-backend

服务类型:deployment

映射端口号:无

pvc挂载容器内路径:

/opt/ferry/config
/opt/ferry/logs

这时候backend容器应该一直会报连接数据库错误,不断重启

解决方法:

找到映射容器文件的服务(主机映射、NFS服务映射等等),然后修改/opt/ferry/config/settings.yml文件,把所有ferry_mysql改成ferry-mysql,ferry_redis改成ferry-redis,也就是上面提到的下划线改成中划线

1675240875111.jpg再重新启动backend服务,就不会再重启了

1675240894382.jpg


前端服务

服务名称:ferry-web

服务类型:deployment

映射端口号:无

pvc挂载容器内路径:无

1675240901979.jpg


以上服务启动顺序


redis–>mysql–>backend–>web


3、初始化数据库


进入到ferry-backend服务pod中,执行命令

./ferry init -c=/opt/ferry/config/settings.yml

1675240927199.jpg

最后显示数据库初始化成功即可


4、创建ingress代理、


服务类型:ingress

绑定域名:devferry.wmqhealth.com

关联负载:ferry-web

容器端口号:8001

1675240974353.jpg

最后浏览器访问:devferry.wmqhealth.com


集成ldap


打开ferry-backend服务pod,修改settingsyml文件

vi /opt/ferry/config/settings.yml
ldap:
    anonymousquery: 0
    basedn: ou=员工,xxxxx,dc=cn   //配置从什么地方搜索用户
    bindpwd: xxxx                  //管理员密码
    binduserdn: cn=manager,xxxxx,dc=cn   //管理员账号
    host: ldap.xxxx.cn            
    port: 636
    tls: 1                    //是否开启ldaps://连接,默认是ldap://
    userfield: uid            //登录名字段


1675241007299.jpg

我这里需要问题了,ldap默认登录不能切回普通登录,只能在数据库里修改了。

1675241007299.jpg


修改logo


由于是强行迁移到K8s集群中,有些数据并没有改变

1675241021822.jpg

之后点击保存,会出问题,然后打开ferry-mysql数据库服务,把域名后得端口号去掉

1675241030180.jpg


之后就可以加载到图标了


大家也发现了,ferry系统还是需要优化的,要不然修改的地方非常多~

相关文章
|
1月前
|
Kubernetes Java Docker
利用(K8S)配合Docker部署jar包
通过Docker打包并部署到Kubernetes(K8S)集群的过程。首先,通过SpringBoot生成jar包,接着在K8S环境中创建并编辑Dockerfile文件。随后构建Docker镜像,并将其推送到镜像仓库。最后,通过一系列kubectl命令(如get pods、get svc、logs等),展示了如何在K8S中管理应用,包括查看Pod状态、服务信息、Pod日志以及重启Pod等操作。
101 2
|
17天前
|
数据挖掘 API
如何选择适合的售后工单管理系统
选择合适的售后工单管理系统需评估需求和预算,考察功能、技术支持及服务商可靠性,并全面试用评估。ZohoDesk适合初创和中小企业,具备强大的工单管理、报告分析及可定制性,助力提升服务质量和客户体验。通过合适系统,企业不仅能优化客户服务流程,还能通过数据分析支持决策,推动长远发展。
44 16
|
1月前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
180 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
1月前
|
Kubernetes 负载均衡 前端开发
二进制部署Kubernetes 1.23.15版本高可用集群实战
使用二进制文件部署Kubernetes 1.23.15版本高可用集群的详细教程,涵盖了从环境准备到网络插件部署的完整流程。
52 2
二进制部署Kubernetes 1.23.15版本高可用集群实战
|
1月前
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
65 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
14天前
|
人工智能 自然语言处理 前端开发
从客服场景谈:大模型如何接入业务系统
本文探讨了大模型在AI客服中的应用。大模型虽具有强大的知识生成能力,但在处理具体业务如订单咨询、物流跟踪等问题时,需结合数据库查询、API调用等手段。文章提出用Function Call连接大模型与业务系统,允许大模型调用函数获取私域知识。通过具体示例展示了如何设计系统提示词、实现多轮对话、定义Function Call函数,并利用RAG技术检索文档内容。最后,展示了该方案在订单查询和产品咨询中的实际效果。
|
15天前
|
Kubernetes Cloud Native Linux
云原生入门:Kubernetes的简易部署与应用
【8月更文挑战第49天】在云原生的世界里,Kubernetes(K8s)是一颗璀璨的星。本文将带你走进K8s的世界,从安装到简单应用,轻松驾驭这个强大的容器编排工具。让我们一起探索云原生的奥秘,解锁新技能!
|
13天前
|
存储 Kubernetes Cloud Native
部署Kubernetes客户端和Docker私有仓库的步骤
这个指南涵盖了部署Kubernetes客户端和配置Docker私有仓库的基本步骤,是基于最新的实践和工具。根据具体的需求和环境,还可能需要额外的配置和调整。
29 1
|
21天前
|
Kubernetes 应用服务中间件 nginx
Kubernetes上安装Metallb和Ingress并部署应用程序
Kubernetes上安装Metallb和Ingress并部署nginx应用程序,使用LoadBalancer类型的KubernetesService
87 3
|
1月前
|
存储 Kubernetes Ubuntu
Ubuntu 22.04LTS版本二进制部署K8S 1.30+版本
这篇文章详细介绍了在Ubuntu 22.04 LTS系统上使用VMware Fusion虚拟化软件部署Kubernetes 1.30+版本的完整过程,包括环境准备、安装containerd、配置etcd、生成证书、部署高可用组件、启动Kubernetes核心组件以及网络插件的部署和故障排查。
66 4
下一篇
无影云桌面