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

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 开源项目: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系统还是需要优化的,要不然修改的地方非常多~

相关文章
|
17天前
|
Kubernetes 网络协议 应用服务中间件
K8S二进制部署实践-1.15.5
K8S二进制部署实践-1.15.5
31 0
|
15天前
|
Kubernetes 监控 数据安全/隐私保护
K8s好看的管理页面Rancher管理K8S
K8s好看的管理页面Rancher管理K8S
33 4
|
19天前
|
Kubernetes 流计算 Perl
在Rancher K8s上部署Flink时,TaskManager连接不上并不断重启可能是由多种原因导致的
在Rancher K8s上部署Flink时,TaskManager连接不上并不断重启可能是由多种原因导致的
29 7
|
1天前
|
Kubernetes 搜索推荐 Docker
使用 kubeadm 部署 Kubernetes 集群(二)k8s环境安装
使用 kubeadm 部署 Kubernetes 集群(二)k8s环境安装
34 17
|
14天前
|
Kubernetes Ubuntu 应用服务中间件
Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
68 0
|
22天前
|
运维 安全 数据安全/隐私保护
工单系统大揭秘!选择工单系统需注意的关键因素!
这篇内容介绍了工单系统的种类和选择指南。主要类型包括IT工单系统、客户服务工单管理系统、设备维护工单管理系统和全渠道工单系统。选择合适的工单系统需考虑功能需求、企业预算、易用性、系统稳定性、售后服务和技术安全。推荐了Zoho Desk作为好用的工单系统选项,它提供专业服务和免费试用。
24 1
|
22天前
|
Kubernetes Java Nacos
nacos常见问题之k8s上部署需要自动扩缩容如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
24 0
|
27天前
|
Kubernetes Cloud Native Devops
云原生技术落地实现之二KubeSphere DevOps 系统在 Kubernetes 集群上实现springboot项目的自动部署和管理 CI/CD (2/2)
云原生技术落地实现之二KubeSphere DevOps 系统在 Kubernetes 集群上实现springboot项目的自动部署和管理 CI/CD (2/2)
49 1
|
27天前
|
存储 Kubernetes 分布式数据库
利用Helm在K8S上部署 PolarDB-X 集群(详细步骤--亲测!!!)
利用Helm在K8S上部署 PolarDB-X 集群(详细步骤--亲测!!!)
74 0
|
1月前
|
机器学习/深度学习 自然语言处理
基于深度学习的自然语言处理技术在智能客服系统中的应用
【2月更文挑战第21天】随着人工智能技术的不断发展,自然语言处理(NLP)技术在各个领域得到了广泛应用。本文主要探讨了基于深度学习的自然语言处理技术在智能客服系统中的应用。首先介绍了深度学习和自然语言处理的基本概念,然后分析了智能客服系统的工作原理和技术要求,接着详细阐述了基于深度学习的自然语言处理技术在智能客服系统中的具体应用,包括语义理解、情感分析和问答系统等。最后对基于深度学习的自然语言处理技术在智能客服系统中的优势和挑战进行了总结。
38 1