Kubernetes CD工具 -Argo CD 安裝
Argo CD遵循 GitOps 的原則,允許您使用 Git 存儲庫來管理和聲明 Kubernetes 集群的狀態 ,以下將紀錄安裝Argo 過程
data : 2024/05/03
安裝環境 k8s V1.30
將依序分為
- 創建argocd
- 透過service or ingress訪問(二擇一)
- 獲取密碼 並訪問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