[cloud native][platform] KubeVela
Updated:
개요
- https://kubevela.io/
- CNCF Sandbox Project
- modern application delivery platform
- 하이브리드, 멀티 클라우드 환경에서 애플리케이션을 더 쉽고 빠르게 제공하고 관리하는 플랫폼
- 주요 고객
- PaaS, 서버리스, 애플리케이션 관리/전달 시스템을 위한 플랫폼 빌더
- 어디에서나 소프트웨어를 배포해야 하는 ISV, SaaS 소유자 및 애플리케이션 설계자
- 애플리케이션 개발자, 운영자, DevOps 엔지니어
주요 기능
- https://kubevela.io/docs/
- 통합 애플리케이션 제공 모델
- OAM(Open Application Model) 도입
- https://oam.dev/
- 클라우드 네이티브 앱을 정의하기 위한 개방형 모델
- 컨테이너, 데이터베이스 또는 VM 인스턴스를 포함한 모든 워크로드 유형을 모든 클라우드 또는 Kubernetes 클러스터에 배포
- 애플리케이션을 한 번만 작성하면 모든 곳에 동일하게 전달 가능
- OAM(Open Application Model) 도입
- 의도 중심의 전달 워크플로
- Google에서 개발한 구성 언어인 CUE 사용
- 멀티 클러스터/하이브리드 클라우드 지속적 전달 컨트롤 플레인
- 멀티 클러스터/하이브리드 클라우드 시나리오 또는 혼합 환경 지원
- 지속적 전달 정책을 지원
- 통합 제어 평면 역할을 하여 CI/CD 파이프라인을 향상
- GitOps를 활용하여 IaC 스타일의 지속적 전달 프로세스를 자동화 가능
주요 흐름
- 프로젝트 생성
- 어플리케이션, 환경 및 배포 대상을 논리적으로 분리
- 클러스터 등록
- 대상 생성
- 어플리케이션을 다른 위치에 배포하기 위해 클러스터 또는 네임스페이스와 같은 배포 대상을 관리
- 프로젝트/클러스터/네임스페이스(쿠버네티스) 선택
- 환경 생성
- 생성된 대상을 바인딩
- 프로젝트/타겟(n개) 선택
- 하나의 프로젝트에서 하나의 대상은 하나의 환경에만 속할 수 있음
- environment01-target01 일 경우 environment02-target01 불가능
- 어플리케이션 생성
- 프로젝트/환경 선택
- 어플리케이션 배포
- 선택한 환경의 타겟이 여러개인 경우 각각의 타겟에 배포
멀티 테넌트
- 역할 생성
- Addon Management
- Admin
- Cluster Management
- Project Management
- Platform Role Management
- Target Management
- User Management
- 사용자 생성
- 역할 선택
- 역할 별로 메뉴 구성이 달라짐
설치
- CLI
curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.3.3
- Core
vela install
- VelaUX
vela addon enable velaux
- 노드 포트 추가
vela addon enable velaux serviceType=NodePort
- endpoint 확인
vela status addon-velaux -n vela-system --endpoint
- admin password 확인
vela logs -n vela-system --name apiserver addon-velaux | grep "initialized admin username"
업그레이드
- CLI
curl -fsSl https://kubevela.io/script/install.sh | bash -s 1.3.3
- Core
vela install -v 1.3.3 -r
- VelaUX
vela addon upgrade velaux --version v1.3.3
삭제
- vela addon disable velaux
- vela uninstall