새소식

기술/Application

Argo CD를 이용한 배포 (2)

  • -

안녕하세요. 오랜만의 포스팅입니다.

 

이번 글은 지난 Argo CD 설치에 이어서 배포를 하는 방법에 대해 작성하였습니다.

 

먼저 Argo CD의 페이지에서 좌측 메뉴->Settings->Repositories로 이동합니다.

 

두 가지의 인증 방식이 나오는데 본 가이드에서는 https를 사용하도록 하겠습니다.

 

아래와 같이 추가할 Repository의 URL과 계정 정보를 입력 후 상단의 Connect 버튼을 클릭합니다.

* 만약에 비공개 Repository가 아니라면, 인증정보를 입력하지 않아도 됩니다.

정상적으로 추가가 완료되면, 아래와 같이 Successful이 나오게 됩니다.

 

이제 배포를 위한 Github Repository 추가가 완료되었습니다.

 

 

배포를 위한 Application 설정을 진행하겠습니다.

 

Applications 메뉴에서 NEW APP을 클릭합니다.

아래와 같이 입력을 진행합니다.

본 가이드에서는 nginx를 배포할 예정입니다.

 

따라서 Application Name은 nginx로 작성하였습니다.

 

Project는 Kubernetes에서 사용하는 리소스가 아닌 Argo CD 내부의 Project를 의미합니다.

 

이번 가이드에선 default로 진행합니다.

 

Sync Policy의 경우 Self Heal과 Prune Resources를 활성화합니다.

 

Sync Options의 스키마 유효성 체크와 Namespace는 필요 여부에 따라 활성/비활성화합니다.

 

배포에 사용할 Manifest가 있는 Git Repository를 선택합니다. 아까 정상적으로 설정을 했다면  Repository가 목록에서 노출될 겁니다.

 

Path의 경우 Repostiory 내에 폴더가 있다면 별도 폴더를 지정할 수 있고 Root 위치에 있다면 ./ 를 사용하여 Root 위치를 지정할 수 있습니다.

 

제 Manifest는 Root에 있기 때문에 ./ 를 사용하겠습니다.

 

Cluster URL은 Argo CD가 설치된 내부에 배포할 것이기 때문에 목록에 있는 것을 사용하면 됩니다.

 

Namespace는 nginx로 설정하겠습니다. 위에 Auto Create Namespace 옵션이 활성화되어 있기 때문에 자동으로 생성됩니다.

 

필요한 옵션은 모두 작성하였고, 이제 Create 버튼을 클릭하여 배포를 진행합니다.

 

배포가 진행되면 아래와 같은 화면으로 전환이 됩니다.

 

해당 Application을 클릭하면,

위와 같이 Repository에 저장되어 있는 Manifest를 불러와서 Kubernetes에 배포를 진행하게 됩니다.

 

각 항목마다 배포된 Resource들이 표기되어 어디 부분에서 문제가 있는지도 확인이 되고, Events도 자원 별로 볼 수 있기 때문에 편리합니다.

 

이제 Repository에서 Replicas 개수를 변경해보겠습니다.

 

기존 1개에서 3개로 변경 후 Commit을 진행했습니다.

 

이제 시간이 지나면 자동 Sync가 진행되어 Pod의 수가 3개로 변경되는 것을 확인할 수 있습니다.

 

제법 시간이 걸리기 때문에 Refresh를 클릭하여 실시간으로 반영시키겠습니다.

 

Progressing이 진행되며, Pod의 개수가 실시간으로 변동되는 것을 확인할 수 있습니다.

 

 

다음 포스팅에서는 Argo CD의 Rollout 플러그인을 사용하여 Blue/Green 배포 및 Canary 배포를 하는 방법에 대해 다뤄보겠습니다.

 

긴 글 읽어주셔서 고맙습니다.

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.