EKS에 Helm으로 ArgoCD 설치하기

brillog·2024년 2월 12일
0

DevOps

목록 보기
4/7

ArgoCD 설치

helm repo 등록

$ helm repo add argo https://argoproj.github.io/argo-helm

등록된 repo 확인

$ helm repo list
NAME       URL                    
argo       https://argoproj.github.io/argo-helm    

values.yaml 파일 수정을 위한 clone

$ git clone https://github.com/argoproj/argo-helm

values.yaml 파일 수정

$ vi ./argo-helm/charts/argo-cd

helm install

$ helm install argocd argo/argo-cd -f values.yaml -n argo

ingress 생성 (AWS Load Balancer Controller 설치 방법 참고)

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  namespace: argo
  name: ingress-argocd
  annotations:
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: ip
    alb.ingress.kubernetes.io/subnets: <SBN1_ID>,<SBN2_ID>
    alb.ingress.kubernetes.io/backend-protocol: HTTPS
    # SSL Settings
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
    alb.ingress.kubernetes.io/ssl-redirect: '443'
    alb.ingress.kubernetes.io/certificate-arn: <ACM_ARN>
    alb.ingress.kubernetes.io/manage-backend-security-group-rules: "true"
    alb.ingress.kubernetes.io/security-groups: <SG_ID>
    alb.ingress.kubernetes.io/load-balancer-name: <ALB_NAME>
    alb.ingress.kubernetes.io/group.name: <GROUP_NAME>
spec:
  rules:
    - host: argocd.mydomain.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: argocd-server
                port:
                  number: 80

리소스 생성 확인

$ kubectl get all -n argo
NAME                                                   READY   STATUS    RESTARTS   AGE
pod/argocd-application-controller-0                    1/1     Running   0          11m
pod/argocd-applicationset-controller-bbc9cd874-hv5kn   1/1     Running   0          11m
pod/argocd-notifications-controller-cd685d646-ctr5m    1/1     Running   0          11m
pod/argocd-redis-746bfcfcd7-wjjwt                      1/1     Running   0          11m
pod/argocd-repo-server-58ff56f45-gdxpp                 1/1     Running   0          11m
pod/argocd-server-5549fd6b76-htwlr                     1/1     Running   0          11m

NAME                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
service/argocd-applicationset-controller   ClusterIP   172.20.63.39     <none>        7000/TCP         11m
service/argocd-redis                       ClusterIP   172.20.10.26     <none>        6379/TCP         11m
service/argocd-repo-server                 ClusterIP   172.20.184.124   <none>        8081/TCP         11m
service/argocd-server                      ClusterIP   172.20.242.65    <none>        80/TCP,443/TCP   11m

NAME                                               READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/argocd-applicationset-controller   1/1     1            1           11m
deployment.apps/argocd-notifications-controller    1/1     1            1           11m
deployment.apps/argocd-redis                       1/1     1            1           11m
deployment.apps/argocd-repo-server                 1/1     1            1           11m
deployment.apps/argocd-server                      1/1     1            1           11m

NAME                                                         DESIRED   CURRENT   READY   AGE
replicaset.apps/argocd-applicationset-controller-bbc9cd874   1         1         1       11m
replicaset.apps/argocd-notifications-controller-cd685d646    1         1         1       11m
replicaset.apps/argocd-redis-746bfcfcd7                      1         1         1       11m
replicaset.apps/argocd-repo-server-58ff56f45                 1         1         1       11m
replicaset.apps/argocd-server-5549fd6b76                     1         1         1       11m

NAME                                             READY   AGE
statefulset.apps/argocd-application-controller   1/1     11m

admin 비밀번호 확인

$ kubectl -n argo get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d

Reference

개인적으로 공부하며 작성한 글로, 내용에 오류가 있을 수 있습니다.

profile
클라우드 엔지니어 ♡

0개의 댓글