가상화ㆍ컨테이너 / 개발자 / 데이터센터 / 클라우드

“쿠버네티스 길들이기” 전방위 쿠버네티스 배치 간소화 프로젝트 19선

Serdar Yegulalp | InfoWorld 2019.01.18

큐브-프롬프트(Kube-prompt): 인터랙티브 쿠버네티스 클라이언트

미니멀하면서도 유용한 또 다른 쿠버네티스 CLI 모드인 큐브-프롬프트를 사용하면 일종의 쿠버네티스 클라이언트 인터랙티브 명령 세션에 들어갈 수 있다. 큐브-프롬프트는 모든 명령 앞에 kubectl을 입력할 필요를 없애주고 각 명령의 컨텍스트 정보를 사용한 자동 완성 기능을 제공한다.     
 

큐브-셸(Kube-shell): 쿠버네티스 CLI를 위한 셸

쿠버네티스 명령줄은 강력하지만 모든 명령줄 앱이 그렇듯이 때로는 옵션을 살펴보고 선택하는 과정이 무척 번거롭다. 큐브-셸은 표준 쿠버네티스 명령줄을 포장해서 쿠버네티스 서버가 제공하는 제안(예를 들어 서비스 이름 제안)을 포함한 일반적인 명령의 자동 완성 및 자동 제안 기능이 포함된 통합 셸을 제공한다. 또한 더욱 강력한 명령 이력 기능, vi 스타일의 편집 모드, 사용자와 네임스페이스, 클러스터 및 기타 설치 관련 세부사항에 대한 실행 컨텍스트 정보도 제공한다.
 

큐브스파이(Kubespy): 쿠버네티스 리소스 실시간 모니터링

풀루미(Pulumi)의 큐브스파이는 쿠버네티스 리소스의 변경을 실시간으로 추적해서 현재 상황에 대한 일종의 텍스트 뷰 대시보드를 제공하는 진단 툴이다. 예를 들어 팟 부팅 중 팟 정의가 Etcd에 작성되고 팟이 노드에서 실행되도록 예약되고 노드의 큐블릿이 팟을 생성하고 최종적으로 팟이 실행 중으로 표시되기까지 팟 상태의 변화를 관찰할 수 있다. 큐브스파이는 독립형 바이너리, 또는 Kubectl 플러그인으로 실행할 수 있다.
 

AWS용 쿠버네티스 인그레스 컨트롤러(Ingress Controller)

쿠버네티스는 인그레스(Ingress)라는 서비스를 통해 클러스터에 외부 로드밸런싱 및 네트워크 서비스를 제공한다. 아마존 웹 서비스는 로드밸런싱 기능을 제공하지만 이러한 서비스를 쿠버네티스의 동일한 기능과 자동으로 결합하지는 않는다. AWS용 쿠버네티스 인그레스 컨트롤러는 이 간극을 메우는 역할을 한다. 인그레스 컨트롤러는 클러스터의 각 인그레스 개체를 위한 AWS 리소스를 자동으로 관리하고, 새 인그레스 리소스를 위한 로드 밸런서를 생성하고 제거된 리소스의 로드 밸런서를 삭제하고 AWS 클라우드포메이션(CloudFormation)을 사용해 클러스터의 일관적인 상태를 보장한다. 또한 SSL 인증서, EC2 자동 확장 그룹(Auto Scaling Group)과 같은 클러스터에 사용되는 다른 요소를 자동으로 관리한다.
 

큐브-옵스-뷰(Kube-ops-view): 여러 쿠버네티스 클러스터를 위한 대시보드

쿠버네티스에는 전반적인 모니터링을 위한 유용한 대시보드가 있지만, 쿠버네티스 커뮤니티에는 쿠버네티스 관리자를 위해 유용하게 데이터를 표시하는 다른 방법에 대한 실험이 활발하게 이뤄지고 있다. 큐브-옵스-뷰는 이러한 실험 중 하나로, 여러 쿠버네티스 클러스터에 대한 정보를 일목요연하게, 그래픽으로 표시한다. 이 툴에서 클러스터 전체의 CPU와 메모리 사용량, 팟 상태를 한눈에 확인할 수 있다. 단, 명령 호출은 허용되지 않는다. 이 툴은 엄격히 시각화만을 위한 툴이다. 그러나 큐브-옵스-뷰가 제공하는 시각화는 눈에 잘 들어오고 효율적이다. 운영 센터의 벽면 모니터로 보기에 안성맞춤이다.
 

스캐폴드(Skaffold): 쿠버네티스용 반복 개발

스캐폴드는 구글 자체 쿠버네티스 툴 가운데 하나로, 쿠버네티스 앱에서 지속적 개발을 수행하기 위한 툴이다. 소스 코드를 변경하면 스캐폴드가 자동으로 이를 탐지하고 빌드 및 배포 프로세스를 트리거하고 오류가 감지되면 사용자에게 경고한다. 스캐폴드는 클라이언트 측에서 실행된다. 기존 CI/CD 파이프라인에서 사용할 수 있으며 구글 바젤(Bazel)을 비롯한 소수의 외부 빌드 툴과 통합된다.
 

스턴(Stern)큐브테일(Kubetail): 쿠버네티스를 위한 로그 테일링

스턴은 쿠버네티스의 팟과 컨테이너에서 색 구분 출력(tail 명령에 따라)을 생성할 수 있게 해준다. 여러 리소스의 모든 출력을 일목요연하게 볼 수 있는 하나의 스트림으로 신속하게 연결하는 방법이다. 또한 색으로 구분되므로 스트림을 구별하기도 쉽다.

큐브테일도 이와 비슷하게 여러 팟의 로그를 하나의 스트림으로 모으고 각 팟과 컨테이너에 서로 다른 색을 적용한다. 그러나 큐브테일은 배시 스크립트이므로 셸만 있으면 된다.
 

테레사(Teresa): 쿠버네티스의 간단한 PaaS

테레사는 쿠버네티스에서 간단한 PaaS로 실행되는 애플리케이션 배포 시스템이다. 사용자는 팀으로 구성되어 자신에게 속한 애플리케이션을 배포 및 관리할 수 있다. 따라서 특정 애플리케이션에서 신뢰할 수 있는 사람들이 쿠버네티스를 직접 다룰 필요 없이 좀더 쉽게 작업할 수 있다.
 

틸트(Tilt): 쿠버네티스 클러스터의 스트림 컨테이너 업데이트

윈드밀 엔지니어링(Windmill Engineering)에서 개발한 틸트는 도커파일(Dockerfile)의 변경을 실시간으로 모니터링한 다음 쿠버네티스 클러스터의 적절한 컨테이너에 증분적으로 이러한 변경을 배포한다. 핵심은 개발자가 도커파일을 업데이트하는 간단한 방법으로 라이브 클러스터를 실시간으로 업데이트할 수 있게 해준다는 것이다. 틸트는 클러스터 내에서 빌드를 수행하므로 소스 코드만 변경으로 푸시된다.  editor@itworld.co.kr

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.