iT邦幫忙

2024 iThome 鐵人賽

DAY 11
1

昨天我們完成了一鍵部署 GitLab 服務,今天要討論建立使用者。

建立使用者本身其實沒什麼好講的 XD,但是如果我們的 GitLab 服務本身是可拋棄式的,難不成我們每次建立 GitLab 都要重建使用者嗎?

Create Users

https://ithelp.ithome.com.tw/upload/images/20240925/20141794aRaKYCgfJ4.png
透過昨天的所建立的 GitLab 服務,我們可以在首頁選擇註冊,然後來到這個註冊頁面建立使用者。

在首頁創建使用者時,會發現提示需要 GitLab 管理員帳號協助 Approve,後才可以使用,但這服務是我們自己建立的,鬼才知道管理員是誰?總不可能 GitLab 官方吃飽太閒自己來當 XD
https://ithelp.ithome.com.tw/upload/images/20240925/20141794lmjllGVQyP.png

Root Account

觀察 Secrets 後,我注意到有一個名為 gitlab-gitlab-initial-root-password 的 Secret,猜測這應該就是我們的 Admin 帳號。
https://ithelp.ithome.com.tw/upload/images/20240925/20141794zNGupZ8hBp.png

可以在這個 Secret 的 password 中找到密碼,但是這邊的值是經過 Base64 編碼過,可以選擇手動解開,又或是在 Lens 點擊右邊的眼睛即可自動解開。

回到登入頁面在使用者名稱輸入 root,密碼則輸入解碼過的 password 值,即可登入。
https://ithelp.ithome.com.tw/upload/images/20240925/20141794kymKbeWfGF.png
左下角的 Admin 可以進入管理頁面。

https://ithelp.ithome.com.tw/upload/images/20240925/20141794I5d6uISWSQ.png
左邊的 Overview > Users,可以進入使用者管理頁面。這時候我們會看到剛才建立的使用者 test test,點擊 Approve 後就可以用這個帳號登入了。

Save Users

這時候我們可以嘗試把 GitLab 刪除,後又再次重建。會發現剛才所建立的 User test test 依然存在於新建立的 GitLab 中。

# 刪除指令
helm delete -n gitlab gitlab

如果 Kubernetes 的 Pods 被刪除後,想要將資料保存下來,可以透過 Volumes 的方式來儲存資料,又或是連接外部儲存空間,像是 AWS S3、NFS 之類的方式。

但這是一個自建的服務,不太可能會有佛心公司提供 S3 之類的外部儲存資源給無法預估數量的使用者使用,所以猜測應該是透過 Volumes 的方式來儲存。

Volumes 主要是有分兩種可能:
1. PVC
透過 CSI 將儲存空間變成類似 Partitions 的形式來讓 Pods 掛載使用。

2. HostPath
將主機的某個位置映射到 Pods 內的某個位置,但這種位置通常都是使用者指定,且在 Pods 的 Yaml 中會看到映射的位置。

https://ithelp.ithome.com.tw/upload/images/20240925/20141794Cvd5pjPacC.png
在刪除 GitLab 後,來到 PVC 的位置可以發現有三個 PVCs 存在,其中一個是屬於 Redis 服務的,另一個則是存放 Repo 的資料。一般來說 ,Redis 都是負責 Cache 相關的業務,所以我假設使用者資料不是由 Redis 負責,而是存在 PostgreSQL 中,由 data-gitlab-postgresql-0 這個 PVC 儲存。

https://ithelp.ithome.com.tw/upload/images/20240925/20141794HP1UPoqhUT.png
為了驗證我的猜測,所以將兩個 Redis 相關的 PVCs 刪除,保留 data-gitlab-postgresql-0

重新用 Helm 安裝 GitLab 服務後,發現我的猜測是對的,使用者資料依然保存下來

但如果我是砍掉整個 Cluster 呢?


上一篇
Day 10:Taints
下一篇
Day 12:Storage
系列文
在Local建立完整的開發環境筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言