반응형
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
'[Kubernetes] > [ArgoCD]' 카테고리의 다른 글
[ArgoCD] 쿠버네티스 1.24 이상인 경우, (0) | 2023.01.20 |
---|---|
[ArgoCD] ArgoCD 사용설명서 - 2. Git Repository 및 Cluster 연결 (0) | 2022.06.20 |
[ArgoCD] ArgoCD 사용설명서 - 1. 기본설정 (0) | 2022.06.19 |
[ArgoCD] GitOps란 (0) | 2022.06.19 |