kubernetes实战(十二):k8s使用helm持久化部署redmine集成openLDAP
1、基本概念
此次安装的有Jenkins、Gitlab、Redmine,我公司目前使用的是独立于k8s集群之外单独部署的Jenkins等服务,此文章会介绍三种服务基于k8s的部署方式,之后集成之前部署的openLDAP实现统一认证。之后将进行简单持续集成持续部署的演示,最后再结合我公司的项目进行实战操作,应付出现的各种使用场景。
2、使用Helm安装redmine
- [root@k8s-master01 ci]# git clone https://github.com/dotbalo/helm.git
[root@k8s-master01 ci]# cd redmine/redmine/
更改values.yaml相关配置,也可以通过--set设置
- redmineUsername:可选,默认为user
- redminePassword:可选
- redmineEmail:用于项目通知
- smtpHost: smtp.xxx.com
- smtpPort:
- smtpUser: dukuan@xxx.com
- smtpPassword: xxx
- smtpTls: true
serviceType: ClusterIP- # 修改mariadb的storageClass: "gluster-heketi",使用gfs动态存储
注意:redmine的持久化使用的nfs
创建redmine的pv
- [root@k8s-master01 redmine]# kubectl create -f redmine.pv
安装redmine
- helm install --name redmine . --debug --namespace public-service
安装成功后如下:
- NOTES:
- . Get the Redmine URL:
- NOTE: It may take a few minutes for the LoadBalancer IP to be available.
- Watch the status with: 'kubectl get svc --namespace public-service -w redmine-redmine'
- export SERVICE_IP=$(kubectl get svc --namespace public-service redmine-redmine --template "{{index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}")
- echo http://$SERVICE_IP/
- . Login with the following credentials
- echo Username: admin
- echo Password: $(kubectl get secret --namespace public-service redmine-redmine -o jsonpath="{dmine-password}" | base64 --decode)
查看pods
- [root@k8s-master01 redmine]# kubectl get po -n public-service
- NAME READY STATUS RESTARTS AGE
- redmine-mariadb- / Running 20m
- redmine-redmine-6995ddf776-s5zww / Running 20m
创建ingress,也可以直接在values.yaml指定
- [root@k8s-master01 redmine]# kubectl create -f traefik-redmine.yaml
访问redmine
查看密码
- [root@k8s-master01 redmine]# kubectl get secret --namespace public-service redmine-redmine -o jsonpath={.data.redmine-password} | base64 --decode
- 7AOZGCVJOQ
2.1 redmine配置
语言配置
密码修改
LDAP配置
填写如下
连接测试
2.2 用户配置
上述虽然勾选了即时生成用户,但是并未生成,所以需要创建与之对应的用户。注意:我采用的email认证,为了防止重名,如果使用用户名的话登录名属性填写uid。
创建一个项目:DevItem
创建dev组
创建对应用户
注意上述使用的mail认证方式,所以登录名为邮箱,如果采用uid则写cn的名字
加入组和项目
登录测试
3、邮件测试
点击发送测试邮件
4、插件安装
下载地址:http://www.redmineup.com/pages/plugins/agile
将安装包解压并复制到redmine的插件目录,默认为/home/redmine/data/plugins
获取到redmine的pv地址的path
- [root@k8s-master01 ~]# kubectl get pv | grep redmine
- pvc-f81dace8-fc4f-11e8-bf2f-000c298bf023 3Gi RWO Delete Bound public-service/data-redmine-mariadb- gluster-heketi 19h
- redmine-data 4Gi RWO Recycle Bound public-service/redmine-redmine redmine-data 19h
- [root@k8s-master01 ~]# kubectl describe pv redmine-data
- Name: redmine-data
- Labels: <none>
- Annotations: pv.kubernetes.io/bound-by-controller: yes
- Finalizers: [kubernetes.io/pv-protection]
- StorageClass: redmine-data
- Status: Bound
- Claim: public-service/redmine-redmine
- Reclaim Policy: Recycle
- Access Modes: RWO
- Capacity: 4Gi
- Node Affinity: <none>
- Message:
- Source:
- Type: NFS (an NFS mount that lasts the lifetime of a pod)
- Server: 192.168.2.2
- Path: /k8s/redmine
- ReadOnly: false
- Events: <none>
挂载该path至宿主机
- [root@k8s-master01 ~]# mount -t nfs 192.168.2.2:/k8s/redmine /mnt/
上次压缩包并解压
- [root@k8s-master01 plugins]# unzip redmine_agile-1_4_7-light.zip
- [root@k8s-master01 plugins]# rm -f redmine_agile-1_4_7-light.zip
- [root@k8s-master01 plugins]# pwd
- /mnt/plugins
重启redmine即可,其他插件安装方式相同
赞助作者:
kubernetes实战(十二):k8s使用helm持久化部署redmine集成openLDAP的更多相关文章
- kubernetes实战(十三):k8s使用helm持久化部署harbor集成openLDAP登录
1.基本概念 上节在k8s中部署了harbor和ldap,本节将部署harbor使用openLDAP验证,部署方式与之前相同,只是改了adminserver-cm.yaml的AUTH_MODE: &q ...
- kubernetes实战(十五):k8s使用helm持久化部署jenkins集成openLDAP登录
1.基本概念 Jenkins在DevOps工具链中是核心的流程管理中心,负责串联系统的构建流程.测试流程.镜像制作流程.部署流程等,在持续集成中常用到的工具如下: Maven:源代码编译工具 Robo ...
- kubernetes实战(十):k8s使用Helm安装harbor
1.基本概念 对于复杂的应用中间件,需要设置镜像运行的需求.环境变量,并且需要定制存储.网络等设置,最后设计和编写Deployment.Configmap.Service及Ingress等相关yaml ...
- kubernetes实战(十四):k8s持久化部署gitlab集成openLDAP登录
1.基本概念 使用k8s安装gitlab-ce,采用GlusterFS实现持久化(注意PG使用的是NFS存储,使用动态存储重启postgresql的pod后无法成功启动pg,待解决),并集成了open ...
- 如何在Visual Studio 2017中使用C# 7+语法 构建NetCore应用框架之实战篇(二):BitAdminCore框架定位及架构 构建NetCore应用框架之实战篇系列 构建NetCore应用框架之实战篇(一):什么是框架,如何设计一个框架 NetCore入门篇:(十二)在IIS中部署Net Core程序
如何在Visual Studio 2017中使用C# 7+语法 前言 之前不知看过哪位前辈的博文有点印象C# 7控制台开始支持执行异步方法,然后闲来无事,搞着,搞着没搞出来,然后就写了这篇博文,不 ...
- helm 持久化部署ingres
Ingress 是一种 Kubernetes 资源,也是将 Kubernetes 集群内服务暴露到外部的一种方式.本文将讲一讲如何用 Helm 在 Kubernetes 集群中部署 Ingress,并 ...
- NetCore入门篇:(十二)在IIS中部署Net Core程序
一.简介 微软已经为net在iis中的部署提供了良好的支持,在IIS中部署NetCore是一件很容易的事. 二.在IIS中部署Net Core程序 1.微软官方文档有详细说明.进入 2.如果你已经熟悉 ...
- kubernetes实战(三):k8s v1.11.1 持久化EFK安装
1.镜像下载 所有节点下载镜像 docker pull kibana: docker tag kibana: docker.elastic.co/kibana/kibana: docker pull ...
- kubernetes实战(十六):k8s高可用集群平滑升级 v1.11.x 到v1.12.x
1.基本概念 升级之后所有的containers会重启,因为hash值会变. 不可跨版本升级. 2.升级Master节点 当前版本 [root@k8s-master01 ~]# kubeadm ver ...
随机推荐
- ubuntu 手动安装mysql
申请了一台云主机,需要手动安装所有环境,今天将mysql安装过程记下. 安装mysqla. 下载不了gcc, 需要先运行apt-get updateb. cmake报错,每次要先删除cmakeCach ...
- DRBD架构详解(原创)
DRBD概述Distributed Replicated Block Device(DRBD)是一种基于软件的,无共享,复制的存储解决方案,在服务器之间的对块设备(硬盘,分区,逻辑卷等)进行镜像.DR ...
- warning C4305:“初始化”:从“double”到“float”截断
编译VS项目时出现警告: warning C4305:“初始化”:从“double”到“float”截断(warning C4305: 'initializing' : truncation from ...
- LINK : warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
解决方法 属性=>配置属性=>输入=>忽略特定库LIBCMT
- open-falcon之dashboard\portal说明.md
dashboard 功能 为用户展示监控数据 配置文件 gunicorn.conf - workers,dashboard并发进程数 - bind,dashboard的http监听端口 - proc_ ...
- Python学习(22):模块
转自 http://www.cnblogs.com/BeginMan/p/3183656.html 一.模块基础 1.模块 自我包含,且有组织的代码片段就是模块 模块是Pyhon最高级别的程序组织单元 ...
- c++11 delete禁用函数
c++11添加了delete关键字. 不想用那个函数,在那个函数后面加 = delete就可以了: 比如: 在函数重载中,可用 delete 来滤掉一些函数的形参类型,如下: bool IsLucky ...
- LeetCode 42 Trapping Rain Water(积水体积)
题目链接: https://leetcode.com/problems/trapping-rain-water/?tab=Description Problem: 根据所给数组的值,按照上图的示意 ...
- 【OOP】C++ const成员函数
预备知识 1.代码转换分析技巧 在早期某些编译器会将C++代码翻译为C代码,然后使用C编译器生成可执行文件.其中翻译的一个转化就是:将this指针显式添加到成员函数的第一个参数位置上,并在成员函数调用 ...
- Microsoft Office Enterprise 2007 在安装过程中出错的解决方法
今天笔者在使用PowerPoint 2007打开一个ppt的内嵌的excel表格时报如下错误: 无法找到 服务器应用程序.源文件.和项目,或返回的未知错误.请重新安装服务程序 然后就先把ppt文件发给 ...