文章主要為大家詳細(xì)介紹了用rancher商店安裝drone并用drone關(guān)聯(lián)gitlab的方法,圖文詳解容易學(xué)習(xí),非常適合初學(xué)者入門,感興趣的小伙伴們可以參考一下。
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比龍巖網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式龍巖網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋龍巖地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴。
1 本文環(huán)境是 k8s v1.16.3,rancher v2.3.3。
2 創(chuàng)建 gitlab Oauth 應(yīng)用程序
登錄 gitlab,選擇 setting:
選擇 "application", 填寫相關(guān)信息,Redirect URI 是回調(diào) drone 服務(wù)器地址(下面會(huì)進(jìn)行安裝,這里先寫上沒關(guān)系。我的地址是 http://jiuxi.drone.org/login,注意 /login 是必須后綴,不要忘寫)。
保存后生成授權(quán)信息如下:
gitlab 配置結(jié)束。
3 創(chuàng)建 secret
首先通過 kubelet 創(chuàng)建 secret,其中 “clientSecret” 值就是上面 gitlab 創(chuàng)建 oauth 應(yīng)用的 secret 值:
kubectl create secret generic drone-server-secrets \
--namespace=drone \
--from-literal=clientSecret="93e85934b165566125bdc313288d79fb446c486d18afaf07f7c97e36297b00bd"
4 創(chuàng)建項(xiàng)目空間和命名空間
登錄 rancher,選擇指定集群:
點(diǎn)擊進(jìn)入集群(jiuxi),可以看到集群的 dashboard,選擇“項(xiàng)目/命名空間”:
選擇“添加項(xiàng)目”:
填寫項(xiàng)目名稱(drone)并創(chuàng)建:
在新增項(xiàng)目(drone)下選擇“添加命名空間”:
填寫命名空間名(drone)并創(chuàng)建:
項(xiàng)目空間和命名空間創(chuàng)建完畢。通過導(dǎo)航點(diǎn)擊進(jìn)入,以后的操作都會(huì)在此項(xiàng)目空間下進(jìn)行。
5 安裝 nfs 服務(wù)器
安裝 nfs 服務(wù)器的原因是 drone 需要存儲(chǔ)空間,這里采用 nfs。如何安裝 nfs 服務(wù)器,請參考本人《輕松完爆 nfs 安裝》,不用擔(dān)心,簡單容易,讓你分分鐘輕松完爆。
mkdir -p /data/nfs/drone/1g
chmod 777 -R /data/nfs/drone/1g
echo "/data/nfs/drone 10.110.0.0/16(rw,sync,no_root_squash)" >> /etc/exports
systemctl restart nfs
6 創(chuàng)建 pv
編輯 pv-drone-1g.yaml 文件,其中 server 地址就是 nfs 服務(wù)器所在地址:
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-drone-1g
spec:
capacity:
storage: 1Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nfs:
server: 10.110.101.106
path: /data/nfs/drone/1g
創(chuàng)建 pv:
kubectl apply -f pv-drone-1g.yaml
7 創(chuàng)建 pvc
編輯 pvc-drone-1g.yaml 文件:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-drone-1g
namespace: drone
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
volumeMode: Filesystem
創(chuàng)建 pvc:
kubectl apply -f pvc-drone-1g.yaml
由于先創(chuàng)建 pv,然后再創(chuàng)建的 pvc,因此查詢 pvc 狀態(tài),發(fā)現(xiàn) pvc 已經(jīng)跟 pv 綁定成功:
8 應(yīng)用商店添加 drone
進(jìn)入項(xiàng)目空間(drone)下的應(yīng)用商店,選擇“啟動(dòng)”:
通過搜索找到 “drone”:
點(diǎn)擊后截圖如下:
“Drone settings” 配置內(nèi)容:
說明如下:
Drone Host Name: drone 主機(jī)名
Set Drone Admin User: 上面創(chuàng)建 gitlab oauth 時(shí)的 gitlab 用戶名
Drone integration Server: 代碼倉庫類型,本人是 gitlab
Select the Existing Drone Provider Secret; 上面用 kubectl 創(chuàng)建的 secret
GitLab OAuth3 Client ID : gitlab oauth 的 clientID
GitLab Server Address: gitlab 倉庫地址
"Service and Load balance" 配置內(nèi)容:
因?yàn)槲野惭b了 nginx-ingress,所以采用 load balance。有關(guān)如何安裝 nginx-ingress,你可以查看我的相關(guān)文章,簡單到讓你分分鐘完爆。
配置完畢后點(diǎn)擊 “啟動(dòng)”,下圖是啟動(dòng)成功后的狀態(tài),有時(shí)頁面響應(yīng)不及時(shí),可以多刷新幾次看運(yùn)行狀態(tài):
點(diǎn)擊上圖中的 “80/http" 鏈接,直接會(huì)跳轉(zhuǎn)到 gitlab 倉庫授權(quán)頁面,選擇 “Authorize”:
頁面會(huì)重新回到 drone,此時(shí)頁面會(huì)同步你的 gitlab 倉庫狀態(tài),同步完成后,會(huì)顯示你的 gitlab 倉庫代碼:
上文描述的就是用rancher商店安裝drone并用drone關(guān)聯(lián)gitlab的方法,具體使用情況還需要大家自己動(dòng)手實(shí)驗(yàn)使用過才能領(lǐng)會(huì)。如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!