ArgoCD helm 으로 설치하기 에 이어서 ArgoCD 설정을 본격적으로 시작하도록 하겠습니다.
실제로 Kubernetes 리소스가 실행되기 위해서는 ArgoCD Core Concepts 에서 설명하는 것처럼 Applications 을 생성 해야합니다. 이에 앞서 어떤 Kubernetes 클러스터에 어떤 소스를 바탕으로 Applications 가 생성이 될 지 명시가 필요하기 떄문에 설정이 필요합니다. 또한 Projects 라는 ArgoCD 에서 특정 조건으로 권한을 제어하거나 구분할 수 있도록 제공하는 설정도 함께 필요합니다.
GitHub, GitLab, Bitbucket 모두 연결할 수 있지만 GitHub 의 ssh, https 로 연결하는 방법으로 알아보도록 하겠습니다.
GitHub Private Repository 생성하기
- ssh 주소 : git@github.com:happygram/argocd.git
- https 주소 : https://github.com/happygram/argocd
샘플 매니페스트 Push 하기
ArgoCD 에서 빈 Repository 를 연결하는 경우 다음의 메시지 출력과 함께 연결실패가 나타납니다.
argocd repo list
MESSAGE
Unable to connect to repository: rpc error: code = Unknown desc = error testing repository connectivity: remote repository is empty
이를 방지하기 위해서 간단한 샘플 매니페스트를 사전에 올려두도록 합니다.
# nginx 디렉터리 생성
mkdir nginx
# nginx deployment 작성
cat > nginx/deployment.yaml << EOF
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 1
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
EOF
# nginx service 작성
cat > nginx/service.yaml << EOF
apiVersion: v1
kind: Service
metadata:
name: nginx-svc
labels:
app: nginx
spec:
ports:
- port: 80
protocol: TCP
selector:
app: nginx
EOF
# git commit & push
git add nginx
git commit -m "Initialize nginx manifest"
git push
ssh 연결하기
GitHub 공식 문서의 ssh 생성 가이드에 따라서 ssh private key 를 생성합니다.
생성한 ssh private key 를 Settings > Access > SSH Keys 에 등록합니다.
ArgoCD > Settings > Repositories 에서 +CONNECT REPO 버튼을 눌러서 생성을 진행합니다.
- VIA SSH 선택
- Repository URL 입력
- SSH private key data 에 위에서 생성한 ssh private key 입력
(문자열 누락 혹은 띄어쓰기 주의)
https 연결하기
GitHub 공식 문서의 Personal access token 생성 가이드에 따라서 Personal access token 을 생성합니다.
Settings > Developer Settings > Personal access tokens > Tokens (classic) 선택해서 Note 를 입력하고 Scope 는 repo 권한이면 충분합니다.
(초기 생성된 token 은 새로고침 시 사라지므로 잘 보관하고, 계정의 패스워드처럼 중요하므로 보안에 반드시 신경 쓰도록 합니다)
ArgoCD > Settings > Repositories 에서 +CONNECT REPO 버튼을 눌러서 생성을 진행합니다.
- VIA HTTPS 선택
- Type git 선택
- Repository URL 입력
- GitHub 계정의 Username 을 입력
- 위에서 생성한 Personal access tokens 를 Password 에 입력
마무리
위에서 연결한 ssh, https 모두 연결 상태가 Successful 로 보인다면 성공적으로 연결된 것입니다. 이제 ArgoCD Applications 를 생성하는 데 한걸음 다가갔습니다.
참조
'IT - DevOps > ArgoCD' 카테고리의 다른 글
ArgoCD Projects 설정하기 (0) | 2022.12.06 |
---|---|
ArgoCD Application 생성하기 (0) | 2022.11.29 |
ArgoCD helm 으로 설치하기 (0) | 2022.11.25 |