argo workflow

argo workflow 로 어떤 걸 만들었을까?

나뭇빛자루 2023. 7. 22. 09:56
반응형

다양한 CI/CD 들을 만들 수 있는 툴이지만 단순 CI/CD 만 사용하기엔 정말 아까운 툴인 것 같습니다 ! 

어떤 자동화 시스템을 개발하여 관리하기 위해서는 많은 인력이 투입되서 개발을 진행해야 하며,

실행하고 배포를 해야하고 또 잘 작동하는지 모니터링을 해야하는 여러 리소스들이 많이 들어갑니다. 

 

하지만 argo workflow는 여러가지 템플릿만 개발해 두면 "개발,실행,배포"가 동시에 이뤄질 수 있다는 장점 !

 

즉, 손쉽게 자동화 기능을 구현가능 합니다.

 

예시로 저희는 지금 devop management 란 API 서버를 개발해서 자동화를 위해 운영중입니다. 

하지만 몇 백대의 devop management 란 API 서버를 어떻게 배포를 할 것인지 어떻게 상태 체크를 할 것인지 앞길이 쫌 막막하긴 했었는데 argo workflow로 해당 기능을 쉽게 구현할 수 있었습니다. 

 

아래는 저희가 만든 워크플로입니다. 여러 공동의 클러스터 템플릿을 개발하고 그대로 가져다가 쓰기만 했습니다.

테그를 읽어서 상태 헬스 체크를 하고 상태가 모두 정상이면 스킵되게 끔 설계

정상이 아니라면 설과정이 추가됩니다.. ㅎㅎ 이후 원하는 기능의 API 기능을 발송하는 형태로 사용중입니다.

 

이것 말고도 몇 백대의 EC2 인스턴스의 promtail을 설치할 일이 있어서 정말 손쉽게 구현했습니다.

설치 뿐만아니라 테그 기반으로 해당 서버의 로그 까지 정밀하게 컨트롤이 가능하며,

install  부분에선 상태 체크, 버전 체크를 진행해서 설치 및 정상적으로 시작될 수 있게끔 만들었으며 ( 원래 하나로 합치면 안되지만,, ) 

버전이 안 맞으면 새로 설치되게 끔 만들어 놔서 상당히 편하게 오픈소스를 관리할 수 있게 되었습니다. ㅎㅎ

 

cron 작업으로 매일 같은 상태의 작업 과 상태확인 및 로그를 찍어 볼 수 있다는 것이 엄청 큰 매리트 인 것 같고 너무 많은 업무의 일이 많이 줄어든 것 같습니다. (( 이게 정말 devops 의 업무 ?! ))

 

앞으로 자동화할 업무가 몇 개가 될련진 모르겠지만 유용하게 써봐야겠네요 ㅎㅎ

반응형