칵테일에서 제공하는 어플리케이션 관리 공간인 서비스 맵에서 디플로이먼트, 스테이트풀셋, 데몬셋, 잡, 크론잡 같은 워크로드를 생성합니다.
이 때, 워크로드를 체계적으로 관리하기 위해서 워크로드를 생성하기 이전에 워크로드 그룹을 먼저 생성한 후, 새로 만들 워크로드를 워크로드 그룹에 할당하게 됩니다. 생성된 워크로드는 워크로드가 소속된 워크로드 그룹에 따라 카드 형태로 상하 정렬되어 표시됩니다.
워크로드를 생성하고 설정하기 위해서는 다양한 항목들의 설정이 필요합니다. 칵테일 클라우드는 워크로드에 대한 복잡한 설정 사항들을 YAML에 대한 지식 없이 웹 UI에서 손쉽게 설정할 수 있습니다.
디플로이먼트 (Deployment)
스테이트풀셋 (StatefulSet)
데몬셋 (DaemonSet)
잡 (Job)
크론잡 (CronJob)
하나의 네임스페이스에서는 여러가지 유형의 워크로드들이 실행될 수 있고, 경우에 따라서는 한눈에 파악하기 힘들 정도로 많은 워크로드들이 수행될 수 있습니다.
워크로드들의 유형에 따라 워크로드 그룹들로 조직화한 후에, 워크로드 그룹에 따라 워크로드들의 상태를 표시한다면 워크로드들의 상태를 일목요연하게 파악할 수 있습니다.
개발자가 각각의 워크로드 유형에 대한 YAML이나 kubectl을 직접 다루지 않고, 웹 UI 컨솔상에서 간편하게 워크로드 설정 항목을 입력하게 함으로써, 잘못된 설정으로 인한 오류 발생을 최소화할 수 있습니다.
웹 UI 컨솔을 통해 입력하더라도 쿠버네티스에서 정의하고 있는 워크로드에 관련된 거의 모든 세부 설정 항목들을 입력할 수 있습니다.
실제 웹 UI 입력 폼을 통해 배포된 워크로드에 대한 상세 현황 정보를 YAML 형식으로도 조회가 가능합니다.
워크로드 그룹 생성
워크로드 생성
워크로드 수정
워크로드 중지/재시작/삭제
워크로드 그룹 관리
서비스 맵의 워크로드 탭 화면에서 워크로드 그룹을 생성합니다.
1) 화면 중앙부 워크로드 목록 아래에 표시된 워크로드 그룹 이름 오른쪽에 확장 메뉴(점 세개) 클릭합니다. 클릭하면 왼쪽이나 오른쪽에 그룹을 추가할 수 있는 메뉴 나옵니다. 오른쪽에 그룹 추가를 선택합니다.
2) 추가할 워크그룹의 이름을 입력할 수 있는 텍스트 입력 폼이 나타납니다. 워크그룹의 이름을 입력하고 엔터키를 누릅니다.
3) 워크그룹이 새로 추가된 것을 확인합니다.
Deployment, StatefulSet, DaemonSet, Job, CronJob 등의 워크로드를 생성합니다. 워크로드의 유형은 달라도 컨테이너 정보를 입력하는 방법은 기본적으로 동일합니다.
워크로드 생성을 시작하기 위해서는 서비스 맵의 워크로드 탭 화면의 우측 상에 표시된 "+생성" 버튼을 클릭합니다.
생성하려는 워크로드의 유형을 선택합니다. 여기서는 Deployment를 선택합니다.
워크로드의 기본정보 (유형, 이름, 그룹, 설명, 라벨, 주석), 배포 및 관리 정책 (Toleration, 배포 정책, 오토스케일링, 업데이트 정책), 컨테이너 정보 (초기화 컨테이너, 컨테이너), 스토리지 정보 (볼륨, 볼륨 마운트)를 입력후 생성 버튼을 클릭합니다.
모든 정보를 입력할 필요는 없습니다. 이름, 그룹, 설명, 한 개 이상의 컨테이너 정보를 반드시 설정해야 하지만, 나머지 정보는 필요에 따라 입력하면 됩니다.
이름, 그룹 (워크로드 그룹), 설명 정보를 입력합니다.
2.2.2.1 컨테이너 기본 정보
컨테이너 이름, 이미지 정보, CPU/Memory/GPU 자원 요청량과 제한량을 입력합니다. 컨테이너 이름과 이미지 정보는 필수 입력 정보입니다. CPU/Memory 자원 요청량과 제한량은 별도 입력하지 않는 경우 입력 화면에서 회색으로 표시되는 디폴트 값이 설정됩니다.
2.2.2.2 컨테이너 명령어 정보
컨테이너에서 실행할 명령어 및 Arguments 정보를 입력합니다.
2.2.2.3 컨테이너 환경 변수
컨테이너에서 사용할 각종 설정 정보를 설정합니다. 설정 정보에는 환경 변수, 컨피그 맵, 시크릿, 워크로드 메타데이터에 대한 필드 참조 유형이 있습니다. 컨테이너에서 사용할 컨피그 맵과 시크릿은 별도의 설정 정보 관리 화면에서 미리 생성해 두어야 합니다.
2.2.2.4 보안 설정
컨테이너에 대한 사용자 및 권한이나 Linux Capabilities를 설정합니다.
2.2.2.5 헬스 체크
컨테이너에 대한 Liveness Probe와 Readiness Probe를 설정합니다.
2.2.2.6 LifeCycle Hook
PostStart, PreStop 라이프 사이클 훅을 입력합니다.
2.2.2.7 컨테이너 포트
컨테이너 포트 정보를 입력합니다.
초기화 컨테이너 정보 입력 항목은 일반 컨테이너의 경우와 동일합니다. 실행 순서가 따를 뿐입니다.
배포, 오토스케일링, 업데이트 정책 입력부는 워크로드 생성 기본 정보 입력부 아랫부분에 위치해 있습니다. 입력 순서는 상관없고, 필요한 경우에만 해당 정보를 설정하면 됩니다
2.2.4.1 Toleration 설정
2.2.4.2 배포 정책 설정
2.2.4.3 오토 스케일링 설정
2.2.4.4 업데이트 정책
설정해 놓은 워크로드에 대한 설정을 업데이트하기 위해서는 해당 워크로드에 대한 설정 화면을 접근합니다. 여기에서는 컨테이너 이미지를 수정하는 경우의 예시를 들겠습니다. 다른 설정 항목을 변경하는 경우에도 변경된 설정 정보를 저장하고 워크로드를 재기동하는 방법은 동일합니다.
워크로드 설정 상세 조회 화면에서 이미지를 변경하고자 하는 컨테이너의 이름을 클릭하면, 이미지 설정을 변경할 수 있는 화면이 나타납니다. 컨테이너 이미지 정보를 직접 입력하거나 CI/CD 파이프라인을 통해 빌드해 놓은 이미지를 선택한 후, "적용" 버튼을 클릭합니다. 변경한 내용으로 컨테이너를 재시작하기 위해서는 워크로드 설정 상세 화면에서 다시 "저장 후 시작" 버튼을 클릭합니다.
워크로드 상세 모니터링 화면에서 컨테이너가 변경된 이미지 설정으로 재기동되는 상황을 조회합니다.
특정 워크로드를 중지하거나 재시작 혹은 삭제하기 위해서는 해당 워크로드의 배포정보 상세 조회 화면을 접근합니다.
실행중인 워크로드의 배포정보 상세 조회 화면 상단 우측의 "동작" 버튼을 클릭하면 중지하거나 재시작할 수 있는 선택 박스가 표시됩니다. 원하는 작업에 따라 "중지" 혹은 "재시작"을 선택합니다.
동작 중인 워크로드를 삭제할 경우에는 우선 워크로드의 실행을 중지하여야 합니다. 실행이 중지된 워크로드의 배포정보 상세 조회 화면 상단 우측의 "동작" 버튼을 클릭하면 시작하거나 삭제할 수 있는 선택 박스가 표시됩니다. 삭제를 선택하면 워크로드가 삭제됩니다.
서비스 맵의 워크로드 조회 메뉴를 접근하면 워크로드들이 워크로드 그룹에 따라 정렬되어 표시됩니다. 워크로드 그룹의 이름이나 배치 등의 표시 방식을 다음과 같이 변경할 수 있습니다.
그룹명 변경
컬럼수 변경
왼쪽으로 이동
오른쪽으로 이동
왼쪽에 그룹 추가
오른쪽에 그룹 추가
이를 수행하기 위해서는 워크로드 그룹 이름 오른쪽에 표시된 확장메뉴(점 세개) 클릭합니다.
워크로드 그룹을 삭제하기 위해서는 해당 워크로드 그룹 내에 어떤 워크로드도 존재해서는 안됩니다. 만일 해당 워크로드 그룹 내에 기존 워크로드가 존재했다면, 모든 워크로드를 우선 삭제해야 합니다.
워크로드 그룹을 삭제하기 위해서는 워크로드 그룹 이름 오른쪽에 표시된 확장메뉴(점 세개) 클릭합니다. 팝업에서 "그룹 삭제"가 활성화 되어 표시되는 것을 볼 수 있습니다. 이를 선택합니다.