# 클러스터 관리

## 1. 클러스터 관리

클러스터의 주요 구성 요소는 노드, 스토리지, 애플리케이션입니다. 구성한 클러스터가 계획에 따라 동작하도록 관리하기 위해서는 모니터링과 알림 그리고 보안 설정이 추가로 필요합니다.

클러스터 관리에 필요한 도구와 내용을 하나씩 살펴보도록 하겠습니다.

\[인프라] - \[클러스터]로 이동하면 클러스터 관리에 관한 기능을 사용할 수 있습니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FZKRIviRK5ByNJ1pJIg0h%2Fimage.png?alt=media&#x26;token=c075f43d-5856-445f-86bf-1e9e6568f863" alt=""><figcaption><p>[화면] 클러스터 관리</p></figcaption></figure>

## 클러스터 관리 화면에서 제공되는 정보 및 기능

> * 클러스터 공급자(Cloud Service Provider) 종류, 물리적 위치(지역)
> * 클러스터 동작 상태 (Running/Stop)
> * 클러스터 자원 할당 유형 (클러스터/서비스 맵)
> * 클러스터 할당 노드 수
> * 클러스터 할당 자원
> * 클러스터 할당 GPU 노드 수
> * 클러스터 발생 알림
> * \[기능] 클러스터 등록
> * \[기능] 클러스터 웹 접속 터미널 연결 링크
> * \[기능] 클러스터 외부 접속 인증서 다운로드

## 클러스터 등록은 어떻게 하나요?

칵테일 클라우드는 온-프레미스 환경(물리적 서버)과 클라우드 서비스에 구현 가능하며, 지속적으로 추가 연동을 개발하고 있습니다.

> * Amazon Web Service
> * Microsoft Azure
> * Google Cloud Platform
> * Naver Cloud Platform
> * VMware
> * Alibaba Cloud
> * Tencent Cloud
> * Rovius Cloud
> * On-Premise (물리 서버)
> * Datacenter

클러스터 등록(생성) 은 아래 링크에서 상세히 설명하고 있습니다.

{% embed url="<https://app.gitbook.com/o/-M0yzbQdqIBXThdW8H9h/s/vqp2nCQPDsjfLSru1kHs/undefined-2/undefined-1>" %}
\[클러스터등록]
{% endembed %}

## 클러스터에 할당된 자원 현황은 어떻게 확인 할 수 있나요?

등록된 클러스터의 자원과 상태를 확인하기 위해서 클러스터 목록 화면으로 이동합니다.

\[인프라] - \[클러스터]를 클릭하면 클러스터 목록 화면에서 접근 가능한 클러스터의 목록이 표시됩니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FypL1fnPh04LmdS5AQN6c%2Fimage.png?alt=media&#x26;token=0f14daf1-b04e-4c20-99dd-efe86b358535" alt=""><figcaption><p>[화면] 접근 가능한 클러스터 목록 및 자원 현황</p></figcaption></figure>

클러스터 목록 화면 제공 정보

> * 클러스터 이름 (사용자 지정)
> * k8s 버전 (쿠버네티스 버전)
> * 상태 (Running, Stop)
> * 노드 수 (클러스터 구성 노드 수)
> * 클러스터 자원 (CPU, Memory, Storage) 현황
> * GPU 노드 (클러스터에 구성된 GPU 노드 수)
> * 알람 (발생된 알람 수)

## 3. 클러스터 구성 자원의 상세 자원 현황은 어떻게 확인 하나요?

등록된 클러스터의 구성 자원을 변경하거나 등록 정보를 변경하기 위해서 \[인프라] - \[클러스터] 를 선택한 후 등록 정보 탭으로 이동합니다.

### 3.1 클러스터 구성 개요 확인하기 클러스터 등록정보 화면에서 설정 가능한 정보

