본문 바로가기

[Kubernetes]/[ArgoCD]

[ArgoCD] ArgoCD 사용설명서 - 4. 번외 SSL 적용

반응형

1. AWS certificate 적용

만약 ArgoCD의 웹주소를 외부로 노출하고 싶어서 AWS에서 제공해주는 AWS Certificate Manager를 사용했다고 했을 때 연결하는 방법이다.

 

1-1. ArgoCD의 설치파일을 로컬에 저장한다.

curl -LO https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

1-2. Service 영역수정

annotation에 ssl cert를 추가

---
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/component: server
    app.kubernetes.io/name: argocd-server
    app.kubernetes.io/part-of: argocd
  name: argocd-server
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-ssl-cert: [Certificates ARN]
...

1-3. Deployment 수정

Service만 수정시 Too Many redirect 오류가 나오니 argocd-server에 --insecure 플래그 적용

---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/component: server
    app.kubernetes.io/name: argocd-server
    app.kubernetes.io/part-of: argocd
  name: argocd-server
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: argocd-server
  template:
    metadata:
      labels:
        app.kubernetes.io/name: argocd-server
    spec:
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - podAffinityTerm:
              labelSelector:
                matchLabels:
                  app.kubernetes.io/name: argocd-server
              topologyKey: kubernetes.io/hostname
            weight: 100
          - podAffinityTerm:
              labelSelector:
                matchLabels:
                  app.kubernetes.io/part-of: argocd
              topologyKey: kubernetes.io/hostname
            weight: 5
      containers:
      - command:
        - argocd-server
        - --insecure
...

1-4. ArgoCD 실행

# 수정한 install.yaml 적용
kubectl apply -n argocd -f install.yaml

# 설치상태 확인
kubectl get all -n argocd

2. 서비스 변경

ArgoCD는 기본적으로 대시보드를 제공해준다. 하지만 기본적으로 ClusterIP로 로드밸런서를 적용하기 때문에 외부에서 접근할수 있도록 NodePort로 변경해줘야한다

kubectl patch svc argocd-server \
-n argocd \
-p '{"spec": {"type": "LoadBalancer"}}'
728x90