3. 메뉴 보기

본 절에서는 ADM에서 제공하는 주요 메뉴에 대해 설명한다. 목록 조회 및 아이템 등록에 필요한 항목에 대하여 자세하게 알아본다.

3.1 대시보드

대시보드는 각 클러스터에 대한 대시보드 목록을 조회할 수 있는 팝업 메뉴로 만들어져 있다. 해당하는 클러스터 옆의 ( 아이콘을 클릭하면 대시보드 목록이 펼쳐진다.

3.1.1 대시보드 목록

[그림 3.1] 대시보드 목록

대시보드 목록

  1. 클러스터 목록

    • 클러스터 아이콘

      클러스터 아이콘은 클러스터 서비스 프로바이더에 따라 자동으로 매핑되는 이미지 아이콘이다.

    • 클러스터 ID

      클러스터 생성 시 입력한 ID이다. ID 우측의 tag (ex - Development)는 해당 클러스터의 시스템 구분을 표시한다. 클러스터 ID 아래쪽은 클러스터에 대한 간단한 설명이다.

    • 클러스터 명

      클러스터 이름이다. 한글을 포함한 다양한 입력을 지원한다.

    • 클러스터 상태

      등록한 클러스터의 상태를 표시한 항목이다.

  2. 대시보드 목록

    • 이니셜 아이콘

      대시보드 이름의 첫 글자를 따서 만든 이니셜 아이콘이다.

    • 대시보드 이름

      대시보드를 만들 때 입력한 이름이다.

    • 대시보드 설명

      해당 대시보드애 대한 설명이다.

참고

대시보드 목록 중 하나를 선택하면 해당 대시보드가 나타난다. 이때 3.34의 설정 관리의 "bxcr.common.dashboard.popup" 값에 따라 동작이 달라진다. 설정 값이 Y일 경우 새 탭에 대시보드 화면이 나타나고, N일 경우 ADM의 메인 영역에 대시보드 화면이 보인다.

[그림 3.2] 대시보드 - 새 탭에서 대시보드 (설정값 Y)

대시보드 - 새 탭에서 대시보드 (설정값 Y)

[그림 3.3] 대시보드 - ADM에서 대시보드 (설정값 N)

대시보드 - ADM에서 대시보드 (설정값 N)

3.1.2 대시보드 추가

대시보드 추가 방법은 3.2의 클러스터 메뉴에서 설명한다.

3.2 클러스터

클러스터 메뉴는 클러스터를 등록 및 관리하기 위한 메뉴이다. 클러스터는 컨테이너화된 애플리케이션을 실행하는 서버의 집합으로, 쿠버네티스 용어이다. ADM은 이러한 클러스터를 다중으로 등록하여 일괄적으로 애플리케이션을 배포할 수 있다.

참고

호스트 클러스터는 기본으로 제공되는 host 클러스터 하나만 운영된다.

추가되는 모든 클러스터는 멤버 클러스터로 운영된다.

3.2.1 클러스터 목록

[그림 3.4] 클러스터 목록

클러스터 목록

  • 클러스터 아이콘

    클러스터 아이콘은 클러스터 서비스 프로바이더에 따라 자동으로 매핑되는 이미지 아이콘이다.

  • 클러스터 ID

    클러스터 생성 시 입력한 ID이다. ID 우측의 tag (ex - Development)는 해당 클러스터의 시스템 구분을 표시한다. 클러스터 ID 아래는 클러스터에 대한 간단한 설명이다.

  • 클러스터 이름

    클러스터 생성 시 입력한 이름이다.

  • 클러스터 상태

    등록한 클러스터의 상태를 표시한 항목이다. Ready 상태의 클러스터만 정상적으로 사용할 수 있다.

  • 클러스터 서비스 프로바이더

    등록한 클러스터의 클라우드 서비스 제공업체를 확인할 수 있다.

  • 노드 개수

    클러스터가 구성하는 마스터 노드 및 워커 노드의 개수를 확인할 수 있다.

  • 쿠버네티스 버전

    클러스터에 설치된 쿠버네티스 버전을 보여준다.

  • 수정 일시

    가장 최근의 클러스터 정보를 수정한 일시를 보여준다.

  • 액션 버튼

    아이콘을 클릭하여 활성화할 수 있다. 클러스터 변경 및 삭제 기능을 수행할 수 있다.

3.2.2 클러스터 추가

클러스터 추가는 아이콘을 클릭하여 할 수 있다. 5개의 탭으로 정보를 입력 받으며 각각의 항목이 의미하는 바는 다음과 같다.

기본 설정

[그림 3.5] 클러스터 추가 - 기본 설정

클러스터 추가 - 기본 설정

  • 클러스터 ID

    고유한 클러스터 ID로 최대 63문자로 소문자 영어, 숫자, 하이픈(-)만 사용이 가능하다. 단 영숫자로 시작하여 영숫자로 끝나야 한다.

  • 클러스터 명

    클러스터 이름으로 한글 등 다양한 데이터로 입력이 가능하다.

  • 시스템 구분

    클러스터의 용도에 따라 tagging을 위한 용도이다. 개발 클러스터를 의미하는 Development, 테스트 클러스터를 의미하는 Staging, 배포 클러스터를 의미하는 Production, 총 3가지 중 하나를 선택할 수 있다.

  • 클라우드 서비스 프로바이더

    클러스터가 사용중인 클라우드 서비스 프로바이더를 의미한다.

  • 클러스터 설명

    관리자의 편의를 위하여 클러스터의 설명을 입력할 수 있다.

KUBECONFIG 설정

[그림 3.6] 클러스터 추가 - KUBECONFIG 설정

클러스터 추가 - KUBECONFIG 설정

  • KubeConfig

    쿠버네티스 API 호출을 위한 kubernetes admin user의 KubeConfig 정보를 등록한다. 입력 후, 우측 하단의 을 클릭하여 사용가능한 kubeconfig인지 검증한다.

컴포넌트 설정

[그림 3.7] 클러스트 추가 - 컴포넌트 설정

클러스트 추가 - 컴포넌트 설정

  • Integration

    클러스터에 설치된 Integration관련 컴포넌트들의 연결정보를 설정한다. 설치가 되어있지 않다면, 값을 입력하지 않아도 무방하다.

    • Grafana URL

      클러스터에 설치된 Grafana 컴포넌트 접속 정보

    • Jaeger URL

      클러스터에 설치된 Jaeger 컴포넌트 접속 정보

    • Kiali URL

      클러스터에 설치된 Kiali 컴포넌트 접속 정보

    • Kibana URL

      클러스터에 설치된 Kibana 컴포넌트 접속 정보

    • Prometheus URL

      클러스터에 설치된 Prometheus 컴포넌트 접속 정보

    • Prometheus NIC

      클러스터에 설치된 Prometheus가 사용하는 NIC 설정

    • Artifactory URL

      클러스터에 설치된 Artifactory 컴포넌트 접속 정보

컨테이너 레지스터 재정의

[그림 3.8] 클러스터 추가 - 컨테이너 레지스터 재정의

클러스터 추가 - 컨테이너 레지스터 재정의

  • Container Registry

    클러스터에서 애플리케이션을 개발하여 만든 이미지를 저장할 Container Registry 주소가 필요하다. 클러스터에 별도의 Container Registry를 사용할 경우 재정의하여 사용할 수 있다. 재정의 하지않을 경우, 설정 관리의 bxcr.common.harbor의 값을 참조하여 이미지를 저장한다.

    • Harbor URL

      재정의할 registry 접속 URL

    • Harbor Admin ID

      이미지 관련 요청 시 사용할 registry 관리자 계정

    • Harbor Admin Password

      이미지 관련 요청 시 사용할 registry 관리자 계정 비밀번호

DASHBOARD 설정

[그림 3.9] 클러스터 추가 - DASHBOARD 설정

클러스터 추가 - DASHBOARD 설정

  • Dashboard

    클러스터에서 사용할 대시보드 접속정보를 등록한다. 를 눌러서 추가할 수 있다.

[그림 3.10] 클러스터 추가 - DASHBOARD 설정 - Dashboard 추가

클러스터 추가 - DASHBOARD 설정 - Dashboard 추가

  • 대시보드 이름

    대시보드 이름으로 유니크한 ID로 사용된다.

  • 대시보드 설명

    어떠한 기능의 대시보드인지 설명을 입력할 수 있다.

  • 대시보드 URL

    Grafana에서 생성한 대시보드 suffix URL을 입력한다. 앞에서 입력한, 컴포넌트 설정의 Grafana URL과 suffix URL을 합쳐서 대시보드 주소를 완성한다.

  • 우선 순위

    대시보드 팝업 메뉴에서 조회되는 대시보드 목록의 순서를 결정한다.

  • 사용 여부

    활성화 여부에 따라 대시보드 팝업 메뉴에서 조회 여부가 결정된다. 활성화 체크가 되어 있어야 팝업 메뉴에서 조회가 가능하다.

  • 공개 여부

    활성화 여부에 따라 관리자 권한이 없는 일반 사용자의 대시보드 사용 여부가 결정된다. 활성화 체크가 되어있다면, 관리자 권한 여부와 관계없이 모든 사용자가 대시보드를 사용할 수 있다. 만약 체크가 되어있지 않다면, 관리자 권한의 사용자만 해당 대시보드를 사용할 수 있다.

3.3 워크스페이스

워크스페이스는 ADM이 관리하는 프로젝트를 구성하는 논리 단위이다. 팀 구성원을 할당하여 액세스 제어 및 정보를 공유할 수 있다.

3.3.1 워크스페이스 목록

[그림 3.11] 워크스페이스 목록

워크스페이스 목록

  • 이니셜 아이콘

    이니셜 아이콘은 워크스페이스 ID의 첫 글자를 따서 만든 아이콘이다.

  • 워크스페이스 ID

    워크스페이스 생성 시 입력한 ID이다. ID 우측의 tag 정보를 이용하여 해당 워크스페이스의 시스템을 구분한다. 워크스페이스 ID의 아래는 워크스페이스 설명이 제공된다.

  • 워크스페이스 이름

    워크스페이스 생성 시 입력한 이름이다.

  • 클러스터

    워크스페이스가 사용할 수 있는 클러스터 목록을 아이콘으로 표시한다.

  • 우선 순위

    사이드바 상단의 워크스페이스 탭을 클릭 시 조회되는 목록의 순서를 결정한다.

  • 프로젝트 개수

    워크스페이스에 생성한 프로젝트의 개수를 표시한다.

  • 수정 일시

    최근의 워크스페이스 정보를 수정한 일시를 보여준다.

  • 액션 버튼

    아이콘을 클릭하여 활성화할 수 있다. 워크스페이스 변경 및 삭제 기능을 수행할 수 있다.

3.3.2 워크스페이스 추가

워크스페이스 추가는 아이콘을 클릭하여 할 수 있다. 4개의 탭으로 정보를 입력 받으며 각각의 항목이 의미하는 바는 다음과 같다.

기본 설정

[그림 3.12] 워크스페이스 추가 - 기본 설정

워크스페이스 추가 - 기본 설정

  • 워크스페이스 ID

    고유한 워크스페이스 ID로 최대 63문자로 소문자 영어, 숫자, 하이픈(-)만 사용이 가능하다. 단 영숫자로 시작하여 영숫자로 끝나야 한다.

  • 워크스페이스 명

    워크스페이스 이름으로, 한글 등 다양한 데이터로 입력이 가능하다.

  • 시스템 구분

    워크스페이스의 용도를 구분하기 위한 tagging 정보를 선택한다. 개발 워크스페이스를 의미하는 Development, 테스트 워크스페이스를 의미하는 Staging, 배포 워크스페이스를 의미하는 Production, 총 3가지 중 하나를 선택할 수 있다.

  • 워크스페이스 설명

    관리자의 편의를 위하여 워크스페이스의 설명을 입력할 수 있다.

  • 우선 순위

    사이드바 상단의 워크스페이스 변경 팝업에서 조회되는 목록의 순서를 결정한다.

사용자 설정

[그림 3.13] 워크스페이스 추가 - 사용자 설정

워크스페이스 추가 - 사용자 설정

사용자 설정에서는 해당 워크스페이스에 접근할 수 있는 사용자를 설정할 수 있다. 아이콘을 클릭하여 사용자 검색 팝업을 띄운다.

[그림 3.14] 워크스페이스 추가 - 사용자 설정 - 사용자 검색

워크스페이스 추가 - 사용자 설정 - 사용자 검색

접근을 허용할 사용자의 체크박스를 선택하고 확인 버튼을 클릭한다. 이후 권한을 삭제 하고싶으면, 사용자 검색 팝업을 다시 띄워 체크박스를 해제한다.

릴리즈 시스템 재정의

[그림 3.15] 워크스페이스 추가 - 릴리즈 시스템 재정의

워크스페이스 추가 - 릴리즈 시스템 재정의

애플리케이션 배포(릴리즈)를 위한 시스템 연계정보를 재정의할 수 있다. 시스템 구분 중 Development를 제외한 워크스페이스는 다른 시스템에서 애플리케이션을 이관받아 배포할 수 있다. 이때 이관을 받을 시스템의 정보를 재정의 할 수 있다. 만약 재정의하지 않으면 설정 관리의 bxcr.worksapces.* 의 값들을 사용하여 릴리즈한다.

  • 릴리즈 Portal URL

    이관받을 ADM Portal의 IP:PORT를 입력한다.

  • 릴리즈 Portal Token

    이관받을 ADM Portal의 JWT Token을 입력한다.

  • 릴리즈 Harbor URL

    이관받을 컨테이너 이미지가 저장된 Harbor URL을 입력한다.

  • 릴리즈 Harbor Admin ID

    이관받을 컨테이너 이미지가 저장된 Harbor의 사용자 계정을 입력한다.

  • 릴리즈 Harbor Admin Password

    이관받을 컨테이너 이미지가 저장된 Harbor의 사용자 비밀번호를 입력한다.

가용 클러스터 설정

[그림 3.16] 워크스페이스 추가 - 가용 클러스터 설정

워크스페이스 추가 - 가용 클러스터 설정

워크스페이스에서 사용할 클러스터를 할당한다. 클러스터의 설명과 상태를 확인하여 체크박스를 선택하여 클러스터를 할당한다.

3.4 프로젝트

ADM에서 프로젝트는 쿠버네티스의 namespace와 같은 개념으로, 쿠버네티스의 리소스들을 논리적으로 격리시킬 수 있다.

3.4.1 프로젝트 목록

[그림 3.17] 프로젝트 목록

프로젝트 목록

  • 이니셜 아이콘

    이니셜 아이콘은 프로젝트 ID의 첫 글자를 따서 만든 아이콘이다.

  • 프로젝트 ID

    프로젝트 생성 시 입력한 ID이다. ID 우축의 tag 정보로 해당 프로젝트의 시스템 구분을 표시한다. 프로젝트 ID 아래는 프로젝트 설명이 제공된다.

  • 프로젝트 이름

    프로젝트 생성 시 입력한 이름이다.

  • 클러스터

    프로젝트가 사용할 수 있는 클러스터 목록을 아이콘으로 표시한다.

  • 애플리케이션 개수

    해당 프로젝트에서 생성한 애플리케이션의 개수를 보여준다.

  • 수정 일시

    최근 프로젝트 정보를 수정한 일시를 보여준다.

  • 액션 버튼

    아이콘을 클릭하여 활성화할 수 있다. 프로젝트 변경 및 삭제 기능을 수행할 수 있다.

3.4.2 프로젝트 추가

프로젝트 추가는 아이콘을 클릭하여 할 수 있다. 3개의 탭으로 정보를 입력 받으며 각각의 항목이 의미하는 바는 다음과 같다.

기본 설정

[그림 3.18] 프로젝트 추가 - 기본 설정

프로젝트 추가 - 기본 설정

  • 프로젝트 ID

    고유한 프로젝트 ID로 최대 63문자로 소문자 영어, 숫자, 하이픈(-)만 사용이 가능하다. 단 영숫자로 시작하여 영숫자로 끝나야 한다.

  • 프로젝트 명

    프로젝트 이름으로 한글 등 다양한 데이터로 입력이 가능하다.

  • 시스템 구분

    프로젝트의 용도를 구분하기 위해 필요한 tagging 정보를 보여준다. 프로젝트의 시스템 구분은 선택된 workspace의 tagging을 자동으로 따라가며 변경할 수 없다.

  • 릴리즈 참조 프로젝트 ID

    프로젝트의 시스템 구분이 Development가 아닌 나머지 두 타입 (Staging, Production)의 프로젝트에서는 애플리케이션을 이관받아 배포한다. 이때 이관받을 애플리케이션의 프로젝트 ID를 선택할 수 있다. 만약 '없음'으로 설정 할 경우, 자기 자신의 ID를 이관 받을 애플리케이션의 프로젝트 ID로 사용한다.

  • Labels

    프로젝트의 Labels는 쿠버네티스 리소스들의 Labels와 같은 기능으로, Key-Value 쌍으로 입력한다.

  • 프로젝트 설명

    관리자의 편의를 위하여 프로젝트의 설명을 입력할 수 있다.

사용자 설정

[그림 3.19] 프로젝트 추가 - 사용자 설정

프로젝트 추가 - 사용자 설정

사용자 설정에서는 해당 프로젝트에 접근할 수 있는 사용자를 설정할 수 있다. 아이콘을 클릭하여 사용자 검색 팝업을 띄운다.

[그림 3.20] 프로젝트 추가 - 사용자 검색

프로젝트 추가 - 사용자 검색

접근을 허용할 사용자의 체크박스를 선택하고 확인 버튼을 클릭한다. 이후 권한을 삭제 하고싶으면, 사용자 검색 팝업을 다시 띄워 체크박스를 해제한다.

가용 클러스터 설정

가용 클러스터 설정에서는 프로젝트가 사용할 클러스터를 지정할 수 있다. 또한, 멀티 클러스터 배포를 도와주는 federated 리소스 관리 기능을 활성화 할 수 있다.

[그림 3.21] 프로젝트 추가 - 가용 클러스터 설정

프로젝트 추가 - 가용 클러스터 설정

쿠버네티스에서는 네임스페이스의 Resource Quota와 Limit Range 기능을 사용해 CPU, 메모리 자원을 제한하여 운영할 수 있다. 사용할 클러스터를 선택하면 클러스터별 리소스 제한 설정 화면이 활성화된다.

[그림 3.22] 프로젝트 추가 - 가용 클러스터 설정 - 클러스터별 리소스 제한

프로젝트 추가 - 가용 클러스터 설정 - 클러스터별 리소스 제한

Resource Quota

[그림 3.23] 프로젝트 추가 - 가용 클러스터 설정 - 클러스터별 리소스 제한 - Resource Quota

프로젝트 추가 - 가용 클러스터 설정 - 클러스터별 리소스 제한 - Resource Quota

Resource Quota는 쿠버네티스의 Namespace 단위로 자원 사용을 제한하는 기능이다. 따라서 Resource Quota를 클러스터 가용 자원보다 초과하여 설정할 경우 Pod가 생성되지 않거나 운영중인 컨테이너가 비정상 상태로 종료될 수 있다.

  • Request

    Request는 파드 생성 시 필요한 최소 CPU 혹은 메모리 양을 의미한다. Resource Quota에서 프로젝트의 Request는 종료 상태에 있지 않는 모든 파드들의 Request 값을 합하였을 때 프로젝트의 Request를 넘지 못하는 것을 의미한다.

  • Limits

    Limits은 파드 운영 중 사용할 수 있는 최대 CPU, 혹은 메모리 양을 의미한다. Resource Quota에서 Limits은 종료 상태에 있지 않는 모든 파드들의 운영 중 자원 사용의 합이 프로젝트 Resource Quota의 Limits를 넘지 못한다.

Limit Range

[그림 3.24] 프로젝트 추가 - 가용 클러스터 설정 - 클러스터별 리소스 제한 - Limit Range

프로젝트 추가 - 가용 클러스터 설정 - 클러스터별 리소스 제한 - Limit Range

Limit Range는 컨테이너 단위로써, 생성되는 파드의 Request와 Limits을 제한할 때 사용된다. 또한 생성되는 파드의 디폴트 request와 limits을 설정할 떄 사용된다.

  • Min

    파드 생성 스펙에 기입된 자원 요청량이 Min 값보다 커야지 정상적으로 생성할 수 있다.

  • Max

    파드 생성 스펙에 기입된 자원 요청량이 Max 값보다 작아야 정상적으로 생성할 수 있다.

  • Request

    파드 생성 스펙에 별도의 Request값을 명시하지 않았다면, 여기에 정의된 값을 디폴트 값으로 사용하여 적용한다.

  • Limit

    파드 생성 스펙에 별도의 Limit값을 명시하지 않았다면, 여기에 정의된 값을 디폴트 값으로 사용하여 적용한다.

3.5 빌드팩

빌드팩은 애플리케이션을 배포하기 위한 패키지이다. BXCP ADM은 컨테이너 이미지로 만들 애플리케이션 유형과 빌드를 위한 원천 소스(소스코드, 이미지, 바이너리 등)를 가져오는 방법에 따라 구분하여 설계할 수 있다. 하나의 빌드팩은 그 내부에 버전별로 구성을 달리할 수 있다. 각 버전에는 배포할 애플리케이션의 쿠버네티스 yaml, 이미지 빌드를 위한 Dockerfile, 젠킨스 파이프라인 스크립트 그리고 파이프라인 내부에서 동작할 쉘 스크립트로 구성된다.

3.5.1 빌드팩 목록

[그림 3.25] 빌드팩 목록

빌드팩 목록

  • 이미지 아이콘

    빌드팩 생성 시 지정한 이미지 아이콘이 표시된다.

  • 빌드팩 ID

    빌드팩 생성 시 입력한 ID이다. 아래쪽엔 빌드팩 설명이 제공된다.

  • 배포 유형

    배포 유형은 애플리케이션을 빌드를 하는 방법에 따라 그 유형이 달라진다. 즉, 원천 소스를 내려받는 방식을 의미한다.

  • 애플리케이션 유형

    빌드한 컨테이너 이미지를 가지고 만들 애플리케이션 유형을 의미한다.

  • 관계기관

    빌드팩의 베이스가 되는 프레임워크 혹은 PL의 저작권자를 의미한다.

  • 버전 개수

    빌드팩 하위의 빌드팩 버전의 개수를 의미한다.

  • 우선 순위

    애플리케이션 등록 시 보여질 빌드팩의 순서를 결정한다.

  • 사용 여부

    애플리케이션 등록 시 빌드팩이 보여질지 여부를 결정한다.

  • 액션 버튼

    아이콘을 클릭하여 활성화 할 수 있다. 빌드팩 변경 및 삭제 기능을 수행할 수 있다.

3.5.2 빌드팩 추가

빌드팩 추가는 아이콘을 클릭하여 할 수 있다. 1개의 탭으로 정보를 입력 받으며 각각의 항목이 의미하는 바는 다음과 같다.

기본 설정

[그림 3.26] 빌드팩 추가 - 기본 설정

빌드팩 추가 - 기본 설정

  • 빌드팩 명

    빌드팩 풀 네임으로, ID로 역할한다.

  • 애플리케이션 유형

    빌드한 컨테이너 이미지를 가지고 만들 애플리케이션 유형을 의미한다.

  • 배포 유형

    배포 유형은 애플리케이션을 빌드를 하는 방법에 따라 그 유형이 달라진다. 즉, 원천 소스를 내려받는 방식을 의미한다.

  • 아이콘

    빌드팩 관계 기관을 의미하는 이미지 아이콘을 지정할 수 있다.

  • 관계기관

    빌드팩의 베이스가 되는 프레임워크 혹은 PL의 저작권자를 의미한다.

  • 빌드팩 설명

    관리자의 편의를 위하여 빌드팩의 설명을 입력할 수 있다.

  • 우선 순위

    애플리케이션 등록 시 보여질 빌드팩의 순서를 결정한다.

  • 사용 여부

    애플리케이션 등록 시 빌드팩이 보일지 여부를 결정한다.

버전 정보

빌드팩 버전 추가는 추가한 빌드팩의 변경을 통해 등록할 수 있다. 따라서 추가한 빌드팩을 클릭하거나 액션 버튼을 눌러 빌드팩 변경을 클릭한다. 이때 빌드팩 조회/변경 팝업이 뜨며, 버전 정보탭이 활성화되어 있다. 아이콘을 클릭하여 버전을 등록한다.

[그림 3.27] 빌드팩 추가 - 버전 정보

빌드팩 추가 - 버전 정보

3.5.3 빌드팩 버전 등록

빌드팩 버전 등록은 5개의 탭으로 정보를 입력 받으며 각각의 항목이 의미하는 바는 다음과 같다.

기본 설정

[그림 3.28] 빌드팩 추가 - 버전 정보 - 기본 설정

빌드팩 추가 - 버전 정보 - 기본 설정

  • 버전

    빌드팩 버전의 버전 정보이다. 자동으로 채워진다.

  • 설명

    해당 버전에 대한 설명을 부여할 수 있다.

도커파일

[그림 3.29] 빌드팩 추가 - 버전 정보 - 도커파일

빌드팩 추가 - 버전 정보 - 도커파일

컨테이너 이미지 빌드에 필요한 Dockerfile을 정의한다. 배포하려는 애플리케이션에 맞게 수정해야 한다.

CI/CD 파이프라인

[그림 3.30] 빌드팩 추가 - 버전 정보 - CI/CD 파이프라인

빌드팩 추가 - 버전 정보 - CI/CD 파이프라인

애플리케이션에 적합한 파이프라인 스크립트를 수정해아 한다.

쿠버네티스 리소스

[그림 3.31] 빌드팩 추가 - 버전 정보 - 쿠버네티스 리소스

빌드팩 추가 - 버전 정보 - 쿠버네티스 리소스

애플리케이션에 적합한 쿠버네티스 리소스로 수정해야 한다.

쉘스크립트

[그림 3.32] 빌드팩 추가 - 버전 정보 - 쉘스크립트

빌드팩 추가 - 버전 정보 - 쉘스크립트

파이프라인이 동작하며 사용할 쉘 스크립트를 수정해야 한다.

3.6 시스템 컴포넌트

시스템 컴포넌트 화면은 헬름 관리 메뉴에서 등록한 헬름 차트를 기준으로 시스템 운영에 필요한 컴포넌트를 설치하기 위한 메뉴이다.

3.6.1 시스템 컴포넌트 목록

[그림 3.33] 시스템 컴포넌트 목록

시스템 컴포넌트 목록

  • 이니셜 아이콘

    이니셜 아이콘은 시스템 컴포넌트 ID의 첫 글자를 따서 만든 아이콘이다.

  • 시스템 컴포넌트 ID

    시스템 컴포넌트 생성 시 입력한 ID이다. ID 아래쪽엔 시스템 컴포넌트 설명이 제공된다.

  • 클러스터

    시스템 컴포넌트가 배포된 클러스터의 클라우드 서비스 프로바이더 아이콘과 이름을 확인할 수 있다.

  • 네임스페이스

    시스템 컴포넌트가 배포된 쿠버네티스 네임스페이스를 확인할 수 있다.

  • 헬름 차트

    시스템 컴포넌트를 배포시 사용한 헬름 차트의 이름과 버전을 확인할 수 있다.

  • Phase

    시스템 컴포넌트의 설치, 업데이트 또는 삭제와 같은 작업의 진행 상태를 나타낸다. 이 값은 operator가 해당 작업을 수행할 때 변경되며, 작업의 성공 여부에 따라 다양한 값을 가질 수 있다. 예를 들어, 설치 작업의 경우, 이 값은 "Pending", "Running", "Succeeded", "Failed" 중 하나가 될 수 있다.

  • Status

    시스템 컴포넌트의 현재 상태를 나타낸다. 이 값은 시스템 컴포넌트 자체의 상태와 관련이 있다. 이 값은 operator가 시스템 컴포넌트를 설치, 업데이트 또는 삭제할 때마다 업데이트된다.

  • Age

    시스템 컴포넌트가 배포시점부터 현재까지 시간 간격을 알 수 있다.

  • 액션 버튼

    아이콘을 클릭하여 활성화할 수 있다. 시스템 컴포넌트 변경 및 삭제 기능을 수행할 수 있다.

3.6.2 시스템 컴포넌트 추가

헬름 관리 화면에서 이미 헬름 차트를 추가했다는 가정하에 시스템 컴포넌트에서 아이콘을 클릭하면 신규 컴포넌트를 추가할 수 있다.

  1. 헬름 차트 선택

    [그림 3.34] 시스템 컴포넌트 추가 - 헬름 리스트

    시스템 컴포넌트 추가 - 헬름 리스트

    헬름 차트를 선택하면 헬름 차트에 들어있는 요약 정보와 Values 값을 확인할 수 있다. 아래와 같이 SUMMARY, VALUES 탭에서 내용을 확인할 수 있다. 설치 버튼을 클릭하면 시스템 컴포넌트 설정 팝업으로 전환된다.

    [그림 3.35] 시스템 컴포넌트 추가 - 헬름 리스트 - SUMMARY

    시스템 컴포넌트 추가 - 헬름 리스트 - SUMMARY


    [그림 3.36] 시스템 컴포넌트 추가 - 헬름 리스트 - VALUES

    시스템 컴포넌트 추가 - 헬름 리스트 - VALUES


  2. 시스템 컴포넌트 설정

    시스템 컴포넌트 설정은 2개의 탭으로 정보를 입력 받으며 각각의 항목이 의미하는 바는 다음과 같다.

    기본 설정

    [그림 3.37] 시스템 컴포넌트 설정 - 기본 설정

    시스템 컴포넌트 설정 - 기본 설정

    • 컴포넌트 ID

      헬름 차트에서 생성되는 쿠버네티스 리소스에 이름에 사용된다.

    • 컴포넌트 명

      설치하는 컴포넌트에 이름으로, 식별을 용이하게 하는 용도이다.

    • 클러스터

      설치할 컴포넌트를 어느 클러스터에 설치할 지 정할수 있다.

    • 네임스페이스

      지정한 클러스터 기준으로 설치할 네임스페이스를 선택할 수 있다.

    • 컴포넌트 설명

      설치하는 컴포넌트에 대한 설명이다.

    기본 설정

    [그림 3.38] 시스템 컴포넌트 설정 - VALUES

    시스템 컴포넌트 설정 - VALUES

    VALUES는 헬름 차트에서 사용되는 설정 값들을 저장하는 YAML 파일이다. 이 파일은 사용자가 Helm 차트를 설치할 때 제공할 수 있는 다양한 구성 옵션을 포함한다. VALUES 탭에서 필요에 따라 옵션을 변경하여 배포할 수 있다.

3.7 워크로드 리소스 - 요약 정보

워크로드 리소스의 요약 정보 화면은 선택한 쿠버네티스 클러스터의 정보를 한 눈에 파악할 수 있는 메뉴이다. 상단 영역은 선택한 클러스터에 전체 노드의 CPU, MEMORY, DISK, POD 정보를 보여주고, 하단 영역은 선택한 클러스터에 배포된 쿠버네티스 리소스에 대한 갯수와 상태 정보를 보여준다.

[그림 3.39] 워크로드 리소스 - 요약 정보

워크로드 리소스 - 요약 정보

3.7.1 클러스터 선택

아래의 그림은 화면 상단에 위치한 콤보 박스로 항목을 선택하여 원하는 클러스터를 선택할 수 있다.

[그림 3.40] 워크로드 리소스 - 요약 정보 - 클러스터 선택

워크로드 리소스 - 요약 정보 - 클러스터 선택

3.7.2 클러스터 정보 및 방사형 그래프

아래 그림은 선택된 클러스터의 간단한 정보와 전체 노드의 사용률을 방사형 그래프로 한 눈에 파악할 수 있는 화면이다. 아래 그림의 왼쪽 상단에는 쿠버네티스 클러스터의 간단한 정보가 나타나 있다.

[그림 3.41] 워크로드 리소스 - 요약 정보 - 클러스터 정보 및 방사형 그래프

워크로드 리소스 - 요약 정보 - 클러스터 정보 및 방사형 그래프

  • 클러스터 아이콘

    선택된 클러스터의 클라우드 서비스 프로바이더를 나타내는 아이콘이다.

  • 클러스터 명

    선택된 클러스터의 이름이다. 그림에서는 host라는 이름의 클러스터 정보를 보여준다.

  • 클러스터 설명

    선택된 클러스터의 용도와 같은 간단한 설명을 보여준다.

  • 클러스터 버전

    선택된 클러스터의 쿠버네티스 버전이다.

  • 클러스터 프로바이더

    선택된 클러스터가 설치된 클라우드 서비스 프로바이더를 알 수 있다.

3.7.3 노드 사용 정보

방사형 그래프는 전체 노드의 CPU, MEMORY, DISK, POD의 사용률을 하나의 그래프로 보여준다. 그래프에 마우스를 대면 정확한 사용률을 확인할 수 있다.

아래의 그림은 선택된 클러스터에 전체 노드의 사용량을 파악할 수 있는 화면이다.

[그림 3.42] 워크로드 리소스 - 요약 정보 - 노드 사용 정보

워크로드 리소스 - 요약 정보 - 노드 사용 정보

그림은 위에서부터 순서대로 CPU, MEMORY, POD, DISK의 사용 정보를 보여준다. 각각 왼쪽에서부터 사용률, 사용량, 전체 용량을 보여준다. 사용률은 (사용량 / 전체 용량) *100 을 한 결과이다.

3.7.4 쿠버네티스 리소스 정보

아래의 그림은 선택된 클러스터의 배포된 쿠버네티스 리소스에 대한 갯수와 상태 정보를 보여준다.

[그림 3.43] 워크로드 리소스 - 요약 정보 - 쿠버네티스 리소스 정보

워크로드 리소스 - 요약 정보 - 쿠버네티스 리소스 정보

그림의 상단에는 해당하는 쿠버네티스 리소스의 전체 갯수를 보여준다. 아래의 그래프는 리소스의 상태 정보에 대한 비율을 그래프로 보여준다. 그래프 하단에는 리소스의 상태 정보와 그에 따른 리소스 갯수를 보여준다. 해당 화면에서는 쿠버네티스 리소스 Pod, ReplicaSet, StatefulSet, DaemonSet, Job의 정보가 보여진다. 선택된 클러스터에 해당하는 리소스가 부재 시 화면에 표시되지 않는다.

3.8 파드

파드는 쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위이다. 파드 리소스는 하나 이상의 컨테이너에 그룹이며, 이 그룹에 포함되는 컨테이너들은 스토리지, 네트워크 등을 공유할 수 있다.

3.8.1 파드 목록

[그림 3.44] 파드 목록

파드 목록

  • Name

    파드 리소스에 이름이다. 이 값은 파드를 직접 배포하는 경우가 아니라면 쿠버네티스에서 해시 값을 추가로 설정하는 값이다.

  • Namespace

    파드 리소스에 네임스페이스이다.

  • Labels

    파드 리소스에 설정된 레이블 정보를 보여준다. 보여줄 레이블 정보가 많으면 자동으로 생략이 되며, more 와 less 버튼을 통해서 레이블을 확장, 축소할 수 있다.

  • Status

    파드 리소스의 상태를 나타낸다.

  • Ready

    Ready 상태를 가지는 컨테이너 갯수를 표시하고 있다.

  • Restarts

    파드 리소스가 재시작을 시도한 횟수를 표시한다.

  • Owner

    파드 리소스의 소유자를 나타내는 항목인데, 파드 리소스 스펙에 ownerReferences 속성이 설정된 파드만 표시된다. 주로 표시되는 리소스 유형은(Kind) 레플리카셋, 데몬셋, 스테이트풀셋이 있다.

  • Node

    파드가 스케줄 된 노드를 나타낸다.

  • Age

    파드 리소스가 가장 작은 컴퓨팅 단위이기 때문에 Age 항목은 리눅스 uptime 결과로 보면 된다. 즉 파드 환경이 생성된 이후 현재까지의 경과 시간을 나타낸다.

3.8.2 파드 생성

파드는 버튼을 클릭해서 새로 생성할 수 있다.

아래 그림은 파드를 생성하기 위한 팝업 화면이다. 스펙을 입력할 수 있는 팝업창이 열리게 된다. 기본적인 템플릿이 제공 되는 것을 알 수 있으며 사용자의 편의를 위해 버튼을 제공한다.

[그림 3.45] 파드 생성

파드 생성

3.8.3 파드 상세

파드 목록에서 1개의 행을 클릭하면 파드 리소스의 상세 정보를 열람할 수 있는 팝업이 열린다.

Details

파드 리소스 스펙에서 사용자가 참고해야 하는 주요 속성을 선정하여 표현한 탭이다.

[그림 3.46] 파드 - Details

파드 - Details

YAML

파드 리소스 스펙을 yaml 포맷으로 제공하는 탭이다. 이 탭에서 스펙의 수정, 다운로드, 새로고침 등에 기능을 제공하고 있다. 아래 그림은 파드 리소스 스펙을 yaml 포맷으로 제공하는 탭을 볼 수 있다.

[그림 3.47] 파드 - YAML

파드 - YAML

Log

파드 리소스에는 컨테이너가 하나 이상 동작하고 있다. Log 탭에서는 컨테이너에 대한 로그를 스트리밍 방식으로 열람할 수 있다.

[그림 3.48] 파드 - Log

파드 - Log

Events

Events는 해당 파드에 대한 이벤트를 스트리밍 방식으로 열람할 수 있는 탭이다.

[그림 3.49] 파드 - Events

파드 - Events

Terminal

Terminal은 터미널 환경에서 쿠버네티스 파드 컨테이너로 접속하는 탭이다.

[그림 3.50] 파드 - Terminal

파드 - Terminal

Metrics

Metrics는 파드 리소스에 대한 다양한 메트릭 정보를 사용자에게 제공하는 탭이다.

[그림 3.51] 파드 - Metrics

파드 - Metrics

3.9 디플로이먼트

디플로이먼트는 애플리케이션 배포의 기본 단위가 되는 리소스이다. 주로 MSA 환경에서 많이 사용하는 리소스이다. 주로 배포 처리 시 해당 애플리케이션이 의존성이 낮은 유형에서 많이 사용된다. 즉 배포하는 시점이나 다른 리소스에 대한 의존성이 낮을 때 사용된다.

3.9.1 디플로이먼트 목록

[그림 3.52] 디플로이먼트 목록

디플로이먼트 목록

  • Name

    디플로이먼트 리소스에 이름이다.

  • Namespace

    디플로이먼트 리소스에 네임스페이스이다.

  • Ready

    디플로이먼트 리소스에 의해서 생성된 레플리카셋 리소스의 Ready 상태 갯수이다.

  • Labels

    디플로이먼트 리소스에 설정된 레이블이다.

  • Pod Selector

    디플로이먼트가 관리하는 파드 리소스를 찾기 위한 셀렉터이다.

  • Age

    디플로이먼트 리소스가 생성된 이후 현재까지의 경과 시간을 나타낸다.

3.9.2 디플로이먼트 생성

디플로이먼트는 버튼을 클릭해서 새로 생성할 수 있다.

아래 그림은 디플로이먼트를 생성하기 위한 팝업 화면이다. 스펙을 입력할 수 있는 팝업창이 열리게 된다. 기본적인 템플릿은 제공 되는 것을 알 수 있으며 사용자의 편의를 위해 버튼을 제공한다.

[그림 3.53] 디플로이먼트 생성

디플로이먼트 생성

3.9.3 디플로이먼트 상세

디플로이먼트 목록에서 1개의 행을 클릭하면 디플로이먼트 리소스의 상세 정보를 열람할 수 있는 팝업이 열린다.

Details

디플로이먼트 리소스 스펙에서 사용자가 참고해야 하는 주요 속성을 선정하여 표현한 탭이다. 디플로이먼트 리소스는 레플리카셋, 파드 리소스를 만들기 때문에 Details 탭에서는 파드 갯수를 조정하는 버튼이 있다.

[그림 3.54] 디플로이먼트 - Details

디플로이먼트 - Details

YAML

디플로이먼트 리소스 스펙을 yaml 포맷으로 제공하는 탭이다. 이 탭에서 스펙의 수정, 다운로드, 새로 고침 등에 기능을 제공하고 있다.

[그림 3.55] 디플로이먼트 - YAML

디플로이먼트 - YAML

Replica Sets

Replica Sets 탭은 디플로이먼트 리소스가 생성하는 레플리카셋 리소스를 열람할 수 있는 탭 화면이다. 조회된 레플리카셋을 클릭하면 레플리카셋 팝업을 열어서 리소스의 상세 현황을 열람할 수 있다.

[그림 3.56] 디플로이먼트 - Replica Sets

디플로이먼트 - Replica Sets

Pods

Pods 탭 화면은 디플로이먼트 리소스가 생성하는 파드 리소스를 열람하는 탭 화면이다. 조회된 파드를 클릭하면 파드 팝업을 열어서 리소스의 상세 현황을 열람할 수 있다.

[그림 3.57] 디플로이먼트 - Pods

디플로이먼트 - Pods

Events

Events는 해당 디플로이먼트에 대한 이벤트를 스트리밍 방식으로 열람할 수 있는 탭이다.

[그림 3.58] 디플로이먼트 - Events

디플로이먼트 - Events

Metrics

Metrics는 디플로이먼트에 대한 다양한 메트릭 정보를 사용자에게 제공하는 탭이다.

[그림 3.59] 디플로이먼트 - Metrics

디플로이먼트 - Metrics

3.10 레플리카셋

레플리카셋은 같은 스펙을 갖는 파드를 여러개 생성하고 관리하는 역활을 한다. 일반적으로 직접 생성하는 성격의 리소스가 아니다. 주로 디플로이먼트 리소스를 생성하여 쿠버네티스에 의해서 만들어지는 형태이다.

3.10.1 레플리카셋 목록

[그림 3.60] 레플리카셋 목록

레플리카셋 목록

  • Name

    레플리카셋 리소스의 이름이다.

  • Namespace

    레플리카셋 리소스의 네임스페이스이다.

  • Ready

    레플리카셋 리소스에 의해서 생성된 파드 리소스의 Ready 상태 갯수이다.

  • Labels

    레플리카셋 리소스의 레이블이다.

  • Owner

    레플리카셋 리소스의 소유자를 나타내는 항목이다. 레플리카셋 리소스 스펙에 ownerReferences 속성이 설정된 리소스는 표시된다.

  • Age

    레플리카셋 리소스가 생성된 이후 현재까지의 경과 시간을 나타낸다.

3.10.2 레플리카셋 생성

레플리카셋은 버튼을 클릭해서 새로 생성할 수 있다.

아래 그림은 레플리카셋을 생성하기 위한 팝업 화면이다. 스펙을 입력할 수 있는 팝업창이 열리게 된다. 기본적인 템플릿은 제공 되는 것을 알 수 있으며 사용자의 편의를 위해 버튼을 제공한다.

[그림 3.61] 레플리카셋 생성

레플리카셋 생성

3.10.3 레플리카셋 상세

레플리카셋 목록에서 1개의 행을 클릭하면 레플리카셋 리소스의 상세 정보를 열람할 수 있는 팝업이 열린다.

Details

레플리카셋 리소스 스펙에서 사용자가 참고해야 하는 주요 속성을 선정하여 표현한 탭이다. 레플리카셋 리소스는 파드 리소스를 관리하는 소유자이다. 그래서 파드 리소스 갯수를 조정하는 버튼이 제공되는 것을 알 수 있다.

[그림 3.62] 레플리카셋 - Details

레플리카셋 - Details

YAML

레플리카셋 리소스 스펙을 yaml 포맷으로 제공하는 탭이다. 이 탭에서 스펙의 수정, 다운로드, 새로고침 등에 기능을 제공하고 있다.

[그림 3.63] 레플리카셋 - YAML

레플리카셋 - YAML

Pods

Pods 탭 화면은 레플리카셋 리소스가 생성하는 파드 리소스를 열람하는 탭 화면이다. 조회된 파드를 클릭하면 파드 팝업을 열어서 리소스의 상세 현황을 열람할 수 있다.

[그림 3.64] 레플리카셋 - Pods

레플리카셋 - Pods

Events

Events는 해당 레플리카셋에 대한 이벤트를 스트리밍 방식으로 열람할 수 있는 탭이다.

[그림 3.65] 레플리카셋 - Events

레플리카셋 - Events

Metrics

Metrics는 레플리카셋 리소스에 대한 다양한 메트릭 정보를 사용자에게 제공하는 탭이다.

[그림 3.66] 레플리카셋 - Metrics

레플리카셋 - Metrics

3.11 스테이트풀셋

스테이트풀셋은 애플리케이션의 상태를 관리할 때 사용되는 워크로드 리소스이다. 스케일링을 관리하며, 파드들의 순서 및 고유성을 보장한다. 디플로이먼트와 유사하게, 스테이트풀셋은 동일한 컨테이너 스펙을 기반으로 둔 파드들을 관리한다. 하지만 디플로이먼트와는 다르게, 스테이트풀셋은 각 파드의 독자성을 유지한다. 이 파드들은 동일한 스펙으로 생성되었지만, 서로 교체는 불가능하다. 즉, 각각은 재스케줄링 간에도 지속적으로 유지되는 식별자를 가진다.

3.11.1 스테이트풀셋 목록

[그림 3.67] 스테이트풀셋 목록

스테이트풀셋 목록

  • Name

    스테이트풀셋 리소스의 이름이다.

  • Namespace

    스테이트풀셋 리소스의 네임스페이스이다.

  • Ready

    Ready 상태인 레플리카셋의 갯수이다.

  • Labels

    스테이트풀셋 리소스의 레이블이다.

  • Pod Selector

    스테이트풀셋이 관리하는 파드 리소스를 찾기 위한 셀렉터이다.

  • Age

    스테이트풀셋 리소스가 생성된 이후 현재까지의 경과 시간을 나타낸다.

3.11.2 스테이트풀셋 생성

스테이트풀셋은 버튼을 클릭해서 새로 생성할 수 있다.

아래 그림은 스테이트풀셋을 생성하기 위한 팝업 화면이다. 스펙을 입력할 수 있는 팝업창이 열리게 된다. 기본적인 템플릿은 제공 되는 것을 알 수 있으며 사용자의 편의를 위해 버튼을 제공한다.

[그림 3.68] 스테이트풀셋 생성

스테이트풀셋 생성

3.11.3 스테이트풀셋 상세

스테이트풀셋 목록에서 1개의 행을 클릭하면 스테이트풀셋 리소스의 상세 정보를 열람할 수 있는 팝업이 열린다.

Details

스테이트풀셋 리소스 스펙에서 사용자가 참고해야 하는 주요 속성을 선정하여 표현한 탭이다. 스테이트풀셋 리소스는 파드 리소스를 관리하는 소유자이다. 그래서 파드 리소스 갯수를 조정하는 버튼이 제공되는 것을 알 수 있다.

[그림 3.69] 스테이트풀셋 - Details

스테이트풀셋 - Details

YAML

스테이트풀셋 리소스 스펙을 yaml 포맷으로 제공하는 탭이다. 이 탭에서 스펙의 수정, 다운로드, 새로고침 등에 기능을 제공하고 있다.

[그림 3.70] 스테이트풀셋 - YAML

스테이트풀셋 - YAML

Pods

Pods 탭 화면은 스테이트풀셋 리소스가 생성하는 파드 리소스를 열람하는 탭 화면이다. 조회된 파드를 클릭하면 파드 팝업을 열어서 리소스의 상세 현황을 열람할 수 있다.

[그림 3.71] 스테이트풀셋 - Pods

스테이트풀셋 - Pods

Events

Events는 해당 스테이트풀셋에 대한 이벤트를 스트리밍 방식으로 열람할 수 있는 탭이다.

[그림 3.72] 스테이트풀셋 - Events

스테이트풀셋 - Events

Metrics

Metrics는 스테이트풀셋 리소스에 대한 다양한 메트릭 정보를 사용자에게 제공하는 탭이다.

[그림 3.73] 스테이트풀셋 - Metrics

스테이트풀셋 - Metrics

3.12 데몬셋

데몬셋은 모든(또는 일부) 노드가 파드의 사본을 실행하도록 한다. 노드가 클러스터에 추가되면 파드도 추가된다. 노드가 클러스터에서 제거되면 해당 파드는 가비지(garbage)로 수집된다.

3.12.1 데몬셋 목록

[그림 3.74] 데몬셋 목록

데몬셋 목록

  • Name

    데몬셋 리소스의 이름이다.

  • Namespace

    데몬셋 리소스의 네임스페이스이다.

  • Ready

    Ready 상태인 레플리카셋의 갯수이다.

  • Labels

    데몬셋 리소스의 레이블이다.

  • Pod Selector

    데몬셋이 관리하는 파드 리소스를 찾기 위한 셀렉터이다.

  • Age

    데몬셋 리소스가 생성된 이후 현재까지의 경과 시간을 나타낸다.

3.12.2 데몬셋 생성

데몬셋은 버튼을 클릭해서 새로 생성할 수 있다.

아래 그림은 데몬셋을 생성하기 위한 팝업 화면이다. 스펙을 입력할 수 있는 팝업창이 열리게 된다. 기본적인 템플릿이 제공 되는 것을 알 수 있으며 사용자의 편의를 위해 버튼을 제공한다.

[그림 3.75] 데몬셋 생성

데몬셋 생성

3.12.3 데몬셋 상세

데몬셋 목록에서 1개의 행을 클릭하면 데몬셋 리소스의 상세 정보를 열람할 수 있는 팝업이 열린다.

Details

데몬셋 리소스 스펙에서 사용자가 참고해야 하는 주요 속성을 선정하여 표현한 탭이다. 데몬셋은 노드 당 1개 파드가 스케줄 되는 특성이 있기 때문에 앞에서 살펴봤던 디플로이먼트나 스테이트풀셋 리소스와는 다르게 파드 갯수 조정을 할 수 없다.

[그림 3.76] 데몬셋 - Details

데몬셋 - Details

YAML

데몬셋 리소스 스펙을 yaml 포맷으로 제공하는 탭이다. 이 탭에서 스펙의 수정, 다운로드, 새로고침 등에 기능을 제공하고 있다.

[그림 3.77] 데몬셋 - YAML

데몬셋 - YAML

Pods

Pods 탭 화면은 데몬셋 리소스가 생성하는 파드 리소스를 열람하는 탭 화면이다. 조회된 파드를 클릭하면 파드 팝업을 열어서 리소스의 상세 현황을 열람할 수 있다.

[그림 3.78] 데몬셋 - Pods

데몬셋 - Pods

Events

Events는 해당 데몬셋에 대한 이벤트를 스트리밍 방식으로 열람할 수 있는 탭이다.

[그림 3.79] 데몬셋 - Events

데몬셋 - Events

Metrics

Metrics는 데몬셋 리소스에 대한 다양한 메트릭 정보를 사용자에게 제공하는 탭이다.

[그림 3.80] 데몬셋 - Metrics

데몬셋 - Metrics

3.13 잡

잡은 하나 이상의 파드를 생성하고 지정된 수의 파드가 성공적으로 종료될 때까지 계속해서 파드의 실행을 재시도 하는 리소스이다. 잡에 의해서 생성된 파드가 성공적으로 완료되면, 잡 리소스는 성공적으로 완료된 상태가 된다. 잡을 삭제하면 잡이 생성한 파드가 정리되며, 작업을 일시 중지하면 작업이 다시 재개될 때까지 파드는 삭제된다. 잡은 원하는 작업을 수행하는 파드를 여러 파드로 나누어 병렬로 실행할 수 있다.

3.13.1 잡 목록

[그림 3.81] 잡 목록

잡 목록

  • Name

    잡 리소스의 이름이다.

  • Labels

    잡 리소스의 레이블이다.

  • Status

    잡 리소스의 상태를 표현한다 Active(실행 중), Succeeded(성공), Failed(실패)로 구분해서 보여준다.

  • Duration

    잡 리소스가 파드를 실행한 경과 시간이다.

  • Start Time

    잡 리소스가 생성한 파드가 실행을 시작한 시간이다.

  • Completion Time

    잡 리소스가 생성한 파드가 실행을 하고 정상적으로 종료된 시간이다.

  • Age

    잡 리소스가 생성된 이후 현재까지의 경과 시간을 나타낸다.

3.13.2 잡 생성

잡은 버튼을 클릭해서 새로 생성할 수 있다.

아래 그림은 잡을 생성하기 위한 팝업 화면이다. 스펙을 입력할 수 있는 팝업창이 열리게 된다. 기본적인 템플릿이 제공 되는 것을 알 수 있으며 사용자의 편의를 위해 버튼을 제공한다.

[그림 3.82] 잡 생성

잡 생성

3.13.3 잡 상세

잡 목록에서 1개의 행을 클릭하면 잡 리소스의 상세 정보를 열람할 수 있는 팝업이 열린다.

YAML

잡 리소스 스펙을 yaml 포맷으로 제공하는 탭이다. 이 탭에서 스펙의 수정, 다운로드, 새로고침 등에 기능을 제공하고 있다.

[그림 3.83] 잡 - YAML

잡 - YAML

Pods

Pods 탭 화면은 잡 리소스가 생성하는 파드 리소스를 열람하는 탭 화면이다. 조회된 파드를 클릭하면 파드 팝업을 열어서 리소스의 상세 현황을 열람할 수 있다.

[그림 3.84] 잡 - Pods

잡 - Pods

Events

Events는 해당 잡에 대한 이벤트를 스트리밍 방식으로 열람할 수 있는 탭이다.

[그림 3.85] 잡 - Events

잡 - Events

3.14 서비스

서비스는 파드 집합에서 실행 중인 애플리케이션을 네트워크 서비스로 노출하는 추상화 리소스이다. 쿠버네티스는 파드에게 고유한 IP 주소와 파드 집합에 대한 단일 DNS 명을 부여하고, 그것들 간에 로드밸런스를 수행할 수 있다.

3.14.1 서비스 목록

[그림 3.86] 서비스 목록

서비스 목록

  • Name

    서비스 리소스의 이름이다.

  • Namespace

    서비스 리소스의 네임스페이스이다.

  • Labels

    서비스 리소스의 레이블이다.

  • Pod Selector

    서비스 리소스가 관리할 파드를 찾기 위한 셀렉터이다.

  • Location

    서비스 리소스의 cluster ip를(가상) 의미한다.

  • Age

    서비스 리소스가 생성된 이후 현재까지의 경과 시간을 나타낸다.

3.14.2 서비스 생성

서비스는 버튼을 클릭해서 새로 생성할 수 있다.

아래 그림은 서비스를 생성하기 위한 팝업 화면이다. 스펙을 입력할 수 있는 팝업창이 열리게 된다. 기본적인 템플릿이 제공 되는 것을 알 수 있으며 사용자의 편의를 위해 버튼을 제공한다.

[그림 3.87] 서비스 생성

서비스 생성

3.14.3 서비스 상세

서비스 목록에서 1개의 행을 클릭하면 서비스 리소스의 상세 정보를 열람할 수 있는 팝업이 열린다.

Details

서비스 리소스 스펙에서 사용자가 참고해야 하는 주요 속성을 선정하여 표현한 탭이다. 서비스의 핵심 역할은 파드 리소스에 요청을 연결하기 위한 서비스 디스커버리 역할을 한다.

[그림 3.88] 서비스 - Details

서비스 - Details

YAML

서비스 리소스 스펙을 yaml 포맷으로 제공하는 탭이다. 이 탭에서 스펙의 수정, 다운로드, 새로고침 등에 기능을 제공하고 있다.

[그림 3.89] 서비스 - YAML

서비스 - YAML

Pods

Pods 탭 화면은 서비스 리소스가 받은 트래픽을 전달하기 위한 파드 리소스를 열람하는 탭 화면이다. 조회된 파드를 클릭하면 파드 팝업을 열어서 리소스의 상세 현황을 열람할 수 있다.

[그림 3.90] 서비스 - Pods

서비스 - Pods

Events

Events는 해당 서비스에 대한 이벤트를 스트리밍 방식으로 열람할 수 있는 탭이다.

3.15 스토리지 클래스

스토리지 클래스는 쿠버네티스에서 볼륨을 제공하는 방법을 알고 있는 리소스이다. 쿠버네티스 퍼시스턴트볼륨 리소스를 동적으로 배분해주는 처리를 한다.

3.15.1 스토리지 클래스 목록

[그림 3.91] 스토리지 클래스 목록

스토리지 클래스 목록

  • Name

    스토리지 클래스 리소스의 이름이다.

  • Provisioner

    스토리지 클래스 리소스의 프로비즈너이다.

  • Labels

    스토리지 클래스 리소스의 레이블이다.

  • Is Default

    스토리지 클래스를 지정하지 않았을 때 기본으로 사용하는지 여부이다.

  • Reclaim Policy

    스토리지를 재요청 정책을 의미한다.

  • Age

    스토리지 클래스 리소스가 생성된 이후 현재까지의 경과 시간을 나타낸다.

3.15.2 스토리지 클래스 생성

스토리지 클래스는 버튼을 클릭해서 새로 생성할 수 있다.

아래 그림은 스토리지 클래스를 생성하기 위한 팝업 화면이다. 스펙을 입력할 수 있는 팝업창이 열리게 된다. 기본적인 템플릿은 제공 되는 것을 알 수 있으며 사용자의 편의를 위해 버튼을 제공한다.

[그림 3.92] 스토리지 클래스 생성

스토리지 클래스 생성

3.15.3 스토리지 클래스 상세

스토리지 클래스 목록에서 1개의 행을 클릭하면 스토리지 클래스 리소스의 상세 정보를 열람할 수 있는 팝업이 열린다.

Details

스토리지 클래스 리소스 스펙에서 사용자가 참고해야 하는 주요 속성을 선정하여 표현한 탭이다. 스토리지 클래스 리소스는 지정한 프로비즈너를 기준으로 동적인 스토리지 할당이 되기 때문에 프로비즈너 속성과 볼륨을 바인딩 하는 유형 속성이 중요하다.

[그림 3.93] 스토리지 클래스 - Details

스토리지 클래스 - Details

YAML

스토리지 클래스 리소스 스펙을 yaml 포맷으로 제공하는 탭이다. 이 탭에서 스펙의 수정, 다운로드, 새로고침 등에 기능을 제공하고 있다.

[그림 3.94] 스토리지 클래스 - YAML

스토리지 클래스 - YAML

Events

Events는 해당 스토리지 클래스에 대한 이벤트를 스트리밍 방식으로 열람할 수 있는 탭이다.

3.16 퍼시스턴트 볼륨

퍼시스턴트 볼륨은 파드가 사용할 스토리지의 크기 및 종류를 정의한다. 퍼시스턴트 볼륨 리소스는 네임스페이스 범위의 리소스가 아닌 클러스터 범위 리소스이기 때문에 스펙에 네임스페이스가 없다.

3.16.1 퍼시스턴트 볼륨 목록

[그림 3.95] 퍼시스턴트 볼륨 목록

퍼시스턴트 볼륨 목록

  • Name

    퍼시스턴트 볼륨 리소스의 이름이다.

  • Status

    퍼시스턴트 볼륨 리소스의 상태이다. 표시하는 값은 Available(아직 클레임이 바인딩되지 않은, 사용할 수 있는 리소스), Bound(볼륨이 클레임에 바인딩됨), Released(클레임이 삭제되었지만 클러스터에서 아직 리소스를 반환하지 않음), Failed(볼륨이 자동 반환에 실패함) 네가지의 종류가 있다.

  • Claim

    퍼시스턴트 볼륨 리소스 할당을 위한 요청이다.

  • Capacity

    퍼시스턴트 볼륨 리소스 할당 시 정의된 용량이다.

  • Labels

    퍼시스턴트 볼륨 리소스의 레이블이다.

  • Age

    퍼시스턴트 볼륨 리소스가 생성된 이후 현재까지의 경과 시간을 나타낸다.

3.16.2 퍼시스턴트 볼륨 생성

퍼시스턴트 볼륨은 버튼을 클릭해서 새로 생성할 수 있다.

아래 그림은 퍼시스턴트 볼륨을 생성하기 위한 팝업 화면이다. 스펙을 입력할 수 있는 팝업창이 열리게 된다. 기본적인 템플릿은 제공 되는 것을 알 수 있으며 사용자의 편의를 위해 버튼을 제공한다.

[그림 3.96] 퍼시스턴트 볼륨 생성

퍼시스턴트 볼륨 생성

3.16.3 퍼시스턴트 볼륨 상세

퍼시스턴트 볼륨 목록에서 1개의 행을 클릭하면 퍼시스턴트 볼륨 리소스의 상세 정보를 열람할 수 있는 팝업이 열린다.

Details

퍼시스턴트 볼륨 리소스 스펙에서 사용자가 참고해야 하는 주요 속성을 선정하여 표현한 탭이다.

[그림 3.97] 퍼시스턴트 볼륨 - Details

퍼시스턴트 볼륨 - Details

YAML

퍼시스턴트 볼륨 리소스 스펙을 yaml 포맷으로 제공하는 탭이다. 이 탭에서 스펙의 수정, 다운로드, 새로고침 등에 기능을 제공하고 있다.

[그림 3.98] 퍼시스턴트 볼륨 - YAML

퍼시스턴트 볼륨 - YAML

Events

Events는 해당 퍼시스턴트 볼륨에 대한 이벤트를 스트리밍 방식으로 열람할 수 있는 탭이다.

3.17 퍼시스턴트 볼륨 클레임

퍼시스턴트 볼륨을 동적으로 확보하기 위한 리소스이다.

3.17.1 퍼시스턴트 볼륨 클레임 목록

[그림 3.99] 퍼시스턴트 볼륨 클레임 목록

퍼시스턴트 볼륨 클레임 목록

  • Name

    퍼시스턴트 볼륨 클레임 리소스의 이름이다.

  • Namespace

    퍼시스턴트 볼륨 클레임 리소스의 네임스페이스이다.

  • Status

    퍼시스턴트 볼륨 클레임 리소스 상태이다.

  • Persistent Volume

    퍼시스턴트 볼륨 클레임 리소스에 의해서 할당된 퍼시스턴트 볼륨 리소스 이름이다.

  • Capacity

    퍼시스턴트 볼륨 클레임 리소스의 저장 용량이다.

  • Labels

    퍼시스턴트 볼륨 클레임 리소스의 레이블이다.

  • Used

    퍼시스턴트 볼륨 클레임 리소스에 명시된 접근모드이다.

  • Storage Class

    퍼시스턴트 볼륨 클레임이 사용하는 스토리지 클래스 이름이다.

  • Age

    퍼시스턴트 볼륨 클레임 리소스가 생성된 이후 현재까지의 경과 시간을 나타낸다.

3.17.2 퍼시스턴트 볼륨 클래임 생성

퍼시스턴트 볼륨은 버튼을 클릭해서 새로 생성할 수 있다.

아래 그림은 퍼시스턴트 볼륨 클래임을 생성하기 위한 팝업 화면이다. 스펙을 입력할 수 있는 팝업창이 열리게 된다. 기본적인 템플릿은 제공 되는 것을 알 수 있으며 사용자의 편의를 위해 버튼을 제공한다.

[그림 3.100] 퍼시스턴트 볼륨 클래임 생성

퍼시스턴트 볼륨 클래임 생성

3.17.3 퍼시스턴트 볼륨 클래임 상세

퍼시스턴트 볼륨 클래임 목록에서 1개의 행을 클릭하면 퍼시스턴트 볼륨 클래임 리소스의 상세 정보를 열람할 수 있는 팝업이 열린다.

Details

퍼시스턴트 볼륨 클래임 리소스 스펙에서 사용자가 참고해야 하는 주요 속성을 선정하여 표현한 탭이다.

[그림 3.101] 퍼시스턴트 볼륨 클래임 - Details

퍼시스턴트 볼륨 클래임 - Details

YAML

퍼시스턴트 볼륨 클래임 리소스 스펙을 yaml 포맷으로 제공하는 탭이다. 이 탭에서 스펙의 수정, 다운로드, 새로고침 등에 기능을 제공하고 있다.

[그림 3.102] 퍼시스턴트 볼륨 클래임 - YAML

퍼시스턴트 볼륨 클래임 - YAML

Events

Events는 해당 퍼시스턴트 볼륨 클래임에 대한 이벤트를 스트리밍 방식으로 열람할 수 있는 탭이다.

3.18 컨피그맵

컨피그맵은 파드에 필요한 설정정보를 정의하고 전달한다.

3.18.1 컨피그맵 목록

[그림 3.103] 컨피그맵 목록

컨피그맵 목록

  • Name

    컨피그맵 리소스의 이름이다.

  • Namespace

    컨피그맵 리소스의 네임스페이스이다.

  • Labels

    컨피그맵 리소스의 레이블이다.

  • Size

    컨피그맵 리소스에 정의된 키-값 쌍 갯수를 보여준다.

  • Age

    컨피그맵 리소스가 생성된 이후 현재까지의 경과 시간을 나타낸다.

3.18.2 컨피그맵 생성

컨피그맵은 버튼을 클릭해서 새로 생성할 수 있다.

아래 그림은 컨피그맵을 생성하기 위한 팝업 화면이다. 스펙을 입력할 수 있는 팝업창이 열리게 된다. 기본적인 템플릿은 제공이 되는 것을 알 수 있으며 사용자의 편의를 위해 버튼을 제공한다.

[그림 3.104] 컨피그맵 생성

컨피그맵 생성

3.18.3 컨피그맵 상세

컨피그맵 목록에서 1개의 행을 클릭하면 컨피그맵 리소스의 상세 정보를 열람할 수 있는 팝업이 열린다.

Details

컨피그맵 리소스 스펙에서 사용자가 참고해야 하는 주요 속성을 선정하여 표현한 탭이다.

[그림 3.105] 컨피그맵 - Details

컨피그맵 - Details

YAML

컨피그맵 리소스 스펙을 yaml 포맷으로 제공하는 탭이다. 이 탭에서 스펙의 수정, 다운로드, 새로고침 등에 기능을 제공하고 있다.

[그림 3.106] 컨피그맵 - YAML

컨피그맵 - YAML

3.19 시크릿

시크릿은 컨피그맵과 비슷하지만 암호, 토큰 또는 키와 같은 소량의 중요한 데이터를 포함하는 오브젝트 인증 정보의 기밀 데이터를 정의한다.

3.19.1 시크릿 목록

[그림 3.107] 시크릿 목록

시크릿 목록

  • Name

    시크릿 리소스의 이름이다.

  • Namespace

    시크릿 리소스의 네임스페이스이다.

  • Labels

    시크릿 리소스의 레이블이다.

  • Type

    시크릿 리소스에 유형을 의미한다. 쿠버네티스에서 사전 정의된 유형과(빌트인이라 칭함) 사용자 정의 유형이 있다. 빌트인 타입은 Opaque, kubernetes.io/service-account-token, kubernetes.io/basic-auth 등에 종류가 있다.

  • Size

    시크릿 리소스에 정의된 키-값 쌍 갯수를 보여준다.

  • Age

    시크릿 리소스가 생성된 이후 현재까지의 경과 시간을 나타낸다.

3.19.2 시크릿 생성

시크릿은 버튼을 클릭해서 새로 생성할 수 있다.

아래 그림은 시크릿을 생성하기 위한 팝업 화면이다. 스펙을 입력할 수 있는 팝업창이 열리게 된다. 기본적인 템플릿이 제공 되는 것을 알 수 있으며 사용자의 편의를 위해 버튼을 제공한다.

[그림 3.108] 시크릿 생성

시크릿 생성

3.19.3 시크릿 상세

시크릿 목록에서 1개의 행을 클릭하면 시크릿 리소스의 상세 정보를 열람할 수 있는 팝업이 열린다.

Details

시크릿 리소스 스펙에서 사용자가 참고해야 하는 주요 속성을 선정하여 표현한 탭이다.

[그림 3.109] 시크릿 - Details

시크릿 - Details

YAML

시크릿 리소스 스펙을 yaml 포맷으로 제공하는 탭이다. 이 탭에서 스펙의 수정, 다운로드, 새로고침 등에 기능을 제공하고 있다.

[그림 3.110] 시크릿 - YAML

시크릿 - YAML

3.20 노드

노드는 일반적으로 파드가 스케줄되어 서비스를 제공하는 환경이다. 역할에 따라서 컨트롤 플레인(마스터)노드 , 워커노드로 나눌 수 있으며, 쿠버네티스 클러스터에 따라서 노드 리소스는 가상 혹은 물리 머신일 수 있다.

3.20.1 노드 목록

[그림 3.111] 노드 목록

노드 목록

  • Name

    노드 리소스의 이름이다.

  • Labels

    노드 리소스의 레이블이다.

  • Pods

    가용한 파드 갯수/전체 파드 갯수 나타낸다.

  • Memory

    노드 리소스 기준으로 사용 중인 메모리의 백분률이다.

  • CPU

    노드 리소스 기준으로 사용 중인 CPU의 백분률이다.

  • Age

    노드 리소스가 생성된 이후 현재까지의 경과 시간을 나타낸다.

3.20.2 노드 상세

노드 목록에서 1개의 행을 클릭하면 노드 리소스의 상세 정보를 열람할 수 있는 팝업이 열린다.

Details

노드 리소스 스펙에서 사용자가 참고해야 하는 주요 속성을 선정하여 표현한 탭이다.

[그림 3.112] 노드 - Details

노드 - Details

YAML

노드 리소스 스펙을 yaml 포맷으로 제공하는 탭이다. 이 탭에서 스펙의 수정, 다운로드, 새로고침 등에 기능을 제공하고 있다.

[그림 3.113] 노드 - YAML

노드 - YAML

Pods

Pods 탭 화면은 노드 리소스에서 스케줄 된 파드 리소스를 열람하는 탭 화면이다. 조회된 파드를 클릭하면 파드 팝업을 열어서 리소스의 상세 현황을 열람할 수 있다.

[그림 3.114] 노드 - Pods

노드 - Pods

Events

Events는 해당 노드에 대한 이벤트를 스트리밍 방식으로 열람할 수 있는 탭이다.

Metrics

Metrics는 해당 노드 리소스에 대한 다양한 메트릭 정보를 사용자에게 제공하는 탭이다.

[그림 3.115] 노드 - Metrics

노드 - Metrics

3.21 네임스페이스

네임스페이스는 단일 클러스터 내에서의 리소스 그룹 격리 메커니즘을 제공한다. 리소스들의 이름은 네임스페이스 내에서 유일해야 하며, 네임스페이스 간에서 유일할 필요는 없다. 네임스페이스 기반 스코핑은 네임스페이스 기반 오브젝트 (예: 디플로이먼트, 서비스 등) 에만 적용 가능하며 클러스터 범위의 오브젝트 (예: 스토리지클 래스, 노드, 퍼시스턴트볼륨 등) 에는 적용되지 않는다.

3.21.1 네임스페이스 목록

[그림 3.116] 네임스페이스 목록

네임스페이스 목록

  • Name

    네임스페이스 리소스의 이름이다.

  • Status

    네임스페이스 리소스의 상태이다.

  • Labels

    네임스페이스 리소스의 레이블이다.

  • Memory(MB)

    네임스페이스 범위를 기준으로 사용 중인 메모리이다.

  • CPU(Core)

    네임스페이스 범위를 기준으로 사용 중인 CPU이다.

  • Age

    네임스페이스 리소스가 생성된 이후 현재까지의 경과 시간을 나타낸다.

3.21.2 네임스페이스 생성

네임스페이스는 버튼을 클릭해서 새로 생성할 수 있다.

아래 그림은 네임스페이스를 생성하기 위한 팝업 화면이다. 스펙을 입력할 수 있는 팝업창이 열리게 된다. 기본적인 템플릿은 제공 되는 것을 알 수 있으며 사용자의 편의를 위해 버튼을 제공한다.

[그림 3.117] 네임스페이스 생성

네임스페이스 생성

3.21.3 네임스페이스 상세

네임스페이스 목록에서 1개의 행을 클릭하면 네임스페이스 리소스의 상세 정보를 열람할 수 있는 팝업이 열린다.

Details

네임스페이스 리소스의 스펙은 내용이 없기 때문에 상세 현황에서 특별한 항목은 없다. 아래 그림의 레이블 항목에서 BXCP ADM은 Istio와 kubefed를 사용하고 있는데 레이블 정보에 Istio와 kubefed를 사용하기 위한 설정이 된것을 알 수 있다.

[그림 3.118] 네임스페이스 - Details

네임스페이스 - Details

YAML

네임스페이스 리소스 스펙을 yaml 포맷으로 제공하는 탭이다. 이 탭에서 스펙의 수정, 다운로드, 새로고침 등에 기능을 제공하고 있다.

[그림 3.119] 네임스페이스 - YAML

네임스페이스 - YAML

Events

Events는 해당 네임스페이스에 대한 이벤트를 스트리밍 방식으로 열람할 수 있는 탭이다.

Metrics

Metrics는 해당 네임스페이스에 대한 다양한 메트릭 정보를 사용자에게 제공하는 탭이다.

[그림 3.120] 네임스페이스 - Metrics

네임스페이스 - Metrics

3.22 이벤트 리소스

이벤트 리소스는 BXCP ADM에서 관리하는 쿠버네티스 클러스터에서 발생하는 이벤트 리소스 정보를 제공한다. 메뉴를 클릭하면 바로 쿠버네티스 클러스터의 이벤트 정보를 확인할 수 있다.

3.22.1 이벤트 리소스 목록

[그림 3.121] 이벤트 리소스 목록

이벤트 리소스 목록

  • Name

    리소스 이름을 기준으로 그 왼쪽은 해당 리소스 종류를 의미하는 이니셜 아이콘이 제공된다. 그 아래는 이벤트가 발생한 구체적인 파드의 이름과 이벤트 메시지가 차례로 제공된다.

  • Namespace

    이벤트가 발생한 리소스의 Namespace가 표시된다.

  • Status

    해당 이벤트의 상태를 보여준다.

  • 생성/수정일시

    이벤트가 생성/수정 된 날짜가 보여지며 그 아래에는 특정 기간동안 발생한 이벤트 횟수가 제공된다.

3.23 모니터링

모니터링은 클러스터별 설치된 모니터링 컴포넌트 목록을 조회할 수 있는 팝업 메뉴이다. 해당하는 클러스터 옆의 ( ) 아이콘을 클릭하면 모니터링 목록이 펼쳐진다. 모니터링 추가 방법은 3.2의 클러스터 메뉴를 참조한다.

3.23.1 모니터링 목록

[그림 3.122] 모니터링 목록

모니터링 목록

  1. 클러스터 목록

    • 클러스터 아이콘

      클러스터 아이콘은 클러스터 서비스 프로바이더에 따라 자동으로 매핑되는 이미지 아이콘이다.

    • 클러스터 ID

      클러스터 생성 시 입력한 ID이다. ID 오른쪽에 tag로 해당 클러스터의 시스템 구분을 표시한다. 아래쪽엔 클러스터 설명이 제공된다.

    • 클러스터 명

      클러스터 이름으로 한글을 포함한 다양한 입력을 지원한다.

    • 클러스터 상태

      등록한 클러스터의 상태를 표시한 항목이다.

  2. 모니터링 목록

    3.2의 클러스터 설정의 컴포넌트 설정에서 입력한 Jaeger, Kiali, Kibana의 접속 URL 정보를 기반으로 카드 목록이 만들어진다.

참고

모니터링 카드 목록 중 하나를 선택하면 해당 모니터링 UI가 나타난다. 이때 3.34의 설정 관리의 "bxcr.common.monitoring.popup" 값에 따라 동작이 달라진다. 설정 값이 Y일 경우 새 탭에 모니터링 화면이 보이고 N일 경우 ADM 메인 영역에 모니터링 화면이 보인다.

3.24 감사 로그

감사 로그는 ADM에서 발생하는 액션에 대해 로그를 수집하고 적재한다.

3.24.1 감사 로그 목록

[그림 3.123] 감사 로그 목록

감사 로그 목록

  • 이니셜 아이콘

    이니셜 아이콘은 요청 ID의 첫 글자를 따서 만든 아이콘이다.

  • 요청 ID

    ADM 화면 및 API를 요청한 사용자 ID이다.

  • 요청 주소

    ADM 화면 및 API를 요청한 IP 주소이다.

  • 액션

    화면 및 API 요청에 대한 액션 유형이다. 조회, 수정, 패치, 생성, 삭제 5가지 액션 유형을 보여준다.

  • 리소스

    액션에 관련된 ADM 화면 및 메뉴 명을 보여준다. 화면을 통한 처리가 아니면 공백으로 보여준다.

  • HTTP 응답코드

    액션 처리에 대한 결과를 HTTP 응답 코드로 보여준다

  • 요청 일시

    ADM 화면 및 API를 요청한 날짜와 시간을 보여준다.

3.24.2 감사 로그 상세

감사 로그 조회 목록에서 하나의 로그 항목을 선택했을 때 열리는 팝업 화면이다. 기본 설정, 로그 메세지 두 개의 탭으로 정보를 보여주고 있다.

기본 설정

아래 그림은 감사 로그 조회 팝업 화면의 기본 설정 탭이다. 기본 설정 탭은 목록에서 보이는 정보들과 추가로 응답 주소와 요청 URL을 보여준다.

[그림 3.124] 감사 로그 - 기본 설정

감사 로그 - 기본 설정

로그 메세지

아래 그림은 감사 로그 조회 팝업 화면의 로그 메세지 탭이다. 로그 메세지 탭은 자세한 응답 및 요청 로그 메세지를 보여준다.

[그림 3.125] 감사 로그 - 로그 메세지

감사 로그 - 로그 메세지

3.25 에러 로그

에러 로그는 ADM에서 발생하는 에러에 대한 로그를 수집하고 적재한다.

3.25.1 에러 로그 목록

[그림 3.126] 에러 로그 목록

에러 로그 목록

  • 이니셜 아이콘

    이니셜 아이콘은 요청 ID의 첫 글자를 따서 만든 아이콘이다.

  • 요청 ID

    에러가 발생된 ADM 화면 및 API를 요청한 사용자 ID이다.

  • 요청 주소

    에러가 발생된 ADM 화면 및 API를 요청한 IP 주소이다.

  • 액션

    에러가 발생된 화면 및 API 요청에 대한 액션 유형이다. 조회, 수정, 패치, 생성, 삭제 5가지 액션 유형을 보여준다.

  • 리소스

    에러가 발생한 액션에 관련된 ADM 화면 및 메뉴 명을 보여준다. 화면을 통한 처리가 아니면 공백으로 보여준다.

  • HTTP 응답코드

    액션 처리에 대한 실패 결과를 HTTP 응답 코드로 보여준다

  • 요청 일시

    에러가 발생된 ADM 화면 및 API를 요청한 날짜와 시간을 보여준다.

3.25.2 에러 로그 상세

에러 로그 조회 목록에서 하나의 로그 항목을 선택했을 때 열리는 팝업 화면이다. 기본 설정, 로그 메세지 두 개의 탭으로 정보를 보여주고 있다.

기본 설정

아래 그림은 에러 로그 조회 팝업 화면의 기본 설정 탭이다. 기본 설정 탭은 목록에서 보이는 정보들과 추가로 에러 아이디, 응답 주소와 요청 URL을 보여준다.

[그림 3.127] 에러 로그 - 기본 설정

에러 로그 - 기본 설정

로그 메세지

아래 그림은 에러 로그 조회 팝업 화면의 로그 메세지 탭이다. 로그 메세지 탭은 자세한 요청 및 응답 로그 메세지를 보여준다.

[그림 3.128] 에러 로그 - 로그 메세지

에러 로그 - 로그 메세지

3.26 헬름 관리

헬름 관리에서는 헬름 차트의 등록을 도와준다. 이 화면은 헬름 차트를 등록하거나, 삭제하는 기능 만을 제공하며 이전에 살펴봤던 시스템 컴포넌트 화면에서 등록한 헬름 차트를 이용하게 된다. 아래는 헬름 관리 화면에 헬름 차트 목록을 볼 수 있다.

3.26.1 헬름 차트 목록

[그림 3.129] 헬름 차트 목록

헬름 차트 목록

  • 헬름 명

    헬름 차트에 이름이다.

  • 버전 개수

    헬름 차트 기준으로 등록된 버전의 개수이다.

  • 최신 버전

    등록된 버전 중 가장 최신 버전을 표시한다.

  • 등록 일시

    등록된 일시이다.

  • 액션 버튼

    아이콘을 클릭하여 활성화할 수 있다. 헬름 차트 삭제 기능을 수행할 수 있다.

3.26.2 헬름 차트 추가

헬름 관리 목록 화면에서도 새로운 헬름 차트를 추가할 수 있다. 버튼을 사용하면 아래 그림처럼 헬름 차트를 압축한 파일을 업로드 할 수 있는 팝업이 열린다. 화면에 표시된 것처럼 확장자가 .tar.gz나 .tgz인 압축파일을 드래그 앤 드롭 해야 한다.

[그림 3.130] 헬름 차트 추가

헬름 차트 추가


3.27 토큰 관리

토큰 관리 메뉴는 BXCP ADM에서 발급한 토큰들을 확인하고 필요 시에 토큰을 직접 생성하거나 비활성화 시킬 수 있는 메뉴이다.

3.27.1 토큰 관리 목록

[그림 3.131] 토큰 관리 목록

토큰 관리 목록

  • 토큰 타입

    토큰의 용도를 알려준다. 로그인 사용자, 웹훅(Webhook), 서드파티(Third Party), 포털 관리자 4개의 타입이 있다.

  • 사용자 ID

    토큰을 사용하는 사용자의 ID이다. 사용자 ID의 부여된 역할에 따라 토큰의 사용 권한이 달라진다.

  • 사용 여부

    현재 토큰을 사용하고 있는지 파악 할 수 있다. 토큰을 비활성화 시 N으로 보여진다.

  • 만료 일시

    토근 기한이 만료되는 날짜와 시간을 보여준다. 만료 일시 전까지만 토큰이 유효하다.

  • 수정 일시

    토큰을 발급 받거나 수정한 날짜와 시간이다.

  • 액션 버튼

    아이콘을 클릭하여 활성화할 수 있다. 토큰 변경 및 비활성화 기능을 수행할 수 있다.

3.27.2 토큰 추가

토큰은 로그인 할 때나 애플리케이션 Webhook 정보 조회 팝업 화면에서 토큰을 추가 할 수 있지만 다른 용도의 토큰이 필요할 때 서드파티(Third Party)타입의 토큰을 새로 추가할 수 있다. 토큰은 아이콘을 클릭하여 추가 할 수 있다. 아래의 그림은 토큰 추가 팝업 화면이다.

[그림 3.132] 토큰 추가 - 기본 설정

토큰 추가 - 기본 설정

  • 사용자 ID

    토큰을 사용하는 사용자의 ID를 선택할 수 있다. 사용자 ID의 부여된 역할에 따라 토큰의 사용 권한이 달라진다. 필수 입력값이다.

  • 만료 일시

    토큰의 사용기한을 선택할 수 있다. 무제한 버튼 클릭 시 만료 기한이 없는 토큰이 만들어진다. 기간 제한 버튼 클릭 시 분, 시, 일을 선택하여 토큰 사용 기간을 정할 수 있다. 필수 입력값이다.

  • 토큰 설명

    토큰 용도와 같은 간단한 설명을 적는다.

3.27.3 토큰 상세

토큰 목록에서 한 개의 토큰 정보를 클릭하거나 아이콘을 클릭해서 버튼을 누르면 토큰 조회 및 변경 팝업이 활성화된다. 아래의 그림은 생성된 토큰에 대해 상세 정보를 제공하고 편집을 가능하게 하는 팝업 화면이다.

기본 설정

[그림 3.133] 토큰 상세

토큰 상세

3.27.4 토큰 비활성화

토큰 조회 및 변경 화면에서 사용 여부 토글을 사용해서 토큰을 비활성화 하거나 아이콘을 클릭해서 버튼을 클릭하면 토큰을 비활성화 할 수 있다.

3.28 인증 관리

인증 관리에 인증 정보들은 애플리케이션 스펙에서 설정된 배포 리소스를에 접근 시 사용하는 정보이다.

3.28.1 인증 목록

[그림 3.134] 인증 목록

인증 목록

  • UUID

    인증 데이터의 UUID 정보이다.

  • 인증 ID

    인증 데이터의 구별할 수 있는 ID 정보이다.

  • 리소스 유형

    배포 리소스의 유형을 의미한다.

  • 인증 범위

    인증 데이터를 사용할 범위를 의미한다.

  • 설명

    인증 데이터에 대한 설명이다.

  • 등록 사용자 ID

    인증 데이터를 등록한 사용자의 ID이다.

  • 수정 일시

    인증 데이터를 수정한 일시이다.

  • 액션 버튼

    아이콘을 클릭하여 활성화할 수 있다. 인증 변경 및 삭제 기능을 수행할 수 있다.

3.28.2 인증 추가

인증 추가는 아이콘을 클릭하여 할 수 있다. 1개의 탭으로 정보를 입력 받으며 각각의 항목이 의미하는 바는 다음과 같다.

기본 설정

[그림 3.135] 인증 추가 - 기본 설정

인증 추가 - 기본 설정

  • 인증 ID

    고유한 인증 ID를 의미한다.

  • 리소스 유형

    리소스 유형은 인증할 타켓 컴포넌트를 의미한다.

    • Gitlab

      Gitlab 인증용

    • Container Image

      Harbor와 같은 이미지 저장소 인증용

    • Object Storage

      Binary 저장소 인증용

    • FTP

      FTP 서버 인증용

    • Jenkins

      Jenkins 인증용

    • ETC

      기타 컴포넌트 인증용

  • 인증 설명

    관리자의 편의를 위하여 인증의 설명을 입력할 수 있다.

  • 인증 범위

    • System

      BXCP ADM 전체 범위를 가지는 인증 정보가 필요할 때 선택한다.

    • Project

      BXCP ADM 프로젝트 범위의 인증 정보가 필요할 때 선택한다. 애플리케이션 배포 리소스의 인증 정보에서 많이 볼 수 있다.

    • Workspace

      BXCP ADM 워크스페이스 범위의 인증 정보가 필요할 때 선택한다.

    • Cluster

      BXCP ADM 클러스터 범위의 인증 정보가 필요할 때 선택한다.

  • 인증 유형

    • ID/PASSWORD

      ID와 Password로 구성된 타입의 인증이다.

    • Token

      토큰 형식의 인증 타입을 의미한다.

    • Certificate

      인증서 기반의 인증 타입을 의미한다.

3.29 메트릭쿼리 관리

메트릭쿼리는 BXCP ADM에서 관리하는 다양한 쿠버네티스 리소스의 상태를 시각화하기 위해 Prometheus에서 메트릭 정보를 가져오는 쿼리이다.

3.29.1 메트릭쿼리 관리 목록

메트릭쿼리 관리 메뉴에서 사전에 등록된 메트릭 쿼리들은 BXCP ADM에서 보여지는 다양한 메트릭 그래프를 제공하기 위한 쿼리들이다.

[그림 3.136] 메트릭쿼리 관리 목록

메트릭쿼리 관리 목록

  • 리소스 타입

    리소스 타입에 따라 Prometheus에서 가져오는 쿠버네티스 리소스의 메트릭 데이터가 달라진다. 각 메트릭 화면에 따라 필요한 리소스 타입이 달라진다.

  • 쿼리 키

    쿼리 키는 메트릭 쿼리를 구분하는 키이다. 같은 리소스 타입에서 쿼리 키는 고유해야 한다.

  • 쿼리 값 및 설명

    윗줄은 사용되는 쿼리 값이다. 아랫줄은 쿼리에 대한 간단한 설명이다.

  • 수정 일시

    메트릭 쿼리가 등록되거나 최종 수정된 날짜와 시간이다.

  • 액션 버튼

    아이콘을 클릭하여 활성화할 수 있다. 메트릭 쿼리를 변경하거나 삭제할 수 있다.

3.29.2 메트릭쿼리 관리 추가

메트릭 쿼리는 새로운 메트릭 정보가 필요할 때 추가할 수 있다. 메트릭쿼리는 아이콘을 클릭하여 추가 할 수 있다. 아래의 그림은 메트릭쿼리 추가 팝업 화면이다.

[그림 3.137] 메트릭쿼리 관리 추가

메트릭쿼리 관리 추가

  • 리소스 타입

    리소스 타입에 따라 Prometheus에서 가져오는 쿠버네티스 리소스의 메트릭 데이터가 달라진다. 각 메트릭 화면에 따라 필요한 리소스 타입이 달라진다. 드롭 박스 항목 내에서 선택한다. 필수 입력값이다.

  • 쿼리 키

    쿼리 키는 메트릭 쿼리를 구분하는 키이다. 같은 리소스 타입에서 쿼리 키는 고유해야 한다. 대문자로 입력한다. 필수 입력값이다.

  • 쿼리 값

    Prometheus에서 메트릭 데이터를 가져올 수 있는 쿼리를 입력한다. 쿼리에서 필요한 매개변수는 '{숫자}'의 형식으로 입력한다. 필수 입력값이다.

  • 쿼리 설명

    간단한 쿼리에 대한 설명을 입력한다.

  • 쿼리 타입

    메트릭 쿼리의 종류를 선택할 수 있다. Instant 쿼리는 시계열에 대한 단일 샘플을 가져온다. 메트릭 쿼리를 질의하는 시간에 대한 하나의 데이터만 가져온다. Range 쿼리는 시계열에 대한 시간 경과에 따른 데이터 범위를 가져온다. 질의하는 기간에 따른 메트릭 데이터 세트를 가져온다. 필수 입력값이다.

  • Range

    쿼리타입을 Range로 선택 시 활성화 된다. 지난 메트릭 데이터를 가져올 기간을 설정한다.

  • Step

    쿼리 타입을 Range로 선택 시 활성화 된다. Range 항목에서 정한 기간 중에서 가져 올 메트릭 데이터의 갯수를 설정한다.

  • x축 label

    BXCP ADM의 메트릭 그래프에서 보여줄 시간 x축의 갯수를 설정한다.

3.29.3 메트릭쿼리 상세

메트릭쿼리 목록에서 한 개의 쿼리 정보를 클릭하거나 아이콘을 클릭해서 버튼을 누르면 메트릭쿼리 조회 및 변경 팝업이 활성화된다. 아래의 그림은 메트릭쿼리에 대해 상세 정보를 제공하고 편집을 가능하게 하는 팝업 화면이다.

기본 설정

[그림 3.138] 메트릭쿼리 관리 - 기본 설정

메트릭쿼리 관리 - 기본 설정

3.29.4 메트릭 쿼리 삭제

메트릭 쿼리는 아이콘을 클릭해서 버튼을 클릭하면 메트릭쿼리를 삭제 할 수 있다.

3.30 사용자 관리

사용자 관리 메뉴에서는 BXCP ADM을 사용하는 계정 정보를 관리할 수 있다.

3.30.1 사용자 관리 목록

[그림 3.139] 사용자 관리 목록

사용자 관리 목록

  • 사용자 ID

    BXCP ADM 로그인에 이용하는 ID이다.

  • 사용자 명

    사용자의 이름이다.

  • 부서

    사용자가 속한 부서이다.

  • 이메일

    사용자에 이메일 주소이다.

  • 사용 여부

    사용자 정보가 가용한 상태인지 여부이다.

  • 수정 일시

    사용자 데이터 수정 일시이다.

  • 액션 버튼

    아이콘을 클릭하여 활성화할 수 있다. 사용자 변경 및 삭제 기능을 수행할 수 있다.

사용자 추가는 아이콘을 클릭하여 할 수 있다. 1개의 탭으로 정보를 입력 받으며 각각의 항목이 의미하는 바는 다음과 같다.

기본 설정

[그림 3.140] 사용자 관리 추가 - 기본 설정

사용자 관리 추가 - 기본 설정

  • 사용자 ID

    고유한 사용자 ID로 영문자, 숫자, 하이픈, . 만 사용할 수 있다.

  • 사용자 명

    사용자 이름으로 한글 등 다양한 데이터로 입력이 가능하다.

  • 비밀번호

    로그인 시 사용되는 비밀번호이다.

  • 부서

    사용자 분류를 위한 편의 기능으로 사용자를 부서별로 나눌 수 있다.

  • 이메일

    승인과 같은 알림을 받기 위한 이메일 정보.

  • 사용 여부

    클러스터 설정 혹은 프로젝트 설정에서 사용자 추가 시 조회 여부를 결정한다.

  • 역할

    해당 사용자가 가지는 역할을 1개 이상 지정할 수 있다. 이 역할 정보는 BXCP ADM에서 메뉴, 권한에 관한 데이터이기 때문에 설정에 유의해야 한다.

    [그림 3.141] 사용자 관리 추가 - 기본 설정 - 역할 추가

    사용자 관리 추가 - 기본 설정 - 역할 추가


3.31 메뉴 관리

메뉴 관리 메뉴를 사용해서 사용자별 할당할 수 있는 메뉴 정보를 관리할 수 있다.

3.31.1 메뉴 관리 목록

[그림 3.142] 메뉴 관리 목록

메뉴 관리 목록

  • 메뉴 ID

    BXCP ADM에서 관리하는 메뉴의 ID이다.

  • 상위 메뉴 ID

    메뉴 ID를 포함하는 메뉴의 ID를 의미하며, 조회된 데이터에 상위 메뉴 ID 항목에 값이 비어있으면 단독으로 사이드바 메뉴 영역에서 바로 보이는 메뉴이다. 상위 메뉴는 BXCP ADM에서 루트 메뉴라고도 한다.

  • 메뉴 명

    한글로 표기한 메뉴의 이름을 의미한다.

  • 영문 메뉴 명

    영문으로 표기한 메뉴의 이름을 의미한다.

  • 메뉴 설명

    메뉴에 대한 간략한 설명을 보여준다.

  • 사용 여부

    역할에 메뉴 할당 시 조회 여부를 결정한다.

  • 액션 전용 여부

    액션 전용인지 여부를 확인한다.

  • 수정 일시

    메뉴 데이터의 최종 수정 일시를 나타낸다.

  • 액션 버튼

    아이콘을 클릭하여 활성화할 수 있다. 메뉴 변경, 삭제 그리고 선택된 위치에 따른 메뉴 추가 기능을 수행할 수 있다.

3.31.2 메뉴 추가

메뉴 추가는 액션 버튼을 통해서 진행 가능하며, 선택된 메뉴가 상위 메뉴이냐 하위 메뉴이냐에 따라 액션 버튼의 메뉴 추가 기능이 달라진다.

[그림 3.143] 메뉴 관리 추가 - 상위 메뉴의 액션 버튼

메뉴 관리 추가 - 상위 메뉴의 액션 버튼

  • 메뉴 변경

    행 기준의 메뉴 정보를 변경하는 팝업을 열어주는 메뉴이다.

  • 위에 루트 메뉴 추가

    행 기준으로 위에 상위(루트) 메뉴를 추가하는 팝업을 열어주는 메뉴이다.

  • 아래에 루트 메뉴 추가

    행 기준으로 아래에 하위(루트) 메뉴를 추가하는 팝업을 열어주는 메뉴이다.

  • 하위 메뉴 추가

    상위 메뉴를 펼칠 때 보이는 하위 메뉴를 추가하는 팝업을 열어주는 메뉴이다.

  • 액션 메뉴 추가

    해당 메뉴에서 사용하는 액션 메뉴를 추가하는 팝업을 열어주는 메뉴이다.

  • 메뉴 삭제

    행 기준의 메뉴를 삭제처리 한다.

[그림 3.144] 메뉴 관리 추가 - 하위 메뉴의 액션 버튼

메뉴 관리 추가 - 하위 메뉴의 액션 버튼

  • 메뉴 변경

    행 기준의 메뉴 정보를 변경하는 팝업을 열어주는 메뉴이다.

  • 하위 메뉴 추가

    상위 메뉴를 펼칠때 보이는 하위 메뉴를 추가하는 팝업을 열어주는 메뉴이다.

  • 액션 메뉴 추가

    해당 메뉴에서 사용하는 액션 메뉴를 추가하는 팝업을 열어주는 메뉴이다.

  • 메뉴 삭제

    행 기준의 메뉴를 삭제처리 한다.

기본 설정

[그림 3.145] 메뉴 관리 추가 - 기본 설정

메뉴 관리 추가 - 기본 설정

  • 메뉴 ID

    고유한 메뉴 ID로 자동 채번되어 입력된다.

  • 상위 메뉴 ID

    하위 메뉴의 경우 자신의 상위 메뉴 정보가 필요하다. 상위 메뉴 ID는 자동으로 채워진다.

  • 메뉴 명

    화면에 보여질 메뉴 이름

  • 메뉴 Prefix

    메뉴 Prefix 속성은 아주 중요한 속성이다. 해당 메뉴에 대한 화면이 이미 사용되고 있는 상태에서는 메뉴 Prefix의 값을 변경하면 오류가 발생할 수 있으니 변경하지 않는다. 이 값은 BXCP ADM 프론트엔드와 백엔드 간에 REST 통신에 이용하는 값이다.

  • 메뉴 설명

    관리자의 편의를 위하여 메뉴의 설명을 입력할 수 있다.

  • 사용 여부

    역할 관리에서 해당 메뉴를 활성화하여 보일지 여부를 결정한다.

  • 액션 전용 여부

    별도의 화면 없이, REST 통신만을 위한 메뉴이다. 사용자 권한 설정에서 액션 권한으로 사용되며, 메뉴 추가 시 선택한 액션 버튼에 따라 자동으로 설정된다.

3.32 역할 관리

역할 관리 메뉴에서는 사용자별 할당할 역할을 관리할 수 있다. 역할은 여러개의 메뉴를 연결할 수 있으며, 그 메뉴에서 처리할 수 있는 다양한 액션을 허용하는 형태로 관리된다.

[그림 3.146] 역할 관리 목록

역할 관리 목록

  • 역할 ID

    BXCP ADM에서 관리하는 역할의 ID이다. 역할을 생성하는 사용자가 직접 입력하는 값이다.

  • 역할 명

    역할에 대한 이름이다.

  • 관리자 여부

    관리자 전용 역할인지 여부를 나타낸다.

  • 수정 일시

    역할 데이터의 최종 수정 일시를 나타낸다.

  • 액션 버튼

    아이콘을 클릭하여 활성화할 수 있다. 역할 변경 및 삭제 기능을 수행할 수 있다.

3.32.1 역할 관리 추가

역할 추가는 아이콘을 클릭하여 할 수 있다. 3개의 탭으로 정보를 입력 받으며 각각의 항목이 의미하는 바는 다음과 같다.

역활 관리 추가 - 기본 설정

[그림 3.147] 기본 설정

기본 설정

  • 역할 ID

    고유한 역할 ID로이다. 최대 63문자까지 입력할 수 있고, 소문자 영어, 숫자, 하이픈(-)만 사용이 가능하다. 단 영숫자로 시작하여 영숫자로 끝나야 한다.

  • 역할 명

    역할 이름으로 한글 등 다양한 데이터로 입력이 가능하다.

  • 역할 설명

    관리자의 편의를 위하여 역할의 설명을 입력할 수 있다.

  • 관리자 여부

    admin 권한을 설정할 수 있다.

  • 아이콘

    Workbench에서 역할을 수정 시 보여주는 아이콘을 설정할 수 있다.

메뉴 권한

[그림 3.148] 역활 관리 추가 - 메뉴 권한

역활 관리 추가 - 메뉴 권한

메뉴 권한 탭에서는 사용할 메뉴 목록을 설정할 수 있다. 메뉴 권한에서 설정한 순서에 따라 BXCP ADM 사용자의 사이드바 메뉴 영역의 메뉴가 결정된다. 순서를 변경하고 싶으면 드래그 앤 드롭으로 순서를 변경할 수 있다. 또한 메뉴별로 생성, 수정, 삭제 권한을 두어 세부 권한 컨트롤을 지원한다.

참고

조회 권한은 기본적으로 모두 허용되어 있다.

  • 활성화

    해당 메뉴를 활성화할지 여부를 결정한다.

  • 구분선

    UI 편의 기능으로, 사이드바 메뉴 영역에서 선택한 메뉴 아래에 구분선을 그려준다.

  • ALL

    같은 메뉴 내에서 생성, 수정, 삭제 권한을 일괄 허용할 때 사용한다.

  • 생성

    생성 권한을 부여한다.

  • 수정

    수정 권한을 부여한다.

  • 삭제

    삭제 권한을 부여한다.

  • 옵션

    부가 기능으로, 시작 화면 및 개발계 전용 옵션을 선택할 수 있다. 시작 화면을 체크할 경우 해당 권한으로 접속 시 가장 먼저 시작하는 화면으로 설정할 수 있으며 한가지 메뉴에만 설정할 수 있다. 개발계 전용은 Workspace가 개발계 일 경우에만 메뉴를 활성화 하는 기능이다.

액션 권한

[그림 3.149] 역활 관리 추가 - 액션 권한

역활 관리 추가 - 액션 권한

액션 권한은 별도의 화면이 없는 권한으로, 외부 시스템간 연계를 위해 REST API 통신을 허용하기 위한 권한이다. 활성화, 구분선, 옵션 기능을 사용할 수 없다. 그 외 생성, 수정, 삭제 권한을 부여하는 기능은 동일하다.

3.33 코드 관리

코드 관리 메뉴를 사용해서 BXCP ADM에서 이용하는 코드 정보를 열람할 수 있다. 이 코드 관리 화면에서는 화면에 보이는 코드 정보나 BXCP ADM 백엔드에서 이용하는 등 다양한 곳에서 쓰인다.

3.33.1 코드 관리 목록

[그림 3.150] 코드 관리 목록

코드 관리 목록


  • 코드 그룹 ID

    BXCP ADM에서 관리되는 코드 그룹의 ID이다.

  • 코드 그룹 명

    코드 그룹의 이름이다.

  • 코드 그룹 설명

    코드 그룹에 대한 간략한 설명이다.

  • 수정 일시

    코드 데이터의 최종 수정 일시를 나타낸다.

  • 액션 버튼

    아이콘을 클릭하여 활성화할 수 있다. 코드 변경 및 삭제 기능을 수행할 수 있다.

3.33.2 코드 관리 추가

코드 추가는 아이콘을 클릭하여 할 수 있다. 1개의 탭으로 정보를 입력 받으며 각각의 항목이 의미하는 바는 다음과 같다.

기본 설정

[그림 3.151] 코드 관리 추가 - 기본 설정

코드 관리 추가 - 기본 설정

  • 코드 그룹 ID

    코드를 관리하기 위한 그룹 ID

  • 코드 그룹 명

    코드 그룹 이름으로 한글 등 다양한 데이터로 입력이 가능하다.

  • 코드 그룹 설명

    해당 코드 그룹에 대한 설명으로 어떠한 코드가 들어갈지 설명을 입력한다.

  • 코드 입력

    실제로 사용할 코드를 이곳에 하나씩 추가/삭제하여 관리한다.

위에서 코드 그룹에 대한 정보를 입력했으면 아래 그림처럼 행추가( ) 버튼을 클릭하면 코드 그룹에 속하는 코드 상세 정보를 입력할 수 있다.

[그림 3.152] 코드 관리 추가 - 기본 설정 - 상세 코드 추가

코드 관리 추가 - 기본 설정 - 상세 코드 추가


아래는 코드 그룹을 기준으로 상세 코드를 입력한 예시이다.

[그림 3.153] 코드 관리 추가 - 기본 설정 - 상세 코드 입력

코드 관리 추가 - 기본 설정 - 상세 코드 입력


위에서 코드 상세를 입력하고 저장( ) 버튼을 클릭하여 아래처럼 코드 그룹에 속하는 코드 상세 정보를 임시 저장할 수 있다.

[그림 3.154] 코드 관리 추가 - 기본 설정 - 상세 코드 임시 저장

코드 관리 추가 - 기본 설정 - 상세 코드 임시 저장


임시 저장한 코드 상세 정보가 필요없는 경우 위에서 삭제( ) 버튼을 클릭하면 아래처럼 상세코드의 삭제를 진행할지 사용자에게 확인 메시지와 함께 처리할 수 있다.

[그림 3.155] 코드 관리 추가 - 기본 설정 - 상세 코드 삭제

코드 관리 추가 - 기본 설정 - 상세 코드 삭제


3.34 설정 관리

설정 관리 메뉴에서는 BXCP ADM에서 사용하는 설정 정보를 키-값 형태로 열람할 수 있다. 이 설정 관리 화면에서는 보이는 정보는 주로 BXCP ADM 백엔드에서 사용하는 값이 많으며 변경 시에 주의해야한다.

3.34.1 설정 관리 목록

BXCP ADM 구성시(설치) 필수적인 키-값 데이터는 이미 저장된 상태이며 아래는 설정 관리 데이터의 목록화면이다

[그림 3.156] 설정 관리 목록

설정 관리 목록

  • 설정 키

    설정의 고유한 키이다.

  • 설정 설명

    저장된 설정에 대한 간략한 설명이다.

  • 설정 값

    설정에 대한 값이다.

  • 마스킹 여부

    설정 데이터의 값을 화면에서 노출할지 여부를 나타낸다.

  • 수정 일시

    설정 데이터의 최종 수정 일시를 나타낸다.

3.34.2 설정 관리 추가

설정 추가는 아이콘을 클릭하여 할 수 있다. 1개의 탭으로 정보를 입력 받으며 각각의 항목이 의미하는 바는 다음과 같다.

설정 관리 추가 - 기본 설정

[그림 3.157] 기본 설정

기본 설정

  • 설정 키

    설정의 고유한 키이다.

  • 설정 값

    설정에 대한 값이다.

  • 설정 설명

    저장된 설정에 대한 간략한 설명이다.

  • 마스킹 여부

    설정 데이터의 값을 화면에서 노출할지 여부를 나타낸다.

3.35 온라인 애플리케이션

온라인으로 서비스를 제공하는 애플리케이션을 BXCP ADM에서 온라인 애플리케이션이라 명명하는데, BXCP ADM에서는 이러한 온라인 애플리케이션을 관리할 수 있다. 이번 절에서는 온라인 애플리케이션에 대한 설명을 한다.

3.35.1 온라인 애플리케이션 목록

[온라인 애플리케이션] 메뉴를 통해서 온라인 애플리케이션 목록 화면으로 이동을 하면 다음에 그림과 같이 애플리케이션에 대한 요약 정보를 상세화면으로 진입하지 않아도 열람할 수 있다.

[그림 3.158] BXCP 온라인 애플리케이션 목록

BXCP 온라인 애플리케이션 목록

참고

위에 그림에 보이는 1개 카드가 온라인 애플리케이션 1개를 나타낸다. 여기서 보이는 정보는 BXCP ADM이 내부에서 정기적으로 동작하는 작업에 의해서 만들어진 데이터로 실시간 데이터보다는 조금 느릴 수 있다.

3.35.2 온라인 애플리케이션 현황

아래 그림처럼 카드 형태로 1개의 온라인 애플리케이션에 현황을 나타내고, 다음에 항목으로 애플리케이션에 정보를 표현한다.

[그림 3.159] BXCP 온라인 애플리케이션

BXCP 온라인 애플리케이션


  • 애플리케이션 이름

    애플리케이션 스펙을 최초 생성 시 지정한 애플리케이션 이름을 의미한다.

  • 애플리케이션 ID

    애플리케이션 스펙을 최초 생성 시 지정한 애플리케이션 ID를 의미한다.

  • 액션 버튼

    아이콘을 클릭하여 활성화할 수 있다. 애플리케이션 수정 및 삭제 기능을 수행할 수 있다.

  • 애플리케이션 설명

    애플리케이션 스펙을 최초 생성 시 지정한 애플리케이션 설명을 의미한다.

  • Replicas

    Replicas 항목은 애플리케이션에 파드 갯수를 표현한다. 순서대로 가용한 파드 갯수, 스펙에 명시된 파드 갯수를 나타낸다.

  • 클러스터

    클러스터 항목은 온라인 애플리케이션이 배포된 클러스터를 의미하며, 이를 아이콘 형태로 표현하고 있다. 2개 이상에 클러스터에 배포를 했다면 아이콘이 더 표현된다.

  • 롤아웃

    롤아웃 항목은 온라인 애플리케이션의 스펙을 정할 때 지정한 유형으로 ROLLING, CANARY, BLUE/GREEN 유형이 있다.

  • 빌드

    빌드 항목은 배포가 이루어진 뒤에 생성되는 빌드 번호를 표현하고 있으며, 배포의 성공/실패와 관계없이 보여진다.

  • 트래픽

    애플리케이션 스펙의 INGRESS 설정의 트래픽 유형을 표시한다.

3.35.3 온라인 애플리케이션 생성

온라인 애플리케이션 추가는 버튼을 클릭하여 할 수 있다. 6개의 탭으로 정보를 입력 받으며 각각의 항목이 의미하는 바는 다음과 같다.

기본 설정

[그림 3.160] 온라인 애플리케이션 생성 - 기본 설정

온라인 애플리케이션 생성 - 기본 설정

참고

애플리케이션 ID 정보를 입력하고 검증( ) 버튼을 눌러서 검증이 완료되어야 다음으로 진행할 수 있다. 단, 이러한 처리는 애플리케이션을 처음 생성할 때 거치는 단계이며, 수정 시 애플리케이션 ID는 고칠 수 없으므로 거쳐가는 단계가 아니다.

[그림 3.161] BXCP 온라인 애플리케이션 검증완료

BXCP 온라인 애플리케이션 검증완료


  • 애플리케이션 ID

    고유한 애플리케이션 ID로 최대 63문자 입력이 가능하다. 소문자 영어, 숫자, 하이픈(-)만 사용이 가능하다. 단 영숫자로 시작하여 영숫자로 끝나야 한다.

  • 애플리케이션 이름

    애플리케이션 이름으로 한글 등 다양한 데이터로 입력이 가능하다.

  • 애플리케이션 설명

    관리자의 편의를 위하여 애플리케이션의 설명을 입력할 수 있다.

  • Ingress 유형

    Ingress 유형은 온라인 애플리케이션에 대한 트래픽을 결정하기 위해 선택하는 항목이다. 2개의 유형 모두 사전에 준비 할 의존성이 있으며, Service Mesh 유형은 Istio를 사용할 수 있는 환경이 마련되어야 하고 k8s Ingress 유형은 NGINX Ingress Controller 설치가 필요하다.

  • 배포 리소스

    [그림 3.162] 온라인 애플리케이션 생성 - 기본 설정 - 배포 리소스

    온라인 애플리케이션 생성 - 기본 설정 - 배포 리소스

    온라인 애플리케이션을 배포할 때 사용될 온라인 애플리케이션에 대한 코드, 이미지, 바이너리 등을 지정할 수 있다. 이때 배포 리소스 유형에 따라 필요한 URL 정보와 빌드팩 정보가 동적으로 변경된다.

    유형 종류

    • Gitlab

      배포할 리소스가 Gitlab 서버에 관리되는 repository인 경우에 사용하는 유형이다.

      배포를 처리할 기준 브랜치를 지정해야 하며 미지정 시 master 브랜치를 기준으로 처리된다. 이 Gitlab 유형은 빌드팩을 사용해서 배포가 이루어진다.

    • Container Image

      배포할 리소스가 컨테이너 이미지 형태로 dockerhub, harbor 등에 repository 서버를 사용하는 유형이다.

    • Object Storage

      배포할 리소스가 http 프로토콜을 통해서 가져 올 수 있는 형태이면 사용하는 유형이다.

    • FTP

      배포할 리소스가 ftp 프로토콜을 통해서 가져 올 수 있는 형태이면 사용하는 유형이다.

    • PCMS

      배포 처리 자체를 다른 곳에서 이루어지는 형태에서 사용하는 유형이다.

    인증선택

    각각의 유형에 따라서 배포 리소스 접근 시 인증이 필요할 시 선택하는 인증정보에 목록이다. 같은 프로젝트를 공유하는 다른 사용자가 필요한 인증을 이미 만들었다면 아래 그림과 같이 선택이 가능하다. 알맞은 인증을 선택하여 사용가능하다.

    [그림 3.163] 온라인 애플리케이션 생성 - 기본 설정 - 인증선택

    온라인 애플리케이션 생성 - 기본 설정 - 인증선택

    직접 입력

    미리 생성된 인증정보가 없거나 필요한 인증정보가 없을 때에는 사용자가 직접 입력을 통해서 인증 정보를 만들 수 있다.

    인증유형은 Token , ID/PASSWORD , Certificate 3가지 형태로 저장이 가능하다.

  • 빌드팩

    온라인 애플리케이션을 배포할 때 다양한 처리 과정에서 사용되는 빌드팩을 선택해야 한다. 빌드팩은 PCMS 배포 리소스 유형을 제외한 다른 배포 리소스 유형은 모두 빌드팩을 선택하게 되어있다.

    [그림 3.164] 온라인 애플리케이션 생성 - 기본 설정 - 빌드팩

    온라인 애플리케이션 생성 - 기본 설정 - 빌드팩

    [그림 3.165] 온라인 애플리케이션 생성 - 기본 설정 - 빌드팩 버전

    온라인 애플리케이션 생성 - 기본 설정 - 빌드팩 버전

  • 우선 순위

    애플리케이션 목록 조회 시 정렬 순서를 설정할 수 있다.

POD & CONTAINER 설정

[그림 3.166] 온라인 애플리케이션 생성 - POD & CONTAINER 설정

온라인 애플리케이션 생성 - POD & CONTAINER 설정

  • Replicas

    배포 처리 시 만들어지는 디플로이먼트의 스펙에 지정하는 리플리카셋 갯수를 지정하는 항목이다.

  • Service Type

    배포 처리 시 만들어지는 서비스 스펙에 지정되는 Service Type 유형을 지정할 수 있다.

    [그림 3.167] 온라인 애플리케이션 생성 - POD & CONTAINER 설정 - Service Type

    온라인 애플리케이션 생성 - POD & CONTAINER 설정 - Service Type


  • Ports

    배포 처리 시 만들어지는 디플로이먼트 스펙에서 컨테이너의 포트 번호를 설정할 수 있다.

    참고

    노드 포트번호를 사용하고 싶다면 반드시 관리자를 통해서 사용 가능한 포트 번호인지 확인이 필요하며, 해당 애플리케이션이 노드 포트번호를 사용할 필요성이 있는지 판단도 필요하다.

  • Command

    Dockerfile에 실행 명령어가 CMD로 정의된 경우, Command를 통해서 실행 명령어를 재정의 할 수 있다. 아래 그림과 같이 사용할 수 있다.

    [그림 3.168] 온라인 애플리케이션 생성 - POD & CONTAINER 설정 - Command

    온라인 애플리케이션 생성 - POD & CONTAINER 설정 - Command

  • Args

    Dockerfile에 정의된 실행 명령어가 다음에 아규먼트를 지정하고자 할 때 Args 속성을 추가하여 주입할 수 있다. 아래 그림은 CMD, Args를 같이 사용한 예시이다.

    [그림 3.169] 온라인 애플리케이션 생성 - POD & CONTAINER 설정 - Args

    온라인 애플리케이션 생성 - POD & CONTAINER 설정 - Args

  • Environment Variables

    컨테이너에서 사용할 수 있는 환경변수를 지정할 수 있다. 환경변수를 일반적인 키-값 형태가 될 수 있고 접근할 수 있는 컨피그맵이나 시크릿을 환경변수로 사용할 수 있다.

    [그림 3.170] 온라인 애플리케이션 생성 - POD & CONTAINER 설정 - 환경 변수 - 일반 변수

    온라인 애플리케이션 생성 - POD & CONTAINER 설정 - 환경 변수 - 일반 변수

    [그림 3.171] 온라인 애플리케이션 생성 - POD & CONTAINER 설정 - 환경 변수 - 컨피그맵 변수

    온라인 애플리케이션 생성 - POD & CONTAINER 설정 - 환경 변수 - 컨피그맵 변수

    [그림 3.172] 온라인 애플리케이션 생성 - POD & CONTAINER 설정 - 환경 변수 - 시크릿 변수

    온라인 애플리케이션 생성 - POD & CONTAINER 설정 - 환경 변수 - 시크릿 변수

  • Labels

    사용자가 원하는 레이블을 설정할 수 있다. 이 레이블은 파드 리소스의 레이블로 설정된다.

    [그림 3.173] 온라인 애플리케이션 생성 - POD & CONTAINER 설정 - 레이블 추가

    온라인 애플리케이션 생성 - POD & CONTAINER 설정 - 레이블 추가

  • Volumes

    컨테이너가 사용할 볼륨을 정의하고, 그 볼륨을 컨테이너에 마운트 하는 설정을 할 수 있다.

    [그림 3.174] 온라인 애플리케이션 생성 - POD & CONTAINER 설정 - 볼륨추가 - Host Path

    온라인 애플리케이션 생성 - POD & CONTAINER 설정 - 볼륨추가 - Host Path

    위에 Host Path 그림 예시를 기준으로 실제 생성되는 파드 스펙은 아래와 같다. 편의상 다른 부분을 생략했다.

    spec:
    						containers:
    						-
    						volumeMounts:
    						- mountPath: /etc/localtime
    						name: tz-seoul
    						volumes:
    						-
    						hostPath:
    						path: /usr/share/zoneinfo/Asia/Seoul
    						type: ""
    						name:
    						tz-seoul
    					

    그리고 아래는 Host Path 유형 이외에 선택할 수 있는 유형을 보여준다.

    [그림 3.175] 온라인 애플리케이션 생성 - POD & CONTAINER 설정 - 볼륨 추가

    온라인 애플리케이션 생성 - POD & CONTAINER 설정 - 볼륨 추가


  • Service Account

    파드 스펙에서 사용하는 서비스 어카운트를 지정할 수 있다. 이 서비스 어카운트는 인증/인가 처리에 이용된다.

    [그림 3.176] 온라인 애플리케이션 생성 - POD & CONTAINER 설정 - Service Account

    온라인 애플리케이션 생성 - POD & CONTAINER 설정 - Service Account


  • Node Selector

    노드 셀렉터를 설정하면 파드가 스케줄 되는 시점에 원하는 노드에 배치를 유도 할 수 있다. 노드 리소스의 레이블 정보를 기반하므로, 설정하기 전에 노드의 레이블 정보를 알아야 한다.

    [그림 3.177] 온라인 애플리케이션 생성 - POD & CONTAINER 설정 - Node Selector

    온라인 애플리케이션 생성 - POD & CONTAINER 설정 - Node Selector

  • Resource Quota

    파드 스펙에 어느 정도의 컴퓨팅 파워를 사용할 지 결정하는 Resource Quota를 설정할 수 있다.

    [그림 3.178] 온라인 애플리케이션 생성 - POD & CONTAINER 설정 - Resource Quota

    온라인 애플리케이션 생성 - POD & CONTAINER 설정 - Resource Quota

    경고

    신중하게 설정하지 않으면 이 설정으로 인해서 장애가 발생할 수 있다.

    온라인 애플리케이션이 속한 프로젝트의 정보를 프로젝트 정보 조회 버튼을 통해서 프로젝트 전체에 Resource Quota 정보를 확인하고 설정할 수 있다.

    [그림 3.179] 온라인 애플리케이션 생성 - POD & CONTAINER 설정 - Resource Quota - 프로젝트 정보

    온라인 애플리케이션 생성 - POD & CONTAINER 설정 - Resource Quota - 프로젝트 정보

롤아웃 설정

롤아웃 설정 탭에서는 온라인 애플리케이션을 쿠버네티스 클러스터에 배치하는 방법에 대한 설정을 할 수 있다.

  • 롤아웃 유형

    • Rolling

      Rolling 롤아웃은 쿠버네티스 디플로이먼트의 롤오버 기능을 사용하는 유형으로 가용한 파드를 중단없이 교체하는 방식이다.

      [그림 3.180] 온라인 애플리케이션 생성 - 롤아웃 설정 - Rolling 롤아웃

      온라인 애플리케이션 생성 - 롤아웃 설정 - Rolling 롤아웃


      [표 3.1] Rolling 롤아웃 속성

      속성
      Max Unavailable롤링 업데이트 처리 중에 삭제할 수 있는 파드의 최대 갯수 혹은 최대 비중이다. 값을 높게 설정하면 롤링 업데이트 처리 시간을 줄일 수 있는 장점이 있지만 남아있는 파드에 트래픽이 집중되는 단점이 있다.
      Max Surge롤링 업데이트 처리를 시작할때 생성할 수 있는 새로운 버전에 파드 최대 갯수 혹은 최대 비중이다. Max Unavailable 속성과 동일하게 높은 값을 설정하면 롤링 업데이트 처리 시간을 줄일수 있지만, 클러스터 컴퓨팅 자원을 많이 사용하게 되는 단점이 있다.


    • Canary

      Canary 롤아웃은 Istio에 기능을 사용하는 방법이다. 1개 온라인 애플리케이션에 BLUE 및 GREEN 버전의 애플리케이션을 모두 배포하고 트래픽의 비중을 설정하여 서비스를 제공하는 배포 방식이다.

      [그림 3.181] 온라인 애플리케이션 생성 - 롤아웃 설정 - Canary 롤아웃

      온라인 애플리케이션 생성 - 롤아웃 설정 - Canary 롤아웃


    • BLUE/GREEN

      BLUE/GREEN(줄여서 BG) 롤아웃 또한 Istio의 기능을 사용하는 방법이다. Canary 유형과 비슷하게 1개의 온라인 애플리케이션에 BLUE 및 GREEN 버전의 애플리케이션을 모두 배포하고 특정 조건을 만족하면 GREEN 버전으로 트래픽을 라우트하는 배포 방식이다. 여기서 특정 조건은 Request Matching 설정에 일치할 때를 의미한다.

      Request Matching - Header 유형은 온라인 애플리케이션에 요청되는 http 헤더 정보에서 조건에 만족하면 GREEN 버전 애플리케이션으로 트래픽이 라우트되는 유형이다.

      [그림 3.182] 온라인 애플리케이션 생성 - 롤아웃 설정 - Blue/Green - header

      온라인 애플리케이션 생성 - 롤아웃 설정 - Blue/Green - header


      Request Matching - Query Param 유형은 온라인 애플리케이션에 요청되는 http 쿼리 파라미터 정보가 조건에 만족하면 GREEN 버전 애플리케이션으로 트래픽이 라우트되는 유형이다.

      [그림 3.183] 온라인 애플리케이션 생성 - 롤아웃 설정 - Blue/Green - query

      온라인 애플리케이션 생성 - 롤아웃 설정 - Blue/Green - query


INGRESS 설정

INGRESS 설정 탭은 온라인 애플리케이션에 접근하는 트래픽이 외부/내부에서(North/South) 접근하는지 내부에서만(East/West) 접근하는지를 결정하는 유형의 선택과 그와 관련된 부가정보를 설정할 수 있다.

[그림 3.184] 온라인 애플리케이션 생성 - INGRESS 설정

온라인 애플리케이션 생성 - INGRESS 설정

  • 트래픽 유형

    North/South는 외부 호출을 위한 Service Mesh를 설정하고, East/West는 내부 호출을 위한 Service Mesh를 설정할 수 있다. 그리고 기본 설정에 Ingress 유형에 따라서 스펙이 달라진다.

  • Request Matching(North/South)

    외부 요청을 수신하는 Istio ingress-gateway나 NGINX ingress-controller에서 온라인 애플리케이션으로 트래픽을 라우트 시 식별 정보로 사용한다. Uri나 Domain Name 유형으로 정의할 수 있다.

  • Gateways(North/South)

    외부 요청을 수신하는 Gateway를 지정하며, Ingress 유형이 k8s Ingress로 선택시 nginx gateway가 고정값이다.

  • Expose Port

    컨테이너 이미지가 2개 이상의 포트로 동작할 때 트래픽을 보내 줄 포트번호를 지정해야 한다.

  • Service Mesh 설정

    컨테이너 이미지가 2개 이상의 포트로 동작할 때 트래픽을 보내 줄 포트번호를 지정해야 한다.

    Service Mesh 설정은 기본 설정 - Ingress 유형을 Service Mesh 로 선택시 보이는 설정 영역이다. Istio가 제공하는 기능을 설정하는 영역으로 이해하면 된다. Service Mesh 설정의 경우에는 장애 포인트로 역효과가 나타날수 있기 때문에 신중하게 설정해야 한다.

    [그림 3.185] 온라인 애플리케이션 생성 - INGRESS 설정 - Service Mesh 설정

    온라인 애플리케이션 생성 - INGRESS 설정 - Service Mesh 설정


    • Request Timeouts

      Envoy 프록시가 지정된 서비스의 응답 받아야 하는 최대 대기시간을 설정할 수 있다. 설정하지 않으면 비활성화 상태로 작동하지 않습니다.

    • Retries

      초기 호출이 실패할 경우 Envoy 프록시가 서비스에 연결을 시도하는 최대 횟수를 의미하는 설정이다. 재시도 횟수, 재시도 처리의 타임아웃을 지정할 수 있고 에러 유형을 지정할 수도 있다.

    • Fault Injection

      Istio를 사용한 네트워크 설정이 완료된 상태에서(혹은 테스트 목적으로) Istio에 Fault Injection 기능으로 오류를 주입할 수 있다.

      경고

      Retries, Request Timeouts 설정과 Fault Injection 설정을 같이 사용할 수 없다.

    • Load Balancer

      특정한 대상에 적용할 부하분산 정책을 지정할 수 있다.

    • Circuit Breakers

      목적지로 트래픽을 라우트 처리 시 지정한 조건에 따라서 일정 시간동안 로드밸런스 풀에서 제외하도록 설정할 수 있다.

HEALTH CHECK 설정

쿠버네티스 파드 스펙에 설정할 수 있는 Readiness, Liveness, Startup Probe를 설정할 수 있다.

경고

신중하게 설정하지 않으면 이 설정으로 인해서 장애가 발생할 수 있다.

HEALTH CHECK 설정을 따로 입력하지 않으면 아래와 같은 형태로 보여진다.

[그림 3.186] 온라인 애플리케이션 생성 - HEALTH CHECK 설정

온라인 애플리케이션 생성 - HEALTH CHECK 설정

그리고 아래는 Readiness Probe 버튼을 눌러서 Readiness Probe 설정을 입력한 예시를 볼 수 있다.

[그림 3.187] 온라인 애플리케이션 생성 - HEALTH CHECK 설정 - Readiness Probe

온라인 애플리케이션 생성 - HEALTH CHECK 설정 - Readiness Probe

위의 그림과 같은 설정이 디플로이먼트 리소스로 배포되면 아래와 같은 형태로 만들어진다. 일부 속성값은 기본값이 처리된 것을 알 수 있다.

spec:
				template:
				spec:
				containers:
				- readinessProbe:
				failureThreshold: 3
				httpGet:
				path:
				/bookinfo/productpage/health
				port: 9080
				scheme: HTTP
				periodSeconds: 10
				successThreshold: 1
				timeoutSeconds: 1
			

가용 클러스터 설정

온라인 애플리케이션을 배치할 클러스터를 지정할 수 있다. 그리고 특정 클러스터에만 별로도 지정할 속성을 오버라이드 처리할 수 있다.

아래는 호스트 역할에 클러스터만 선택한 예시를 보여주고 있다.

[그림 3.188] 온라인 애플리케이션 생성 - 가용 클러스터 설정

온라인 애플리케이션 생성 - 가용 클러스터 설정

경고

만약 위 그림을 기준으로 Not Ready 상태인 클러스터를 체크하고 배포가 진행되면 오류가 발생한다. 그렇기 때문에 [가용 클러스터 설정] 탭 화면에서는 상태를 확인하고 지정해야 한다.

가용 클러스터 설정 탭에서는 선택한 클러스터에만 따로 스펙을 오버라이드 하는 기능이 있다. 아래 그림에 나온 예시는 디플로이먼트 스펙을 기준으로 오버라이드 할 수 있는 항목을 보여주고 있다.

[그림 3.189] 온라인 애플리케이션 생성 - 가용 클러스터 설정 - Overrides

온라인 애플리케이션 생성 - 가용 클러스터 설정 - Overrides

3.35.4 온라인 애플리케이션 상세

온라인 애플리케이션 목록에서 애플리케이션 카드를 1개 클릭하면 진입할 수 있는 상세 정보를 제공하는 화면이다.

[그림 3.190] 온라인 애플리케이션 상세 화면

온라인 애플리케이션 상세 화면

위 그림은 배포가 성공적으로 이루어진 상태에서 온라인 애플리케이션 상세 화면을 나타냈다. 상세 화면은 최대한 많은 정보를 사용자에게 보여주기 위해 개발되었으므로 다음과 같은 정보를 제공한다.

  • 애플리케이션 기초 정보

  • 클러스터별, 버전별 레플리카 정보

  • 클러스터 기준 메트릭(CPU, MEMORY, NETWORK, WAITING REASON, TERMINATED REASON)

  • 버전별 파드

  • 버전별 서비스

  • 컨피그맵

  • 시크릿

  • 버전별 상태

  • 이벤트

3.35.4.1 애플리케이션

애플리케이션 현황은 온라인 애플리케이션 목록에서 보여지는 정보와 동일한 정보를 사용자에게 보여주는 부분이다.

[그림 3.191] 온라인 애플리케이션 - 애플리케이션

온라인 애플리케이션 - 애플리케이션


Rolling 롤아웃인 경우에는 수정 및 삭제 처리를 할 수 있는 메뉴를 제공한다.

[그림 3.192] 온라인 애플리케이션 - 애플리케이션 메뉴

온라인 애플리케이션 - 애플리케이션 메뉴


3.35.4.2 클러스터

클러스터 현황은 클러스터를 기준으로 몇 개의 온라인 애플리케이션 파드가 구동하고 있는지 표현하며, 레플리카 갯수를 조정하는 기능을 제공한다.

[그림 3.193] 온라인 애플리케이션 상세 - BLUE 버전만 배포된 상태에 클러스터 현황

온라인 애플리케이션 상세 - BLUE 버전만 배포된 상태에 클러스터 현황


그리고 롤아웃이 CANARY 또는 BG 일때 두번째 배포가 이루어지면 다음 그림과 같이 BLUE, GREEN 버전이 배포된 상태를 알 수 있다.

[그림 3.194] 온라인 애플리케이션 상세 - BLUE / GREEN 버전 모두 배포된 상태에 클러스터 현황

온라인 애플리케이션 상세 - BLUE / GREEN 버전 모두 배포된 상태에 클러스터 현황


클러스터 현황을 보면 , 버튼이 있는데 이것을 사용하면 클러스터별, 버전별 리플리카 갯수를 조정할 수 있다. 아래는 BLUE 버전 애플리케이션에 리플리카 갯수를 버튼을 통해서 +1 처리한 예시를 보여준다.

[그림 3.195] 온라인 애플리케이션 상세 - 리플리카 1개 상태를 증가시키는 버튼을 클릭한 이후 확인 메시지

온라인 애플리케이션 상세 - 리플리카 1개 상태를 증가시키는 버튼을 클릭한 이후 확인 메시지


3.35.4.3 메트릭

메트릭 현황은 클러스터에서 선택한 파드에 대한 다양한 메트릭 정보를 제공한다.

[그림 3.196] 온라인 애플리케이션 상세 - 메트릭

온라인 애플리케이션 상세 - 메트릭


3.35.4.4 파드

파드는 선택한 클러스터를 기준으로 애플리케이션에 파드 목록을 열람할 수 있다. 주요 상태를 나타내는 정보가 포함된 것이 특징이다.

[그림 3.197] 온라인 애플리케이션 상세 - 파드

온라인 애플리케이션 상세 - 파드


주요한 상태 정보 이외에 파드 1개를 클릭하게 되면 자세한 파드 정보를 확인할 수 있다.

[그림 3.198] 온라인 애플리케이션 상세 - 파드 - Details

온라인 애플리케이션 상세 - 파드 - Details


3.35.4.5 서비스

온라인 애플리케이션의 배포가 완료되면 자동으로 생성되는 서비스의 현황을 나타내는 부분이다.

[그림 3.199] 온라인 애플리케이션 상세 - 서비스

온라인 애플리케이션 상세 - 서비스


위에서 언급한 파드 현황에서 상세 정보를 확인할 수 있는 것과 동일하게 쿠버네티스 서비스 리소스에 대한 자세한 정보를 확인할 수 있다.

[그림 3.200] 온라인 애플리케이션 상세 - 서비스 - Details

온라인 애플리케이션 상세 - 서비스 - Details


3.35.4.6 컨피그맵

온라인 애플리케이션 스펙에서 컨피그맵 리소스를 지정했다면 그에 대한 컨피그맵 현황을 확인할 수 있다.

[그림 3.201] 온라인 애플리케이션 상세 - 컨피그맵

온라인 애플리케이션 상세 - 컨피그맵


아래는 컨피그맵 리소스에 대한 상세한 내용을 확인한 예시이다.

[그림 3.202] 온라인 애플리케이션 상세 - 컨피그맵 - Details

온라인 애플리케이션 상세 - 컨피그맵 - Details


3.35.4.7 시크릿

온라인 애플리케이션 스펙에서 시크릿 리소스를 지정했다면 그것에 대한 시크릿 리소스 현황을 확인할 수 있다.

[그림 3.203] 온라인 애플리케이션 상세 - 시크릿

온라인 애플리케이션 상세 - 시크릿


아래는 시크릿에 상세 내용을 확인한 예시이다.

[그림 3.204] 온라인 애플리케이션 상세 - 시크릿 - Details

온라인 애플리케이션 상세 - 시크릿 - Details


3.35.4.8 퍼시스턴트 볼륨 클레임

온라인 애플리케이션 스펙에서 퍼시스턴트 볼륨 클레임 리소스를 지정했다면 그것에 대한 퍼시스턴트 볼륨 클레임 현황을 확인할 수 있다.

[그림 3.205] 온라인 애플리케이션 상세 - 퍼시스턴트 볼륨 클레임

온라인 애플리케이션 상세 - 퍼시스턴트 볼륨 클레임


[그림 3.206] 온라인 애플리케이션 상세 - 퍼시스턴트 볼륨 클레임 - 상세

온라인 애플리케이션 상세 - 퍼시스턴트 볼륨 클레임 - 상세


3.35.4.9 상태

온라인 애플리케이션 스펙을 기준으로 배포가 이루어지면 다양한 리소스가 생성이 되는데, 상태를 보여주는 현황을 다음과 같이 볼 수 있다. kubectl describe 커맨드에서 보여주는 정보와 비슷한 내용을 보여준다.

[그림 3.207] 온라인 애플리케이션 상세 - 상태

온라인 애플리케이션 상세 - 상태


확인하고 싶은 상태가 있다면 아래 그림처럼 우측 상단의 필터 메뉴를 클릭해서 원하는 상태를 필터링할 수 있다.

[그림 3.208] 온라인 애플리케이션 상세 - 상태 - 필터 메뉴

온라인 애플리케이션 상세 - 상태 - 필터 메뉴


3.35.4.10 이벤트

온라인 애플리케이션 배포로 생성된 쿠버네티스 리소스와 관련된 이벤트 정보를 다음과 같이 확인할 수 있다.

[그림 3.209] 온라인 애플리케이션 상세 - 이벤트

온라인 애플리케이션 상세 - 이벤트


참고

쿠버네티스 이벤트 리소스의 경우에는 영구히 저장되지 않기 때문에 일정 시간이 지나면 이벤트 리소스 현황에 조회 결과가 없어진다.

3.35.5 온라인 애플리케이션 롤아웃

위에서 짧게 언급한 롤아웃에 따라서 애플리케이션 상세 화면이 어떻게 달라지는지 설명한다.

본 설명에서는 ROLLING 롤아웃은 해당하지 않으며 CANARY, BLUE/GREEN(줄여서 BG) 롤아웃일때만 해당한다.

[그림 3.210] 온라인 애플리케이션 상세 - GREEN 버전 배포

온라인 애플리케이션 상세 - GREEN 버전 배포


위 그림은 BLUE 버전 온라인 애플리케이션이 배포된 이후에 GREEN 버전에 애플리케이션이 추가로 배포된 상태를 보여주고 있다. 클러스터 현황 부분에서 색상으로 버전을 구분하고, 작동하는 파드 갯수를 나타낸다.

애플리케이션 현황에 빌드 항목에는 11 버전은 BLUE 버전, 12 버전은 GREEN 버전에 대한 정보를 제공하고 있다.

파드 현황을 보면 파드의 이름 왼쪽에 색상으로 구분되는 아이콘을 통해서 식별이 가능하다.

아래 그림을 보면 GREEN 버전의 온라인 애플리케이션 배포 시 상태를 각각 Type 항목 왼쪽에 색상으로 구분되는 아이콘이 위치한다.

[그림 3.211] 온라인 애플리케이션 상세 - GREEN 버전 배포 - 상태

온라인 애플리케이션 상세 - GREEN 버전 배포 - 상태


3.35.6 온라인 애플리케이션 롤아웃 처리

위에서 BLUE, GREEN 버전 모두를 배포 상태에서는 온라인 애플리케이션 상세 화면에서 추가적인 처리를 할 수 있다.

[그림 3.212] 온라인 애플리케이션 상세 - 롤아웃 처리 메뉴

온라인 애플리케이션 상세 - 롤아웃 처리 메뉴


BLUE, GREEN 버전이 모두 배포된 상태에서는 추가로 배포 처리가 이루어지지 않으며, 이 상태에서는 버전을 선택하는 처리를 완료해야만 배포를 다시 할 수 있다. 다음은 메뉴에 대한 설명이다.

  • 롤아웃 확정

    롤아웃 확정 메뉴를 선택하면 BLUE, GREEN 버전이 배포된 상태에서 GREEN 버전을 선택하는 처리가 이루어진다. GREEN 버전을 선택 시 처리하는 내용은 다음과 같다.

    • Istio DestinationRule 정보를 조정하여 BLUE 및 GREEN 트래픽을 GREEN 버전으로 라우트 되도록 처리

    • GREEN 빌드번호를 BLUE 빌드번호로 교체

    • GREEN 리비전번호를 BLUE 리비전번호로 교체

    • GREEN 태그 정보를 BLUE 태그 정보로 교체

    • BLUE 버전 Deployment 리소스 제거

    • GREEN 버전 Deployment 리소스에서 GREEN 버전 기준으로 설정된 어노테이션 정보를 BLUE 버전 기준으로 옮겨서 저장

    • 애플리케이션에 연결된 HPA 리소스가 있으면 GREEN 버전 Deployment 리소스 기준으로 재조정

  • 롤아웃 취소

    롤아웃 취소 메뉴를 선택하면 BLUE, GREEN 버전이 배포된 상태에서 BLUE 버전을 선택하는 처리가 된다. 롤아웃 취소는 다음과 같은 처리를 한다.

    • Istio DestinationRule 정보를 조정하여 BLUE 및 GREEN 트래픽을 BLUE 버전으로 라우트 되도록 처리

    • GREEN 빌드번호를 클리어

    • GREEN 리비전번호를 클리어

    • GREEN 태그 정보를 클리어

    • BLUE 버전에 스냅샷 정보로 쿠버네티스 서비스 재적용

    • GREEN 버전 Deployment 리소스 제거

    • BLUE 버전을 기준으로 NS/EW VirtualService 리소스 재적용

  • 롤아웃 교체

    롤아웃 교체 메뉴를 선택하면 CANARY 와 BG 롤아웃 간에 교체를 하기 위한 팝업을 사용할 수 있다. 롤아웃 교체의 경우에는 사용자가 선택하고 입력한 롤아웃 유형과 설정 정보로 VirtualService, DestinationRule 리소스가 재적용 된다.

3.35.6.1 롤아웃 확정

롤아웃 확정 메뉴를 클릭하면 다음과 같이 사용자에게 확인을 받게 된다.

[그림 3.213] 온라인 애플리케이션 상세 - 롤아웃 확정 처리 전

온라인 애플리케이션 상세 - 롤아웃 확정 처리 전


위에서 언급된 사용자 확인창에서 확인 버튼을 클릭하면 롤아웃 확정(GREEN 버전을 선택) 처리가 이루어진다. 위에 그림과 비교를 해보면 GREEN 버전에 리비전 10, 빌드번호 13 정보가 BLUE 버전으로 옮겨진 것을 알 수 있다.

[그림 3.214] 온라인 애플리케이션 상세 - 롤아웃 확정 처리 후

온라인 애플리케이션 상세 - 롤아웃 확정 처리 후


3.35.6.2 롤아웃 취소

롤아웃 확정 처리와는 반대로 롤아웃 취소 메뉴를 클릭하면 다음과 같이 사용자에게 확인을 받게 된다.

[그림 3.215] 온라인 애플리케이션 상세 - 롤아웃 취소 처리 전

온라인 애플리케이션 상세 - 롤아웃 취소 처리 전


롤아웃 취소 처리가 완료되면 위에 그림에서 BLUE 버전 기준에 리비전 10, 빌드번호 13 정보만 남은 상태로 아래 그림과 같이 취소가 완료된 것을 알 수 있다.

[그림 3.216] 온라인 애플리케이션 상세 - 롤아웃 취소 처리 후

온라인 애플리케이션 상세 - 롤아웃 취소 처리 후


3.35.6.3 롤아웃 교체

롤아웃 교체는 배포 프로세스가 완료되는 처리는 아니고 수정하는 처리로 CANARY에서 BG로 변경하거나, BG에서 CANARY로 변경하는 처리이다. 아래는 롤아웃 교체 메뉴를 클릭 시 제공되는 팝업이며, 이 팝업에서는 다른 정보는 수정하지 못한다.

[그림 3.217] 온라인 애플리케이션 상세 - 롤아웃 교체 처리 전

온라인 애플리케이션 상세 - 롤아웃 교체 처리 전


위에 그림에서 CANARY 롤아웃 유형으로 교체하고 적용을 하면 아래 그림과 같이 리비전번호, 빌드번호 정보는 변동이 없고 롤아웃 정보만 교체된 상태를 확인할 수 있다.

[그림 3.218] 온라인 애플리케이션 상세 - 롤아웃 교체 처리 후

온라인 애플리케이션 상세 - 롤아웃 교체 처리 후


3.36 배치 애플리케이션

쿠버네티스 JOB 리소스를 통한 배치 애플리케이션을 관리하는 메뉴이다. 온라인 애플리케이션과는 다르게 JOB 리소스는 CI/CD 파이프 라인을 통과해도 생성되지 않으며, JOB 리소스 내부에 실제 처리를 담당하는 POD 리소스의 컨테이너 이미지만 생성이 된다.

3.36.1 배치 애플리케이션 목록

아래 그림과 같이 [배치 애플리케이션] 메뉴를 통해 화면을 이동하면 생성된 배치 애플리케이션 목록이 온라인 애플리케이션 화면과 동일한 카드 형태의 스타일로 보여준다.

[그림 3.219] 배치 애플리케이션 목록

배치 애플리케이션 목록

3.36.2 배치 애플리케이션 현황

아래 그림처럼 카드 형태로 1개의 배치 애플리케이션에 현황을 나타내고 있다.

[그림 3.220] 배치 애플리케이션 현황

배치 애플리케이션 현황

  • 애플리케이션 이름

    애플리케이션 스펙을 최초 생성 시 지정한 애플리케이션 이름을 의미한다.

  • 애플리케이션 ID

    애플리케이션 스펙을 최초 생성 시 지정한 애플리케이션 ID를 의미한다.

  • 액션 버튼

    아이콘을 클릭하여 활성화할 수 있다. 애플리케이션 수정 및 삭제 기능을 수행할 수 있다.

  • 애플리케이션 설명

    애플리케이션 스펙을 최초 생성 시 지정한 애플리케이션 설명을 의미한다.

  • 빌드팩

    JOB 리소스로 실행할 파드 리소스의 이미지를 생성하기 위한 빌드팩에 정보를 나타낸다.

  • 빌드

    배치 애플리케이션도 CI/CD 파이프라인을 통해서 컨테이너 이미지는 생성하기 때문에 그에 대한 처리 과정에서 생성된 빌드번호를 표시한다.

3.36.3 배치 애플리케이션 생성

배치 애플리케이션 추가는 버튼을 클릭하여 할 수 있다. 1개의 탭으로 정보를 입력 받으며 각각의 항목이 의미하는 바는 다음과 같다.

기본 설정

[그림 3.221] 배치 에플리케이션 생성 - 기본 설정

배치 에플리케이션 생성 - 기본 설정

참고

애플리케이션 ID 정보를 입력하고 검증( ) 버튼을 눌러서 검증이 완료되어야 다음으로 진행할 수 있다. 단, 이러한 처리는 애플리케이션을 처음 생성할 때 거치는 단계이며, 수정 시 애플리케이션 ID는 고칠 수 없으므로 거쳐가는 단계가 아니다.

[그림 3.222] 배치 에플리케이션 생성 - 배치 애플리케이션 검증완료

배치 에플리케이션 생성 - 배치 애플리케이션 검증완료

  • 애플리케이션 ID

    애플리케이션 ID는 BXCP ADM에서 관리하는 배치 애플리케이션 ID를 입력합니다. 쿠버네티스 환경에서는 배치 애플리케이션 ID 정보가 리소스 이름으로 사용되지 않습니다.

  • 애플리케이션 이름

    배치 애플리케이션의 이름을 입력합니다.

  • 애플리케이션 설명

    배치 애플리케이션에 대한 설명을 입력합니다.

  • 배포 리소스

    [그림 3.223] 배치 에플리케이션 생성 - 기본 설정 - 리소스 유형

    배치 에플리케이션 생성 - 기본 설정 - 리소스 유형

    배치 애플리케이션을 배포할 때 사용될 배치 애플리케이션에 대한 코드, 이미지, 바이너리 등을 지정할 수 있다. 이때 배포 리소스 유형에 따라 필요한 URL 정보와 빌드팩 정보가 동적으로 변경된다.

    유형 종류

    • Gitlab

      배포할 리소스가 Gitlab 서버에 관리되는 repository인 경우에 사용하는 유형이다.

      배포를 처리할 기준 브랜치를 지정해야 하며 미지정시 master 브랜치를 기준으로 처리된다. 이 Gitlab 유형은 빌드팩을 사용해서 배포가 이루어진다.

    • Container Image

      배포할 리소스가 컨테이너 이미지 형태로 dockerhub, harbor 등의 repository 서버를 사용하는 유형이다.

    • Object Storage

      배포할 리소스가 http 프로토콜을 통해서 가져 올 수 있는 형태이면 사용하는 유형이다.

    • FTP

      배포할 리소스가 ftp 프로토콜을 통해서 가져 올 수 있는 형태이면 사용하는 유형이다.

    • PCMS

      배포 처리 자체를 다른 곳에서 이루어지는 형태에서 사용하는 유형이다.

    인증선택

    각각에 유형에 따라서 배포 리소스 접근 시 인증이 필요하면 선택하는 인증정보 목록이다. 같은 프로젝트를 공유하는 다른 사용자가 필요한 인증을 이미 만들었다면 아래 그림과 같이 선택 가능하다. 알맞은 인증을 선택하여 사용 가능하다.

    [그림 3.224] 배치 에플리케이션 생성 - 기본 설정 - 인증선택

    배치 에플리케이션 생성 - 기본 설정 - 인증선택

    직접 입력

    미리 생성된 인증정보가 없거나 필요한 인증 정보가 없을 때에는 사용자가 직접 입력을 통해서 인증 정보를 만들 수 있다.

    인증유형은 Token , ID/PASSWORD , Certificate 3가지 형태로 저장이 가능하다.

  • 빌드팩

    선택할 수 있는 빌드팩 정보가 나열된다. 여기서 나열되는 빌드팩은 배치 애플리케이션에 적합한 빌드팩이 조회된 결과로 이해하면 된다. 필요한 빌드팩이 없다면 관리자를 통해서 빌드팩을 생성해야 한다.

  • 우선 순위

    애플리케이션 목록 조회시 정렬 순서를 설정할 수 있다.

3.36.4 배치 애플리케이션 상세

배치 애플리케이션 목록에서 1개의 배치 애플리케이션을 클릭하면 배치 애플리케이션의 상세 화면으로 진입할 수 있다.

배치 애플리케이션을 생성한 직후에는 아래 그림처럼 쿠버네티스 JOB 리소스를 생성하지 않았기 때문에 내용이 없는 상태로 보인다.

[그림 3.225] 배치 애플리케이션 상세 - 잡 - 신규 생성

배치 애플리케이션 상세 - 잡 - 신규 생성


쿠버네티스 JOB 리소스를 최소 한번 생성을 하면 다음 그림과 같이 해당 JOB 리소스에 대한 목록을 열람 할 수 있다.

[그림 3.226] 배치 애플리케이션 상세 - 잡 - Job 리소스를 생성

배치 애플리케이션 상세 - 잡 - Job 리소스를 생성


다른 클러스터에서 생성한 JOB 리소스를 조회하려면 다음 그림과 같이 클러스터를 선택하는 콤보 박스를 이용해서 변경한다.

[그림 3.227] 배치 애플리케이션 상세 - 잡 - 클러스터 변경

배치 애플리케이션 상세 - 잡 - 클러스터 변경


3.36.5 JOB 생성

배치 애플리케이션을 생성했다면 컨테이너 이미지를 실행할 수 있는 쿠버네티스 JOB 리소스를 생성할 수 있다. 버튼을 클릭하면 다음 그림과 같은 그림에 팝업을 열 수 있다.

[그림 3.228] 배치 애플리케이션 상세 - 잡 생성

배치 애플리케이션 상세 - 잡 생성


[그림 3.229] 배치 애플리케이션 상세 - 기본 설정

배치 애플리케이션 상세 - 기본 설정


위에 그림에 나온 정보를 토대로 아래부터 새로운 쿠버네티스 JOB 리소스를 생성하는 예시를 보여준다.

apiVersion: batch/v1
						kind: Job
						metadata:
						name: perl                                                                                                       (1)
						namespace: bookinfo                                                                                              (2)
						labels:
						bankwareglobal.io/domain: bookinfo
						bankwareglobal.io/name: perl
						spec:
						template:
						spec:
						restartPolicy:
						OnFailure
						containers:
						- name: perl                                                                                                     (3)
						image:                                                                                                           (4)
						registry.bxcp.lab:5443/bookinfo/perl:v1
						command: ["perl",
						"-Mbignum=bpi", "-wle", "print bpi(2000)"]
					

1

perl

JOB 리소스에 이름을 perl로 지정했다.

2

bookinfo

JOB 리소스에 네임스페이스를 bookinfo로 지정했다.

3

registry.bxcp.lab:5443/bookinfo/perl:v1

배치 애플리케이션에 설정한 배포 리소스를(Container Image) registry.bxcp.lab:5443/bookinfo/perl:v1 이미지를 설정했다.

4

["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]

샘플 이미지를 실행하는 커맨드를 지정했다.

위에서 필요한 정보를 모두 입력하고 버튼을 클릭하면 유효성 문제가 없으면 저장이 완료된다. 그 즉시 쿠버네티스 JOB 리소스로 생성되어 작업이 실행된다.

3.36.6 생성한 JOB 리소스 확인

위에서 언급한데로 쿠버네티스 JOB 리소스 스펙을 저장하면 바로 실행 되기 때문에 배치 애플리케이션에 상세 화면으로 진입을 하면 실행한 쿠버네티스 JOB 목록을 열람할 수 있다.

아래 그림을 보면 생성한 JOB 리소스에 요약 정보를 바로 확인할 수 있다.

[그림 3.230] 배치 애플리케이션 상세 - 잡 목록

배치 애플리케이션 상세 - 잡 목록


JOB 목록에 보여지는 행에서 1개를 클릭하면 아래 그림과 같이 실제 쿠버네티스 환경에 만들어진 YAML 스펙을 볼 수 있다. 위에서 perl 이라는 이름으로 생성한 쿠버네티스 JOB 리소스의 스펙을 볼 수 있다.

[그림 3.231] 배치 애플리케이션 상세 - 잡 상세 - YAML

배치 애플리케이션 상세 - 잡 상세 - YAML


파드 탭에는 쿠버네티스 JOB 리소스에 의해서 만들어졌던 파드 정보를 아래 그림처럼 확인 할 수 있다. 예시에 보이는 항목에서 Status 속성은 Succeeded 상태이니 생성한 JOB은 성공적으로 처리를 완료한 것을 알 수 있다.

[그림 3.232] 배치 애플리케이션 상세 - 잡 상세 - Pods

배치 애플리케이션 상세 - 잡 상세 - Pods


[그림 3.233] 배치 애플리케이션 상세 - 잡 상세 - Pods - Details

배치 애플리케이션 상세 - 잡 상세 - Pods - Details


아래 그림은 쿠버네티스 JOB 리소스에 의해 실행되는 파드에 이벤트 정보를 확인할 수 있는 탭 화면 예시이다.

[그림 3.234] 배치 애플리케이션 상세 - 잡 상세 - Events

배치 애플리케이션 상세 - 잡 상세 - Events


참고

위에 나온 이벤트는 쿠버네티스 이벤트 리소스이기 때문에 일정 시간이 지나면 사라지는 데이터이다.

3.37 레거시 애플리케이션

레거시 애플리케이션은 이름에서 알 수 있듯이 레거시 환경에서 서비스를 제공하는 애플리케이션을 관리하는 화면이다.

3.37.1 레거시 애플리케이션 목록

아래 그림과 같이 [레거시 애플리케이션] 메뉴를 통해 화면을 이동하면 생성된 레거시 애플리케이션 목록을 온라인 애플리케이션 화면과 동일한 카드 형태의 스타일로 보여준다.

[그림 3.235] 레거시 애플리케이션 목록

레거시 애플리케이션 목록

3.37.2 레거시 애플리케이션 현황

온라인 애플리케이션에서 봤던 동일한 카드 형태의 스타일로 레거시 애플리케이션 1개를 표현하고 있다.

[그림 3.236] 레거시 애플리케이션 현황

레거시 애플리케이션 현황

  • 애플리케이션 이름

    애플리케이션 스펙을 최초 생성 시 지정한 애플리케이션 이름을 의미한다.

  • 애플리케이션 ID

    애플리케이션 스펙을 최초 생성 시 지정한 애플리케이션 ID를 의미한다.

  • 액션 버튼

    아이콘을 클릭하여 활성화할 수 있다. 애플리케이션 수정 및 삭제 기능을 수행할 수 있다.

  • 애플리케이션 설명

    애플리케이션 스펙을 최초 생성 시 지정한 애플리케이션 설명을 의미한다.

  • 빌드팩

    레거시 애플리케이션에 컨테이너 이미지를 생성하기 위한 빌드팩 정보이다.

  • 빌드

    레거시 애플리케이션도 CI/CD 파이프라인을 통해서 컨테이너 이미지는 생성하기 때문에 그에 대한 처리 과정에서 생성된 빌드번호를 표시한다.

3.37.3 레거시 애플리케이션 생성

레거시 애플리케이션 추가는 버튼을 클릭하여 할 수 있다. 1개의 탭으로 정보를 입력 받으며 각각의 항목이 의미하는 바는 다음과 같다.

기본 설정

[그림 3.237] 레거시 애플리케이션 생성 - 기본 설정

레거시 애플리케이션 생성 - 기본 설정

참고

애플리케이션 ID 정보를 입력하고 검증( ) 버튼을 눌러서 검증이 완료되어야 다음으로 진행할 수 있다. 단, 이러한 처리는 애플리케이션을 처음 생성할 때 거치는 단계이며, 수정 시 애플리케이션 ID는 고칠수 없으므로 거쳐가는 단계가 아니다.

[그림 3.238] 레거시 애플리케이션 검증완료

레거시 애플리케이션 검증완료


  • 애플리케이션 ID

    애플리케이션 ID는 BXCP ADM에서 관리하는 레거시 애플리케이션 ID를 입력합니다. 프로젝트 범위 기준으로 유일한 ID를 입력해야 한다.

  • 애플리케이션 이름

    레거시 애플리케이션의 이름을 입력한다.

  • 애플리케이션 설명

    레거시 애플리케이션에 대한 설명을 입력한다.

  • 배포 리소스

    [그림 3.239] 레거시 애플리케이션 - 기본 설정 - 리소스 유형

    레거시 애플리케이션 - 기본 설정 - 리소스 유형

    레거시 애플리케이션을 배포할 때 사용될 레거시 애플리케이션에 대한 코드, 이미지, 바이너리 등을 지정할 수 있다. 이때 배포 리소스 유형에 따라 필요한 URL 정보와 빌드팩 정보가 동적으로 변경된다.

    유형 종류

    • Gitlab

      배포할 리소스가 Gitlab 서버에 관리되는 repository인 경우에 사용하는 유형이다.

      배포를 처리할 기준 브랜치를 지정해야 하며 미지정 시 master 브랜치를 기준으로 처리된다. 이 Gitlab 유형은 빌드팩을 사용해서 배포가 이루어진다.

    • Container Image

      배포할 리소스가 컨테이너 이미지 형태로 dockerhub, harbor 등에 repository 서버를 사용하는 유형이다.

    • Object Storage

      배포할 리소스가 http 프로토콜을 통해서 가져 올 수 있는 형태이면 사용하는 유형이다.

    • FTP

      배포할 리소스가 ftp 프로토콜을 통해서 가져 올 수 있는 형태이면 사용하는 유형이다.

    • PCMS

      배포 처리 자체를 다른 곳에서 이루어지는 형태에서 사용하는 유형이다.

    인증선택

    각각의 유형에 따라서 배포 리소스 접근 시 인증이 필요하면 선택하는 인증정보의 목록이다. 같은 프로젝트를 공유하는 다른 사용자가 필요한 인증을 이미 만들었다면 아래 그림과 같이 선택이 가능한데 알맞은 인증을 선택하여 사용 가능하다.

    [그림 3.240] 레거시 애플리케이션 - 기본 설정 - 인증선택

    레거시 애플리케이션 - 기본 설정 - 인증선택

    직접 입력

    미리 생성된 인증정보가 없거나 필요한 인증정보가 없을 때에는 사용자가 직접 입력을 통해서 인증 정보를 만들 수 있다.

    인증유형은 Token , ID/PASSWORD , Certificate 3가지 형태로 저장이 가능하다.

  • 빌드팩

    선택할 수 있는 빌드팩 정보가 나열된다. 여기서 나열되는 빌드팩은 레거시 애플리케이션에 적합한 빌드팩이 조회된 결과이다. 필요한 빌드팩이 없다면 관리자를 통해서 빌드팩을 생성해야 한다.

  • 우선 순위

    애플리케이션 목록 조회시 정렬 순서를 설정할 수 있다.

3.38 빌드

빌드 메뉴는 Pipeline이 동작하여 애플리케이션이 빌드된 결과를 확인할 수 있는 메뉴이다.

3.38.1 빌드 목록

빌드 메뉴를 클릭해서 화면으로 진입하면 아래와 같은 빌드번호를 기준으로 처리했던 현황을 볼 수 있다.

[그림 3.241] 빌드 목록

빌드 목록

참고

애플리케이션 1개를 기준으로 보여주기 때문에 다른 애플리케이션에 빌드 현황은 아래와 같이 프로젝트/애플리케이션 필터링 콤보 박스를 통해서 조절이 가능하다.

[그림 3.242] 빌드 목록 - 애플리케이션 필터링

빌드 목록 - 애플리케이션 필터링

  • 빌드번호, 커밋 메시지

    웹훅을 통해서 자동으로 파이프라인이 실행되어 채번된 빌드번호와, 웹훅이 발생하게된 커밋의 메시지를 보여준다.

  • 수행 상태

    파이프라인이 실행된 결과를 보여준다.

  • 소요 시간

    파이프라인이 실행된 경과 시간을 의미한다.

  • 리소스 ID

    파이프라인 솔루션에서 채번한 리소스에 ID 이다. 정보성 데이터이다.

  • 릴리즈 등록 여부

    릴리즈로 등록하여 애플리케이션 이관을 할 수 있는 빌드 처리 건인지 여부를 나타낸다.

  • 수행 일시

    빌드 처리가 이루어진 일시를 나타낸다.

  • 액션 버튼

    아이콘을 클릭하여 활성화 할 수 있다. 해당 빌드로 릴리즈 등록 및 빌드 삭제를 수행할 수 있다.

    릴리즈 등록 메뉴를 클릭하게 되면 아래 그림처럼 빌드번호에 대한 릴리즈를 등록할 수 있다. 릴리즈를 등록하면 해당 애플리케이션을 이관 처리 후에, 배포 시 릴리즈 등록된 빌드에 결과물인 컨테이너 이미지를 가져올 수 있다.

    [그림 3.243] 빌드 목록 - 릴리즈 등록

    빌드 목록 - 릴리즈 등록


3.38.2 빌드 상세

빌드 이력을 클릭하면 파이프라인을 통해서 처리된 결과를 상세하게 확인 할 수 있다. 아래는 그 예시를 보여준다.

[그림 3.244] 빌드 상세

빌드 상세


빌드 목록에서 보이는 항목에 추가로 파이프라인에 정의된 단계별 처리 상태를 보여주고 있다. 각각에 단계의 실행 시간, 상태, 이름 등이 표시된다.

아래는 # Application Delivery 단계를 클릭했을 때 확인할 수 있는 화면이다. 실제로 젠킨스에서 실행했던 로그 정보를 열람할 수 있다.

[그림 3.245] 빌드 상세 - 스테이지별 로그 조회

빌드 상세 - 스테이지별 로그 조회


빌드 상세에는 액션 버튼을 제공하고 있는데 아래 그림을 참고한다.

[그림 3.246] 빌드 상세 - 액션 버튼

빌드 상세 - 액션 버튼


  • 릴리즈 수정

    릴리즈 수정은 릴리즈 등록을 했다면 보이는 메뉴이다. 등록했던 정보를 수정하는 팝업을 열어준다.

  • 빌드 삭제

    빌드 삭제 메뉴는 현재 열람하는 빌드 번호를 삭제한다.

  • 전체 로그 viewer

    파이프라인이 실행된 결과 로그를 열람하는 팝업을 제공한다. 하단의 버튼으로 로그를 새로고침 할 수 있고 버튼을 통해서 로그를 내려 받을 수 있다.

    [그림 3.247] 빌드 상세 - 전체 로그 viewer

    빌드 상세 - 전체 로그 viewer


  • 스크립트 viewer

    파이프라인에 정의된 각종 스크립트 정보를 확인할 수 있는 팝업을 제공한다.

    [그림 3.248] 빌드 상세 - 스크립트 viewer

    빌드 상세 - 스크립트 viewer


3.39 릴리즈

릴리즈 메뉴에서는 애플리케이션의 빌드 이력을 기준으로 등록된 릴리즈 정보를 관리할 수 있다.

3.39.1 릴리즈 목록

[그림 3.249] 릴리즈 목록

릴리즈 목록

  • 빌드 번호

    등록한 빌드 번호를 보여준다. 그 아래엔 배포 리소스별 webhook에 담긴 message 정보가 제공된다.

  • 릴리즈 제목

    릴리즈 생성 시 입력한 릴리즈 제목을 보여준다. 아래에는 릴리즈 설명이 함께 제공된다.

  • 리소스 ID

    배포 리소스별 webhook의 ID값을 보여준다. 예를들어 Gitlab의 경우 Commit ID를 보여준다.

  • 승인

    해당 릴리즈를 이관할 것인지 승인 여부를 보여준다.

  • 담당자 ID

    릴리즈를 등록한 사용자 ID를 보여준다.

  • 등록 일시

    릴리즈를 등록한 일시를 보여준다.

  • 이관 일시

    릴리즈를 이관한 일시를 보여준다.

  • 액션 버튼

    아이콘을 클릭하여 활성화할 수 있다. 릴리즈 수정, 배포 및 승인 취소를 수행할 수 있다.

참고

릴리즈 목록은 조회된 행마다 상세 팝업을 제공하지 않고 조회된 결과만 참고하는 화면이다. 또한 편의 기능으로, 처럼 릴리즈가 배포된 상태이면 색상으로 표시된다.

3.40 배포이력

배포이력 화면에서는 프로젝트별, 애플리케이션별 배포이력을 조회할 수 있다.

3.40.1 배포이력 목록

[그림 3.250] 배포이력 목록

배포이력 목록

  • 빌드 번호

    배포한 빌드 번호를 보여준다. 그 아래는 배포 리소스별 webhook에 담긴 message 정보가 제공된다.

    참고

    현재 배포되어 운영중인 것은 색으로 구분한다.

    [그림 3.251] 배포이력 - BLUE 버전

    배포이력 - BLUE 버전

    [그림 3.252] 배포이력 - GREEN 버전

    배포이력 - GREEN 버전


  • 리비전

    애플리케이션 정보를 수정할 경우 리비전이 올라간다. 해당 리비전 값을 보여준다.

  • 릴리즈 제목

    릴리즈 생성 시 입력한 릴리즈 제목을 보여준다. 그 아래엔 릴리즈 설명이 함께 제공된다.

  • 리소스 ID

    배포 리소스별 webhook의 ID값을 보여준다. 예를들어 Gitlab의 경우 Commit ID를 보여준다.

  • 정상 여부

    배포한 결과가 정상인지 여부를 정보성으로 체크하여 관리할 수 있다.

  • 배포 일시

    배포한 일시를 보여준다.

  • 액션 버튼

    아이콘을 클릭하여 활성화할 수 있다. 액션 버튼을 통해 해당 배포로 롤백할 수 있다.

경고

애플리케이션이 BLUE, GREEN 버전이 모두 배포된 상태에서 롤백 처리를 실행하면 아래와 같이 오류가 발생한다

롤아웃 유형에는 관계없이 롤백 처리는 BLUE 버전만 배포된 상태에서만 사용할 수 있다.

[그림 3.253] 배포 이력 - 롤백 에러

배포 이력 - 롤백 에러


3.41 프로젝트 정보 - 요약 정보

프로젝트 정보의 요약 정보 화면은 BXCP ADM 프로젝트를 기준으로 요약된 정보를 보여주는 메뉴이다.

[그림 3.254] 프로젝트 - 요약 정보

프로젝트 - 요약 정보

3.41.1 클러스터 및 프로젝트 정보

프로젝트 정보의 요약 정보 화면에서 클러스터 및 프로젝트 정보를 표시한 화면이다.

왼쪽 상단에서 프로젝트를 선택하고 오른쪽에서 클러스터를 선택할 수 있다. 그에 따른 간단한 정보가 프로젝트 선택 콤보박스 밑에 나타난다.

[그림 3.255] 프로젝트 - 요약 정보 - 클러스터 및 프로젝트 정보

프로젝트 - 요약 정보 - 클러스터 및 프로젝트 정보

3.41.2 메트릭 정보

프로젝트 정보의 요약 정보 화면에서 메트릭 정보를 표시한 화면이다.

[그림 3.256] 프로젝트 - 요약 정보 - 메트릭 정보

프로젝트 - 요약 정보 - 메트릭 정보

프로젝트의 레플리카 정보

프로젝트를 기준으로 스펙에 정의된 레플리카 개수 대비 Ready 상태 레플리카 개수를 보여준다.

  • Ready

    실제 ready 상태 레플리카 갯수이다.

  • Replicas

    스펙에 정의된 레플리카 갯수이다.

프로젝트의 쿠버네티스 리소스 정보

각 프로젝트에 해당하는 쿠버네티스 리소스의 갯수를 보여준다.

리소스 항목을 선택하면 해당하는 쿠버네티스 리소스의 상세 정보를 볼 수 있는 화면으로 이동한다.

  • Pods

    해당 프로젝트에 해당하는 쿠버네티스 파드의 갯수이다.

  • Services

    해당 프로젝트에 해당하는 쿠버네티스 서비스의 갯수이다.

  • Config Maps

    해당 프로젝트에 해당하는 쿠버네티스 컨피그맵의 갯수이다.

  • Secrets

    해당 프로젝트에 해당하는 쿠버네티스 시크릿의 갯수이다.

프로젝트의 리소스 이용 메트릭 정보

해당 프로젝트를 기준으로 다양한 메트릭 정보가 제공된다.

  • CPU (Core)

    프로젝트에 대한 CPU 사용량이다.

  • Memory (MB)

    프로젝트에 대한 Memory 사용량이다.

  • Network (KB)

    프로젝트에 대한 Network 사용량이다. SEND는 네트워크 발송량을 나타내는 그래프이고 RECEIVE는 네트워크의 수신량을 나타내는 그래프이다.

  • Replicas

    스펙에 정의된 레플리카의 갯수 대비 실제 ready 상태인 레플리카 갯수이다.

  • Restart

    해당 프로젝트에서 재기동되는 파드의 증가율이다.

  • Persistent Volume(%)

    해당 프로젝트에 대한 Persistent Volume 사용량이다.

  • Waiting Reason

    해당 프로젝트에 대한 Pod가 배포되지 않고 대기 상태가 된 이유이다.

  • Terminated Reason

    해당 프로젝트에 대한 Pod기 종료된 이유이다.

  • Resource Quota

    프로젝트의 CPU, Memory 사용량에 대한 요구량과 제한량이다.

3.41.3 이벤트 정보

프로젝트에 속한 사용자가 어떤 리소스를 적용하거나(create, replace, apply, delete 등) 적용된 리소스의 문제가 발생 시 이벤트를 조회하여 제공하는 영역이다. 아래 그림을 보면 이벤트 내용을 시간 기준으로 확인할 수 있으며 이벤트 데이터의 정렬은 시간의 내림차순이다.

[그림 3.257] 프로젝트 - 요약 정보 - 이벤트 정보

프로젝트 - 요약 정보 - 이벤트 정보