> * (클라우드 서비스) 공급자
> * (클라우드 서비스) 유형
> * 리전 (프로바이더 및 서버의 지역적/물리적 위치)
> * 클러스터 이름 (칵테일 클라우드에서 표현될 이름)
> * 쿠버네티스 버전 (클러스터에서 사용하는 쿠버네티스 버전 정보)
> * 아이디 (클러스터 공유 아이디, 알람메시지 리다이렉트 시 필요)
> * 설명 (클러스터에 대한 사용자 설명을 추가)
> * 마스터 주소 (Kubernetes API 주소. “ [https://host:port](https://host/:port/) ” 형식을 사용한다.)
> * 인그레스 호스트 (인그레스 방식에 사용할 Host IP Address 서비스, Master IP or Load balancer IP)
> * 노드 포트 호스트 주소 (노드에 포트를 붙여 서비스 노출하는 방식에서 포트 앞에 사용할 IP 서비스, Master IP or Load balancer IP)
> * 노드 포트 범위 (노드에 포트를 붙여 서비스 노출하는 방식에서 IP 뒤에 사용할 포트의 범위, 30000\~32767 권장)
> * Cluster CA Certification (마스터 서버 접속 후 /etc/kubernetes/pki 경로 이동 후 ca.crt파일값 입력)
> * Client Certificate Data (마스터 서버 접속 후 /etc/kubernetes/pki 경로 이동 후 admin.crt파일 값 입력)
> * Client Key Data (마스터 서버 접속 후 /etc/kubernetes/pki 경로 이동 후 admin.key파일 값 입력)

### 3.2 클러스터 구성 노드의 자원 모니터링 확인하기 등록된 클러스터의 노드 자원 정보를 확인하기 위해서 노드 상세 화면으로 이동합니다.

\[인프라] - \[클러스터] 탭으로 이동한 후 노드 탭에서 해당 노드를 선택한 후 모니터링 탭으로 이동합니다.

자원 사용 현황(CPU, Memory, Disk, 네트워크), 자원 요약(용량, 가용량, 요청량), 상태(이벤트 발생에 따른 유형, 상태, 최근 발생 시간, 최근 경과 시간, 발생 이유, 메시지) 정보가 제공됩니다. 노드에 대한 모니터링 정보는 통합 모니터링 메뉴에서도 추가적인 정보를 얻을 수 있습니다

{% embed url="<https://app.gitbook.com/o/-M0yzbQdqIBXThdW8H9h/s/vqp2nCQPDsjfLSru1kHs/~/changes/1/undefined-4/undefined-4>" %}
\[통합 모니터링]
{% endembed %}

### 3.3 클러스터에 스토리지 생성하기

클러스터에 스토리지를 할당하기 위해서는 \[인프라] - \[클러스터] - \[스토리지 볼륨] - "+ 생성" 버튼을 클릭하여 스토리지 생성 화면으로 이동합니다.

스토리지 생성을 위해 유형을 선택합니다. 공통의 환경에서는 NFS 와 NFS Named 유형이 제공되며, Azure 서비스는 Azure Disk 와 Azure File 유형을 추가로 제공합니다.

선택한 유형에 따라 스토리지 생성을 위한 상세 설정이 가능하며, 설정 가능한 정보(스펙)는 아래와 같습니다.

> * 이름 (스토리지 이름)
> * 설명 (스토리지 사용자 설명)
> * 기본 스토리지 (기본 스토리지 사용 여부 선택)
> * 스토리지 플러그인
> * 정책 (스토리지 삭제 시 정책 설정, Retain or Delete)
> * 총용량 (스토리지 총용량, Gb)
> * 파라미터 (스토리지 파라미터 설정)
> * 마운트 옵션 (스토리지 마운트 옵션 설정)
> * 라벨 (스토리지 라벨 설정)
> * 주석 (스토리지 주석 설정)

## 4. 애플리케이션의 배포 현황은 어떻게 확인 할 수 있나요?

칵테일 클라우드에서 배포한 애플리케이션은 워크로드 단위로 배포되며, \[워크로드]에서 해당 워크로드를 선택하면 확인 가능합니다.

배포한 애플리케이션의 배포 상태를 포함하여 워크로드 이름, 워크로드 상태, 배포 유형(Deployment, Daemon Set, Stateful Set, Job, Cron Job), 인스턴스 개수, 현재 자원 사용량(CPU, Memory) 배포 후 서비스 Uptime(Age) 등을 확인할 수 있습니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FUraVDCNGw6RrCmnLn4vf%2Fimage.png?alt=media&#x26;token=73429e7c-c037-4e7a-8b42-dd45e2fb24f0" alt=""><figcaption><p>[화면] 애플리케이션 배포 현황 조회</p></figcaption></figure>

## 5. 클러스터에서 발생한 알림(Alert) 은 어떤 의미 인가요?

운영 중인 워크로드 (혹은 인스턴스)에서 알림이 발생할 경우, SMS(Slack 등), E-mail, 대시보드를 통해 실시간으로 현황을 제공합니다.

\[인프라] - \[클러스터] - \[알림]을 선택한 후 알림 목록을 통해 해결되지 않은 알림들이 출력되며, 각 알림들은 알림명(상태 요약), 중요도(Critical, Warning), 발생 일시가 제공됩니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2Fgit-blob-39da4614713dc1f52cf17b92677d1bace7831ae1%2Fimage.png?alt=media" alt=""><figcaption><p>[화면] 클러스터 발생 알림 목록</p></figcaption></figure>

알림의 상세 정보를 확인하기 위해 알림명을 선택하면, 알림 상세 정보 팝업을 통해 추가 정보가 제공됩니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FoDVoIrLO6qU0QyLyCIYc%2Fimage.png?alt=media&#x26;token=be0fc7c3-3f2f-4bde-8bfe-98988a29a127" alt=""><figcaption><p>[화면] 클러스터 알림 상세 정보</p></figcaption></figure>

## 6. 애드온은 어떤 역할을 하나요?

칵테일 클라우드에서 애드온은 클러스터 운영에 편의를 제공하는 프로메테우스를 포함한 클러스터 매니지먼트 컴포넌트는 애드온 매니저 기능으로 등록/삭제/롤백/재 배포 가능합니다. 사용자 요구 애드온 수집/보관 매트릭 대상을 추가/수정할 수 있습니다.

1. 모니터링 애드온 수정
   1. CPU / MEM 등의 상태 및 자원 등의 매트릭 대상 사용자 지정
   2. 매트릭 임계치 및 최대 / 최소치 사용자 지정
   3. 지정된 수치에 따라 이벤트 및 알람 발생
   4. 애드온 버전에 따른 개별 모니터링 매트릭 지정
2. 수정된 매트릭 배포
   1. 수정된 매트릭 정보 (Rule, Config)를 ETCD 저장
   2. 수정된 사용자 정보에 따라 애드온 등록/삭제/롤백/재 배포 기능 제공

## 7. 구성 된 클러스터에 스토리지를 증설 한 경우

저장 공간 부족하거나 계획한 작업에 따라 스토리지를 증설 한 경우, 이미 배포되어 있는 Pod는 증설된 스토리지 정보를 확인할 수 없습니다. 증설된 스토리지를 정상적으로 사용하기 위해서는 (증설 전) 배포된 Pod 들을 재시작 해야 합니다.

\[애플리케이션] - \[서비스 맵] - \[워크로드] 를 선택하여 워크로드 목록을 선택하면 "+ 생성" 버튼을 클릭하면 pod를 재시작할 수 있습니다.

<figure><img src="https://1668522666-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fvqp2nCQPDsjfLSru1kHs%2Fuploads%2FZa9mI8IitEkySt3HrepK%2Fimage.png?alt=media&#x26;token=624b5fbc-466a-47ac-b803-53ce3b65b529" alt=""><figcaption><p>[화면] 클러스터 스토리지 증설 후 설정</p></figcaption></figure>
