Kubernetes로 클러스터 외부 자원 관리하기

안녕하세요. 저는 LINE에서 LINE 개발자를 위한 서비스, Pipeline을 개발하고 있습니다. Pipeline은 테스트부터 서비스 배포까지 가능한, Kubernetes 기반 워크플로(workflow) 서비스입니다. 사용자가 코드를 검증하기 위한 테스트나 코드를 배포하기 위한 빌드 또는 주기적으로 작업을 실행하기 위한 크론(cron) 작업과 같이 실행하고 싶은 작업을 워크플로 형태로 Pipeline에 정의하면, Pipeline이 사용자가 정의한 대로 작업을 실행합니다. 작업의 결과는 다양한 형태로 나타나는데요. 파일이 산출되기도 하고 서비스가 실행되기도 합니다.

이번 글에서는 외부에서 발생한 트래픽을 Kubernetes 클러스터에서 실행되는 서비스로 전달하기 위해 필요한 Pipeline 컴포넌트를 직접 개발한 경험을 나누고자 합니다.