[kubernetes]-kubernetes+nfs运行禅道 心已赠人 2023-07-09 15:26 1阅读 0赞 ### 第一步 在虚拟机环境测试 ### ##### 需要修改的文件如下 ##### /opt/zbox/app/zentao/config/my.php /opt/zbox/app/zentaoep/config/my.php /opt/zbox/app/zentaopro/config/my.php # 这个文件里也有数据库配置 但是不改好像暂时没影响,最好还是改下。 /opt/zbox/etc/php/php.ini # 修改端口 /opt/zbox/etc/apache/httpd.conf ##### 创建启动用户和组 ##### 否则如果没有这个用户和组会报错AH00544: httpd: bad group name nogroup useradd nobody groupadd nogroup ##### 以下文件 根据需求 自行删除或者保留 ##### # 禅道中图片存放位置 /opt/zbox/app/zentao/www/data/upload # 禅道自动备份保存位置 /opt/zbox/app/zentao/tmp/backup ##### 将上述配置文件中的数据库 信息 修改成自己的数据库,我这边是阿里云RDS ##### ![format_png][] ##### 修改完成之后 测试启动 ##### 由于我这里不需要启动mysql 我就不用原有的zbox start 启动了 改为 sh run/apache/apachectl start 或者/opt/zbox/run/apache/httpd -k start ### 第二步 上容器前依赖工作 ### 因为我这里保留之前测试上传的图片等数据 需要使用存储 思路是启动脚本放在/opt/run,nfs存储的文件挂到/opt/zbox ##### 安装nfs ##### 找了一台服务器暂时充当nfs服务器 # 安装 NFS 服务器所需的软件包 yum install -y nfs-utils # 编辑exports文件 并设置挂载权限 cat >> /etc/exports <<EOF /opt/ 192.168.0.0/16(rw,no_root_squash,sync) EOF # 启动nfs服务 systemctl enable rpcbind.service systemctl enable nfs-server.service systemctl start rpcbind.service systemctl start nfs-server.service systemctl stop firewalld systemctl disable firewalld rpcinfo -p # 挂载nfs exportfs -r exportfs ##### 编写dockerfile ##### 我这边的想法是把/opt/zbox/run 文件夹挂到/opt下 出于容器启动 需要一个后台一直运行的进程 ##### 在run下面创建了一个start.sh内容如下 ##### nohup /opt/run/apache/httpd -k start & tail -999f /opt/run/nohup.out ##### 在和run文件夹统一路径下创建dockerfile ##### Dockerfile-zbox-80 FROM harbor.aircourses.com/kubernetes/jdk-1.8.0_161:v1.1 MAINTAINER PDABC Enterprise Container Images <hugo.xu@pdabc.com> RUN (useradd nobody;groupadd nogroup ) COPY run /opt/run ENV LANG=en_US.UTF-8 ENV LANGUAGE=en_US.UTF-8 ENTRYPOINT ["sh", "/opt/run/start.sh"] ![format_png 1][] ##### 创建镜像并上传 ##### docker build -f Dockerfile-zbox-80 -t harbor.aircourses.com/kubernetes/zbox:v3 . docker push harbor.aircourses.com/kubernetes/zbox:v3 ![format_png 2][] ### 第三步 在kubernetes环境测试 ### ##### 创建pv ##### pv.yaml # 创建nfs-PV --- apiVersion: v1 kind: PersistentVolume metadata: name: nfs-pv namespace: default labels: pv: nfs-pv spec: capacity: storage: 100Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain nfs: path: /opt/zbox server: 192.168.13.212 kubectl create -f pv.yaml ![format_png 3][] ##### 创建pvc.yaml ##### pvc.yaml # 创建 NFS-pvc --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: nfs-pvc namespace: default spec: accessModes: - ReadWriteMany resources: requests: storage: 100Gi selector: matchLabels: pv: nfs-pv kubectl apply -f pvc.yaml ![format_png 4][] ##### 创建deployment.yaml ##### deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: # deployment名字 和svc 和ingress绑定没关系 name: zbox-dp namespace: default spec: replicas: 1 # 在定义模板的时候必须定义labels,因为Deployment.spec.selector是必须字段,而他又必须和template.labels对应 selector: matchLabels: app: zbox # template里面定义的内容会应用到下面所有的副本集里面(例如depolyment下的pod),在template.spec.containers里面不能定义labels标签。可以kubectl get pods --show-labels查看 template: metadata: labels: app: zbox spec: containers: # containers名字 和svc 和ingress绑定没关系 - name: zbox image: harbor.aircourses.com/kubernetes/zbox:v4 volumeMounts: - mountPath: /opt/zbox name: zbox-data ports: - name: http containerPort: 80 volumes: - name: zbox-data persistentVolumeClaim: claimName: nfs-pvc imagePullSecrets: - name: myregistrykey kubectl apply -f deployment.yaml ##### 创建svc-zbox.yaml ##### svc-zbox.yaml apiVersion: v1 kind: Servicekubectl apply -f pvc.yaml metadata: name: zbox namespace: default spec: type: ClusterIP selector: app: zbox ports: - name: http port: 80 targetPort: 80 kubectl apply -f svc-zbox.yaml ##### 创建ingress-zbox.yaml ##### ingress-zbox.yaml apiVersion: apps/v1 kind: Deployment metadata: # deployment名字 和svc 和ingress绑定没关系 name: zbox-dp namespace: default spec: replicas: 1 # 在定义模板的时候必须定义labels,因为Deployment.spec.selector是必须字段,而他又必须和template.labels对应 selector: matchLabels: app: zbox # template里面定义的内容会应用到下面所有的副本集里面(例如depolyment下的pod),在template.spec.containers里面不能定义labels标签。可以kubectl get pods --show-labels查看 template: metadata: labels: app: zbox spec: containers: # containers名字 和svc 和ingress绑定没关系 - name: zbox image: harbor.aircourses.com/jiaminxu/zbox:v1.0 volumeMounts: - mountPath: /opt/zbox name: zbox-data ports: - name: http containerPort: 80 volumes: - name: zbox-data persistentVolumeClaim: claimName: nfs-pvc imagePullSecrets: - name: myregistrykey kubectl apply -f ingress-zbox.yaml ![format_png 5][] ##### 访问测试 ##### ![format_png 6][] 上传一张照片测试 nfs挂载 情况 ![format_png 7][] ![format_png 8][] 会自动在启动一个新的pod ![format_png 9][] 再次查看刚刚修改的地方 添加的图片还是存在的。说明容器和存储都没有问题 ![format_png 10][] [format_png]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9naXRlZS5jb20vamlhbWlueHUvQmxvZ0ltYWdlL3Jhdy9tYXN0ZXIvaW1nLzIwMjAwMjI3MTgxMDMyLnBuZw?x-oss-process=image/format,png [format_png 1]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9naXRlZS5jb20vamlhbWlueHUvQmxvZ0ltYWdlL3Jhdy9tYXN0ZXIvaW1nLzIwMjAwMjI4MTM0NzE2LnBuZw?x-oss-process=image/format,png [format_png 2]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9naXRlZS5jb20vamlhbWlueHUvQmxvZ0ltYWdlL3Jhdy9tYXN0ZXIvaW1nLzIwMjAwMjI4MTM1NzA5LnBuZw?x-oss-process=image/format,png [format_png 3]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9naXRlZS5jb20vamlhbWlueHUvQmxvZ0ltYWdlL3Jhdy9tYXN0ZXIvaW1nLzIwMjAwMjI4MDAyMzE2LnBuZw?x-oss-process=image/format,png [format_png 4]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9naXRlZS5jb20vamlhbWlueHUvQmxvZ0ltYWdlL3Jhdy9tYXN0ZXIvaW1nLzIwMjAwMjI4MDAyNTAwLnBuZw?x-oss-process=image/format,png [format_png 5]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9naXRlZS5jb20vamlhbWlueHUvQmxvZ0ltYWdlL3Jhdy9tYXN0ZXIvaW1nLzIwMjAwMjI4MTQ0NjA1LnBuZw?x-oss-process=image/format,png [format_png 6]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9naXRlZS5jb20vamlhbWlueHUvQmxvZ0ltYWdlL3Jhdy9tYXN0ZXIvaW1nLzIwMjAwMjI4MTI0MjIyLnBuZw?x-oss-process=image/format,png [format_png 7]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9naXRlZS5jb20vamlhbWlueHUvQmxvZ0ltYWdlL3Jhdy9tYXN0ZXIvaW1nLzIwMjAwMjI4MTI0NDQwLnBuZw?x-oss-process=image/format,png [format_png 8]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9naXRlZS5jb20vamlhbWlueHUvQmxvZ0ltYWdlL3Jhdy9tYXN0ZXIvaW1nLzIwMjAwMjI4MTMwMTIwLnBuZw?x-oss-process=image/format,png [format_png 9]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9naXRlZS5jb20vamlhbWlueHUvQmxvZ0ltYWdlL3Jhdy9tYXN0ZXIvaW1nLzIwMjAwMjI4MTMwMjI4LnBuZw?x-oss-process=image/format,png [format_png 10]: https://imgconvert.csdnimg.cn/aHR0cHM6Ly9naXRlZS5jb20vamlhbWlueHUvQmxvZ0ltYWdlL3Jhdy9tYXN0ZXIvaW1nLzIwMjAwMjI4MTMwMzEwLnBuZw?x-oss-process=image/format,png
相关 禅道 馨提醒:安装禅道之前要部署PHP、MYSQL环境哦! 其他常见bug管理工具 [https://blog.csdn.net/haiyinshushe/article/... 桃扇骨/ 2024年04月17日 16:46/ 0 赞/ 145 阅读
相关 禅道安装 1.ubuntu系统 1.1 下载安装包 wget http://dl.cnezsoft.com/zentao/9.8.2/ZenTaoPMS.9.8.2. 偏执的太偏执、/ 2023年10月11日 15:26/ 0 赞/ 122 阅读
相关 《禅道》简介 一、禅道简介 1.1.基本介绍 ZenTaoPMS(ZenTao Project Management System),[中文名][Link 1]为禅道项目管理软件 小咪咪/ 2023年10月10日 19:08/ 0 赞/ 91 阅读
相关 [kubernetes]-kubernetes+nfs运行禅道 第一步 在虚拟机环境测试 需要修改的文件如下 /opt/zbox/app/zentao/config/my.php /opt/zbox/app/ze 心已赠人/ 2023年07月09日 15:26/ 0 赞/ 2 阅读
相关 禅道—禅道Bug管理模块 禅道官网:https://www.zentao.net/ 简介: 开源免费的项目管理软件、集产品管理、项目管理、测试管理一体以及事物管理组织管理的功能 使用原因: àì夳堔傛蜴生んèń/ 2022年12月07日 11:46/ 0 赞/ 339 阅读
相关 《道禅》 《道禅》,当你心烦时,休息时,可以听下 。 德国,这个人杰地灵的地方曾经诞生过无数载于史册的世界名人,如今也同样活跃着无数才华横溢的音乐 我会带着你远行/ 2022年09月18日 09:54/ 0 赞/ 314 阅读
相关 禅道 http://www.zentao.net/book/zentaopmshelp/90.html 一、安装 1、将安装包直接解压到/opt目录下,不要解 青旅半醒/ 2022年07月13日 10:52/ 0 赞/ 333 阅读
相关 禅道安装 一、配置虚拟主机 二、解析域名 三、http://www.zentao.net/download/80041.html 下载源码包 四、http://www.zenta ゞ 浴缸里的玫瑰/ 2022年06月13日 04:26/ 0 赞/ 314 阅读
相关 禅道 ====== 禅道 ====== 禅道项目管理软件集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款功能完备的项目管理软件,完美地覆盖了项目管理的核 た 入场券/ 2022年05月31日 14:13/ 0 赞/ 340 阅读
相关 禅道迁移 禅道迁移 1.在目标服务器上安装相同服务 准备与原服务器相同版本的安装包 \[root@localhost ~\]\ tar -zxvf ZenTaoPMS.1 川长思鸟来/ 2021年11月04日 15:42/ 0 赞/ 473 阅读
还没有评论,来说两句吧...