Kubernetes CD工具 -Argo CD 安裝

Kubernetes CD工具 -Argo CD 安裝

Argo CD遵循 GitOps 的原則,允許您使用 Git 存儲庫來管理和聲明 Kubernetes 集群的狀態 ,以下將紀錄安裝Argo 過程

data : 2024/05/03

安裝環境 k8s V1.30

Argo 中文文檔

將依序分為

  1. 創建argocd
  2. 透過service or ingress訪問(二擇一)
  3. 獲取密碼 並訪問argocd

  • 創建argocd

以下指令將會創建一個 ns 以及安裝 argocd

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

若想直接先訪問看看 可以透過節點訪問

kubectl port-forward --address 0.0.0.0 service/argocd-server 8080:443 -n argocd
  • 透過service 訪問

安裝完成後 可以查詢是否有ip可以訪問 , 若無 EXTERNAL-IP 則需要編輯svc 綁定node ip

kubectl get svc argocd-server -n argocd -o wide
# 因為是argoCD 是安裝在master 節點上 所以需要指定master ip 才可訪問 
# externalIPs: 
#  - 10.211.55.52 
 
 
kubectl edit svc argocd-server -n argocd
  • 透過ingress 訪問
# 創建憑證 
 
kubectl create secret tls {urlTls} \ 
  --cert=/{path}/tls.crt \ 
  --key=/{path}/tls.key \ 
  --namespace argocd
apiVersion: networking.k8s.io/v1 
kind: Ingress 
metadata: 
  name: ingress-argocd 
  namespace: argocd 
  annotations: 
    kubernetes.io/ingress.class: nginx 
    kubernetes.io/tls-acme: "true" 
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" 
spec: 
  rules: 
  - host: {url} 
    http: 
      paths: 
      - path: / 
        pathType: Prefix 
        backend: 
          service: 
            name: argocd-server 
            port: 
              number: 80 
  tls: 
  - hosts: 
    - {url} 
    secretName: {urlTls}

  • 獲取密碼 並訪問argocd
# 獲取Argoe CD 預設密碼 
# 預設帳號 admin 
 
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo