DevOps와 Infra/AWS EKS / / 2023. 9. 11. 14:30

11. ArgoCD setting

개인 정리용 글임. (설명 없음)

Jenkins 사이트에 Maven Tool 설치

Jenkins 사이트에 접속해서 Jenkins관리 > Tools에서 Maven 설치

 

저 위에 Name 부분이 pipeline code(helm)에 명시한 이름과 완전히 일치해야한다.

내 pipeline 코드에 "Maven 3.6.0"이라고 적어놨는데, 이름이 띄어쓰기까지 일치해야한다.

 

Jenkins url setting

Jenkins관리 > System > Jenkins Location에서

Jenkins URL에 http://jenkins.ekcm.local 주소 입력

 

Pipeline code

CI/CD pipeline에 사용될 코드를

사내 gitlab에 private repo를 만들어 올려놓는다.

$ git remote add origin [git 주소]
$ git add .
$ git commit -m '1st'
$ git push origin main

 

ArgoCD pod 내에서 gitlab 연결

kubectl get po -n argocd
kubectl exec -it -n argocd [argocd-server-pod-name] -- sh
git clone [test용 git 주소]

ArgoCD settings

argocd에 admin으로 접속한 후

settings에서

Projects:

New project를 누르고

프로젝트 생성

Repositories :

Connect Repo를 클릭하고

HTTPS 연결 > git을 선택한 후 > https://[pipeline git 주소] 입력

gitlab에 id와 pwd를 입력

Connection Status가 Successful이 뜨는 것을 확인

Projects :

다시 Projects로 와서 SOURCE REPOSITORIES를 EDIT

DESTINATIONS에서 다음과 같이 K8s의 Server와 클러스터의 namespace와 동일한 이름으로 설정해준다.

Role 탭에서 > Add ROLE

Role Name은 Jenkins에 사용할 이름이므로 기억해둔다.

상단의 CREATE 버튼 클릭

다시 Role 탭에 생성한 것을 클릭하면 하단에 JWT Tokens 란이 추가되어있다.

CREATE를 누르면 하단에 New Token 값이 생성된다. 이것을 긁어서 잘 저장해놓는다. (Jenkins에서 사용)

 

Jenkins 세팅

EC2에 ssh 접속

$ docker ps
$ docker exec -it [container id] /bin/bash

위처럼 jenkins의 docker container에 접속

Jenkins container에는 아직 argocd cli가 설치가 안 되어있으므로 설치해준다.

$ curl -LO https://github.com/argoproj/argo-cd/releases/download/v2.8.3/argocd-linux-amd64
$ mv argocd-linux-amd64 /usr/local/bin/argocd
$ chmod 755 /usr/local/bin/argocd
// 설치 버전 확인
$ argocd version
$ argocd login [argocd url] --grpc-web --insecure
Username:
Password:
// 443 port가 안 열린다면
$ argocd login argocd.ekcm.local --skip-test-tls --grpc-web --insecure

id와 passwd를 입력하면 logged in successfully 라는 메세지가 뜬다.

 

Docker login

docker login docker.x2bee.com
Username:
Password:

 

Jenkins credentials 설정

위에서 argocd 에서 설정한 role name과 token을 브라우저에서 Jenkins 에 접속한 후에 

Jenkins관리 > Credentials 메뉴에서 아래와 같이 추가해준다.

gitlab 계정과 사용하는 docker repo도 같이 추가해준다.

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유