今天要來裝GitOPs的工具之一,ArgoCD
透過helm來安裝
helm repo add argo https://argoproj.github.io/argo-helm
helm repo update
一樣產出設定檔
helm show values argo/argo-cd --version 3.17.6 > values.yml
調整設定(這邊能夠設定非常之多),我們這次LAB必要的調整為service為Loadbalancer 並將他指派ip 192.168.1.241,搭配前幾天的openELB
安裝
kubectl create ns argocd
helm install homelab-argo argo/argo-cd --version 3.17.6 -f values.yml -n argocd
下載ArgoCD command line tools,並登入
sudo curl -sSL -o /usr/local/bin/argocd https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64
sudo chmod +x /usr/local/bin/argocd
## 先取得預設密碼
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
argocd login 192.168.1.241
修改admin密碼
argocd account update-password
argocd的admin密碼,其實會放置在secrets底下,但因為有特別進行過加解密機制,無法單純以base64的方式置換cm,這邊用CLI進行update最快。
再來我們前往預計使用的 Gitlab Repo,當中我已把day12的YAML放在這個repo當中了。
回到瀏覽器打開 https://192.168.1.241 從UI登入,設定相關repositroy
創建application
最終的結果,如下兩張圖
之後我們就能透過異動gitlab上的repo來執行佈署了,明天會持續介紹ArgoCD SSO的功能
自己蠻喜歡ArgoCD這種方式的,而且UI也很精美從UI上也可以清楚聊解元件的對應關係。不過每次裝ArgoCD的時候,都感覺介面產生了些變化,更新的也是挺頻繁的,真是令人頭痛~