一、基本概念git
這次安裝的有Jenkins、Gitlab、Redmine,我公司目前使用的是獨立於k8s集羣以外單獨部署的Jenkins等服務,此文章會介紹三種服務基於k8s的部署方式,以後集成以前部署的openLDAP實現統一認證。以後將進行簡單持續集成持續部署的演示,最後再結合我公司的項目進行實戰操做,應付出現的各類使用場景。github
二、使用Helm安裝redminejson
[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: dukuan@xxx.com smtpPassword: xxx smtpTls: true
serviceType: ClusterIP
# 修改mariadb的storageClass: "gluster-heketi",使用gfs動態存儲
注意:redmine的持久化使用的nfsjsonp
建立redmine的pvui
[root@k8s-master01 redmine]# kubectl create -f redmine.pv
安裝redminespa
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)
查看podsdebug
[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指定3d
[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的名字
加入組和項目
登陸測試
三、郵件測試
點擊發送測試郵件
四、插件安裝
下載地址: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-0 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便可,其餘插件安裝方式相同
贊助做者: