[k8s] ArgoCD설치
Posted by Albert 104Day 23Hour 25Min 16Sec ago [2025-04-23]
1. argocd repo 추가
albert@k8s-master:~/work/app/argocd$ helm repo add argo https://argoproj.github.io/argo-helm
"argo" has been added to your repositories
2. argocd repo 확인 및 가져오기
albert@k8s-master:~/work/app/argocd$ helm repo list
NAME URL
bitnami https://charts.bitnami.com/bitnami
metalib https://metallb.github.io/metallb
argo https://argoproj.github.io/argo-helm
albert@k8s-master:~/work/app/argocd$ helm pull argo/argo-cd
albert@k8s-master:~/work/app/argocd$ ls
argo-cd-7.8.28.tgz
albert@k8s-master:~/work/app/argocd$ tar xvfz argo-cd-7.8.28.tgz
3. argocd 서치파일 폴더로 이동 및 설정값 복사
albert@k8s-master:~/work/app/argocd$ cd argo-cd/
albert@k8s-master:~/work/app/argocd/argo-cd$ cp values.yaml my-values.yml
4. argocd설치
albert@k8s-master:~/work/app/argocd/argo-cd$ kubectl create namespace myargocd
namespace/myargocd created
albert@k8s-master:~/work/app/argocd/argo-cd$ kubectl get namespace
NAME STATUS AGE
myargocd Active 6s
mymetallb Active 47h
mynginx Active 47h
tigera-operator Active 6d1h
albert@k8s-master:~/work/app/argocd/argo-cd$ helm install --namespace myargocd --generate-name argo/argo-cd -f my-values.yml
NAME: argo-cd-1745388495
LAST DEPLOYED: Wed Apr 23 06:08:16 2025
...
5. argocd 확인
(argocd-server 의 IP가 ClusterIP로 설정되어 외부에서 접속되지않으므로 Loadbalancer 타입으로 변경필요)
albert@k8s-master:~/work/app/argocd/argo-cd$ kubectl get all --namespace myargocd
NAME READY STATUS RESTARTS AGE
pod/argo-cd-1745388495-argocd-application-controller-0 1/1 Running 0 70s
pod/argo-cd-1745388495-argocd-applicationset-controller-65c7ddq7lbc 1/1 Running 0 71s
pod/argo-cd-1745388495-argocd-dex-server-6dc6dcc575-rljf9 1/1 Running 2 (31s ago) 71s
pod/argo-cd-1745388495-argocd-notifications-controller-658d8d9vcpq7 1/1 Running 0 71s
pod/argo-cd-1745388495-argocd-redis-75cdb6494f-fnskx 1/1 Running 0 71s
pod/argo-cd-1745388495-argocd-repo-server-66df874845-cwcsk 1/1 Running 0 71s
pod/argo-cd-1745388495-argocd-server-6d45cdd497-6jglb 1/1 Running 0 70s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/argo-cd-1745388495-argocd-applicationset-controller ClusterIP 10.110.213.66 <none> 7000/TCP 71s
service/argo-cd-1745388495-argocd-dex-server ClusterIP 10.97.59.207 <none> 5556/TCP,5557/TCP 71s
service/argo-cd-1745388495-argocd-redis ClusterIP 10.97.165.133 <none> 6379/TCP 71s
service/argo-cd-1745388495-argocd-repo-server ClusterIP 10.96.246.120 <none> 8081/TCP 71s
service/argo-cd-1745388495-argocd-server ClusterIP 10.111.159.140 <none> 80/TCP,443/TCP 71s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/argo-cd-1745388495-argocd-applicationset-controller 1/1 1 1 71s
deployment.apps/argo-cd-1745388495-argocd-dex-server 1/1 1 1 71s
deployment.apps/argo-cd-1745388495-argocd-notifications-controller 1/1 1 1 71s
deployment.apps/argo-cd-1745388495-argocd-redis 1/1 1 1 71s
deployment.apps/argo-cd-1745388495-argocd-repo-server 1/1 1 1 71s
deployment.apps/argo-cd-1745388495-argocd-server 1/1 1 1 71s
NAME DESIRED CURRENT READY AGE
replicaset.apps/argo-cd-1745388495-argocd-applicationset-controller-65c7dd4fb6 1 1 1 71s
replicaset.apps/argo-cd-1745388495-argocd-dex-server-6dc6dcc575 1 1 1 71s
replicaset.apps/argo-cd-1745388495-argocd-notifications-controller-658d8d9bb8 1 1 1 71s
replicaset.apps/argo-cd-1745388495-argocd-redis-75cdb6494f 1 1 1 71s
replicaset.apps/argo-cd-1745388495-argocd-repo-server-66df874845 1 1 1 71s
replicaset.apps/argo-cd-1745388495-argocd-server-6d45cdd497 1 1 1 70s
NAME READY AGE
statefulset.apps/argo-cd-1745388495-argocd-application-controller 1/1 71s
6 argocd-server 의 TYPE를 Loadbalancer로 변경
albert@k8s-master:~/work/app/argocd/argo-cd$ kubectl patch svc argo-cd-1745388495-argocd-server -n myargocd -p '{"spec": {"type": "LoadBalancer"}}'
service/argo-cd-1745388495-argocd-server patched
albert@k8s-master:~/work/app/argocd/argo-cd$ kubectl get svc --namespace myargocd
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
argo-cd-1745388495-argocd-applicationset-controller ClusterIP 10.110.213.66 <none> 7000/TCP 3m38s
argo-cd-1745388495-argocd-dex-server ClusterIP 10.97.59.207 <none> 5556/TCP,5557/TCP 3m38s
argo-cd-1745388495-argocd-redis ClusterIP 10.97.165.133 <none> 6379/TCP 3m38s
argo-cd-1745388495-argocd-repo-server ClusterIP 10.96.246.120 <none> 8081/TCP 3m38s
argo-cd-1745388495-argocd-server LoadBalancer 10.111.159.140 192.168.56.21 80:32688/TCP,443:30806/TCP 3m38s
7. argocd 초기 관리자 비밀번호 조회
albert@k8s-master:~/work/app/argocd/argo-cd$ kubectl -n myargocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
0sHrPS5dOb8as5WW
8. 브라우저상 argocd접속
(최초id: admin, 비번은 7번에서 조회한 비밀번호: 0sHrPS5dOb8as5WW)
끝