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

网友投稿 438 2022-11-15

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

摘要

​​效果​​​​前提​​​​docker部署​​​​kubernetes部署​​

​​1、拉取镜像​​​​2、创建服务​​​​3、初始化数据库​​​​4、创建ingress代理​​

​​集成ldap​​​​修改logo​​

效果

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

项目gitlab地址:

​​账号密码:admin/123456

前提

本篇域名已经写死到容器内部了(前后端) 域名:devferry.wmqhealth.com 如果想修改成其他的,可以看下面介绍部署到kubernetes集群上的第一个点,然后就可以修改成其他域名的了。或者联系我给你们重新打下镜像

docker部署

kubernetes部署

下面不需要操作!只是说明一下我是怎么修改的。 该项目并没有提供在kubernetes上部署文档。 我本想给它封装成helm,大家可以直接安装,不过时间原因,先做到部署到kebernetes集群上吧~

基于使用​​docker部署​​​方法,修改后部署到kubernetes集群中,主要修改项大概有以下几点: 1)修改访问域名 把端口号去掉,因为我们最后使用的是ingress 80端口代理

cat .env.production # just a flagENV = 'production'# base apiVUE_APP_BASE_API = '把​​​ferry_redis​​​、​​ferry_mysql​​​、​​ferry_backend​​​修改成​​ferry-redis​​​、​​ferry-mysql​​​、​​ferry-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:20210819docker pull swr.ap-southeast-3.myhuaweicloud.com/ferry/redis:20210819docker pull swr.ap-southeast-3.myhuaweicloud.com/ferry/web:20210819docker pull swr.ap-southeast-3.myhuaweicloud.com/ferry/backend:20210819

2、创建服务

数据库服务 服务名称:ferry-mysql 服务类型:statefulset 映射端口号:无 pvc挂载容器内路径:

/var/lib/mysql

缓存服务

服务名称:ferry-redis

服务类型:statefulset

映射端口号:无

pvc挂载容器内路径:

/var/lib/redis/data

后端服务

服务名称: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​​,也就是上面提到的下划线改成中划线

再重新启动​​backend​​服务,就不会再重启了

前端服务 服务名称:ferry-web 服务类型:deployment 映射端口号:无 pvc挂载容器内路径:无

以上服务启动顺序 redis–>mysql–>backend–>web

3、初始化数据库

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

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

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

4、创建ingress代理

服务类型:ingress

绑定域名:devferry.wmqhealth.com

关联负载:ferry-web

容器端口号:8001

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

集成ldap

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

vi

0 basedn: ou=员工,xxxxx,dc=cn //配置从什么地方搜索用户 bindpwd: xxxx //管理员密码 binduserdn: cn=manager,xxxxx,dc=cn //管理员账号 host: ldap.xxxx.cn port: 636 tls: 1

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

修改logo

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

之后就可以加载到图标了

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:路由器USB接口的作用是什么
下一篇:什么是数字货币、数字金融 和区块链?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~