본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

ksonnet

0

ksonnet은 Kubernetes 애플리케이션 매니페스트를 작성, 공유, 배포하는 데 사용되는 프레임워크입니다.

구성 관리매니페스트배포버전 관리

소개

ksonnet은 Kubernetes 애플리케이션 매니페스트를 작성, 공유, 배포하는 데 사용되는 프레임워크입니다. Go 언어로 개발되었으며, CLI 도구인 `ks`를 통해 사용자는 재사용 가능한 매니페스트 패턴을 생성하고, 여러 환경에 배포하며, 구성 상태를 버전 관리할 수 있습니다. 공식 홈페이지는 https://ksonnet.io이며, GitHub 저장소는 https://github.com/ksonnet/ksonnet입니다. 현재 프로젝트는 아카이브 상태이며, 추가 개발은 계획되지 않았습니다.

상세정보

매니페스트 재사용 및 생성

ksonnet은 내부 또는 외부 라이브러리에서 공통 매니페스트 패턴을 재사용할 수 있도록 지원합니다. 이를 통해 중복된 YAML 작성을 줄이고 일관된 구성을 유지할 수 있습니다.

강력한 객체 연결 syntax를 통한 커스터마이징

사용자는 객체 연결 syntax를 통해 매니페스트를 세부적으로 수정할 수 있으며, 이는 환경별 구성을 유연하게 처리하는 데 유용합니다.

다중 환경 배포 및 비교

생성된 매니페스트를 여러 환경에 배포하고, `ks diff` 명령을 통해 두 환경 간의 차이를 비교할 수 있습니다. 이를 통해 배포 전후의 구성 변화를 시각적으로 확인할 수 있습니다.

버전 관리 가능한 구성 추적

ksonnet은 애플리케이션의 전체 구성 상태를 파일 형태로 추적하므로, Git과 같은 버전 관리 시스템과 통합하여 변경 이력을 관리할 수 있습니다.

다운로드·설치 방법

ksonnet CLI인 `ks`는 세 가지 방법으로 설치할 수 있습니다. macOS에서는 Homebrew를 사용할 수 있으며, 명령어는 brew install ksonnet/tap/ks입니다. 모든 운영체제에 대해 사전 빌드된 바이너리는 GitHub 릴리스 페이지에서 다운로드할 수 있습니다. 또한 Docker 이미지를 빌드하거나 소스 코드를 직접 컴파일하여 설치하는 방법도 제공됩니다.

기본 사용법/명령어

ksonnet을 사용하려면 먼저 애플리케이션 디렉터리를 초기화해야 합니다. Kubernetes 1.8.x를 사용하는 경우 --api-spec=version:v1.8.0 플래그를 추가해야 합니다. 예시:

ks init ks-example

초기화 후, 기본 매니페스트를 생성하고 배포할 수 있습니다. 예를 들어 guestbook UI 애플리케이션을 배포하려면 다음 명령을 순서대로 실행합니다:

# 애플리케이션 디렉터리로 이동
cd ks-example

# 기본 서비스 매니페스트 자동 생성
ks generate deployed-service guestbook-ui 
  --image gcr.io/heptio-images/ks-guestbook-demo:0.1 
  --type ClusterIP

# 생성된 매니페스트를 기본 환경에 적용
ks apply default

배포 후, 서비스가 정상적으로 실행되는지 확인할 수 있습니다. 구성 변경을 위해서는 이미지 태그를 업데이트하고 다시 적용할 수 있습니다:

# 컨테이너 이미지 버전 업데이트
ks param set guestbook-ui image gcr.io/heptio-images/ks-guestbook-demo:0.2

# 변경된 매개변수 확인
ks param list

# 클러스터에 변경 사항 적용
ks apply default

더 이상 필요하지 않은 애플리케이션은 다음과 같이 삭제할 수 있습니다:

ks delete default
kubectl get svc guestbook-ui

로컬에서 매니페스트 내용을 확인하려면 ks show default 명령을 사용해 확장된 YAML 매니페스트를 볼 수 있습니다.

지원 환경·시스템 요구사항

ksonnet을 사용하기 위해서는 실행 중인 Kubernetes 클러스터에 접근할 수 있어야 하며, 지원되는 버전은 1.7(기본)과 1.8(베타)입니다. 또한 kubectl이 설치되어 있어야 하며, $KUBECONFIG 환경 변수가 유효한 kubeconfig 파일을 가리켜야 합니다.

최신 버전·업데이트

현재 버전은 0.13.1이며, 자세한 변경 내역은 GitHub 릴리스 페이지에서 확인할 수 있습니다. 공식 블로그를 통해 프로젝트가 아카이브 상태이며 향후 개발 계획이 없음을 확인할 수 있습니다.

제한 사항·확인 사항

ksonnet 프로젝트는 공식적으로 아카이브 상태이며, 추가 개발이나 지원이 계획되지 않았습니다. 이는 GitHub 저장소의 README에 명시된 바와 같이, 프로젝트 팀이 단계적으로 철수하고 있음을 의미합니다. 따라서 새로운 기능 업데이트나 버그 수정을 기대하기 어렵습니다.

FAQ

  • ksonnet은 무료로 사용할 수 있나요?

    예, ksonnet은 Apache-2.0 라이선스 하에 오픈소스로 제공되며, 무료로 사용 및 수정할 수 있습니다.

  • Windows에서 ksonnet을 사용할 수 있나요?

    ksonnet은 Go로 작성된 크로스플랫폼 CLI 도구이므로, Windows에서도 사용할 수 있습니다. 다만 공식 문서에서는 macOS 및 Linux를 중심으로 설명이 이루어지며, Windows 사용자는 사전 빌드된 바이너리를 다운로드하거나 소스에서 직접 빌드해야 합니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.