Kubernetes

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

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

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

Journey to Kubernetes with Blockchain Network(+CKAD)

안녕하세요. LINE에서 근무하고 있는 이지홍이라고 합니다. 2018년부터 가상 화폐 LINK가 살아 숨 쉬고 있는 블록체인 시스템을 개발하고 있습니다. 저는 블록체인 네트워크에 적합한 프로비저닝 방법을 연구하고 이를 Kubernetes(이하 K8s)와 같은 도구를 활용해 구현하기까지의 여정에 대한 후기를 이번 글에서 나누고자 합니다.

대규모 Kubernetes 클러스터 구축기

LINE에서는 개발자가 개발에만 집중할 수 있도록 개발 외의 인프라 관련 업무를 대신 수행해 주는 Kubernetes 기반 서비스 Nucleo를 자체 개발하여 LINE 내부용으로 사용하고 있습니다. Nucleo에는 현재 800여 개의 앱이 약 4,000개의 pod로 서비스되고 있는데요. 앱의 개수는 계속 빠르게 증가하고 있습니다. 모든 워크로드는 개발 구역(region)에 약 60대, 운영 구역에 약 80대가 설치된 PM(physical machine)과 VM(virtual machine)으로 운영하고 있으며, 그 외에 Nucleo 개발용 클러스터가 약 3~40개, feature 테스트용 노드 3개로 이루어진 미니 클러스터 약 20~30개 가량이 구동되고 있습니다. 이렇게 다수의 Kubernetes 클러스터를 운영하기 위해서는 빠르고 안정적으로 Kubernetes 클러스터를 설치하고 운영할 수 있는 방법이 필요한데요. 그래서 Nucleo 팀에서는 Kubernetes 클러스터 프로비저닝을 목적으로 ‘Caravan’이라는 도구를 개발하여 사용하고 있습니다. 최근에 팀에서는 이 Caravan이 앞으로 늘어날 앱의 수요에 대응할 수 있는지 알아보기 위해 많은 양의 Kubernetes 클러스터를 생성하고 테스트해 보았는데요. 이번 글에선 이 테스트의 상세한 내용과 테스트를 통해 배운 점에 대해 설명하겠습니다.