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: 465
smtpUser: [email protected]
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:
1. 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/

2. 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-0                  1/1       Running   0          20m
redmine-redmine-6995ddf776-s5zww   1/1       Running   0          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、邮件测试

  点击发送测试邮件

猜你喜欢

转载自www.cnblogs.com/dukuan/p/10020266.html