ArgoCD 簡介與安裝

ArgoCD 簡介與安裝

ArgoCD 簡介與安裝

簡介

ArgoCD 是一個開源的 GitOps 持續交付工具,它能夠自動化應用程式的 deploy、更新和 rollback。ArgoCD 提供了一個直觀的 UI 以及功能強大的 CLI 工具,支持多種平台和部署模式。
反正就是個很方便的工具啦!
 

安裝

kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

安裝 CLI

curl -sSL -o argocd-linux-amd64 https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64 sudo install -m 555 argocd-linux-amd64 /usr/local/bin/argocd rm argocd-linux-amd64
 

確認安裝:

kubectl get svc -n argocd
應該會出現以下元件
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE argocd-applicationset-controller ClusterIP 10.43.144.71 <none> 7000/TCP,8080/TCP 25m argocd-dex-server ClusterIP 10.43.78.46 <none> 5556/TCP,5557/TCP,5558/TCP 25m argocd-metrics ClusterIP 10.43.249.104 <none> 8082/TCP 25m argocd-notifications-controller-metrics ClusterIP 10.43.10.223 <none> 9001/TCP 25m argocd-redis ClusterIP 10.43.56.135 <none> 6379/TCP 25m argocd-repo-server ClusterIP 10.43.237.227 <none> 8081/TCP,8084/TCP 25m argocd-server ClusterIP 10.43.127.66 <none> 80/TCP,443/TCP 25m argocd-server-metrics ClusterIP 10.43.141.251 <none> 8083/TCP 25m
預設 ArgoCD 的 service type 會是 clusterIP
要存取 argoCD 的 UI 的話,就必須使用以下其中一種方法
  1. node port
  1. load balancer
  1. ingress controller
 
因為設定 ingress 太麻煩了,所以我選擇先開 NodePort 過過乾癮就好
kubectl patch service/argocd-server -p '{"spec": {"type": "NodePort"}}' -n argocd
 
如果網頁可以看到了,現在就可以初始化你的密碼囉!
argocd admin initial-password -n argocd
我在這邊有碰到一個問題
FATA[0000] invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable
經過查證後,發現是 k3s 設定檔路徑的問題,所以稍微改一下就可以了:
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
現在開好 nodePort 也初始化密碼了,可以準備開網頁去登入囉!
可以打開瀏覽器,並輸入你的機器 IP:NODE_PORT
notion image
預設的 username 是 admin
密碼就看你剛剛輸入 argocd admin initial-password -n argocd 的結果了
notion image
登入之後可以點左邊的 User Info 去更改密碼
這樣後續登入比較方便
再來的部分,就等有機會再説了,目前還沒玩到很熟
notion image
 
 
 
 
 
 

下面的步驟沒申請 TLS 證書好像就沒辦法成功操作,慎選

再來你可能會需要登入 argocd,來做 cli 方面的操作
可以先用
kubectl get svc -n argocd
看一下 argocd-server 的 ip
根據下圖,ip 是 10.43.127.66
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE argocd-applicationset-controller ClusterIP 10.43.144.71 <none> 7000/TCP,8080/TCP 25m argocd-dex-server ClusterIP 10.43.78.46 <none> 5556/TCP,5557/TCP,5558/TCP 25m argocd-metrics ClusterIP 10.43.249.104 <none> 8082/TCP 25m argocd-notifications-controller-metrics ClusterIP 10.43.10.223 <none> 9001/TCP 25m argocd-redis ClusterIP 10.43.56.135 <none> 6379/TCP 25m argocd-repo-server ClusterIP 10.43.237.227 <none> 8081/TCP,8084/TCP 25m argocd-server NodePort 10.43.127.66 <none> 80/TCP,443/TCP 25m argocd-server-metrics ClusterIP 10.43.141.251 <none> 8083/TCP 25m
就可以進行登入囉,ip 的部分麻煩換成自己的!
argocd login 10.43.127.66