쿠버네티스 서비스 관리콘솔 이용 방법
SKS (Smileserv Kubernetes System) 관리콘솔 이용 방법에 대한 메뉴얼 입니다. ver. 2024.12.10 |
쿠버네티스 서비스를 신청한 후 이용, 관리하기 위한 정보들을 관리콘솔에서 확인 할 수 있습니다.
목차
|
관리콘솔에서 쿠버네티스서비스 이용에 필요한 kubeconfig 파일을 다운로드 할 수 있습니다.
1) 관리콘솔 > 쿠버네티스 > 쿠버네티스 SKS 클러스터 관리 페이지에서 클러스터 오른쪽 다운로드 버튼 클릭
2) 다운로드한 config 파일을 kubectl 이 설치된 작업 환경에 따라 맞는 위치로 이동 시킵니다.
ex) LINUX : ~/.kube/config window : %USERPROFILE%\.kube\config |
3) 간단한 kubectl 명령어로 정상 연결 여부를 체크 할 수 있습니다.
kubectl get nodes |
정상적으로 연결 된 경우 마스터노드와 생성한 노드들을 확인 할 수 있습니다.
관리콘솔 SKS 페이지에서 클러스터 옆 상세정보 버튼 을 클릭하여 서비스 상세정보를 확인 할 수 있습니다.
configuration 다운로드 버튼으로 kubeconfig 파일 다운로드 할 수 있습니다.
Resource 통계 부분의 통계 보기 를 클릭하면 클러스터 전체 오브젝트 정보를 확인 할 수 있습니다.
노드 그룹 탭 에서 노드 상태 확인이 가능하며, 노드 관리 기능으로 노드 그룹 추가 및 삭제 , 노드그룹 내 노드 수 를 변경 기능이 제공 됩니다.
노드 그룹 옆 추가 생성하기 를 클릭하여 원하는 사양의 노드 그룹을 추가 할 수 있습니다.
노드수 변경 버튼으로 노드수 를 조절 할 수 있습니다.
로드밸런서 탭 에서 쿠버네티스 내부에서 생성한 로드밸런서 정보를 확인할 수 있습니다.
쿠버네티스 내부에서 로드밸런서 서비스를 생성하면 자동으로 감지, 접속을 위한 공인 IP가 할당되어 서비스가 개시 됩니다.
로드밸런서 이름 옆 상세 페이지버튼 을 클릭하면 열리는 상세 정보 페이지에서 연결 노드, 사용량 통계 조회, 리스너 설정정보 조회 및 변경 이 가능합니다.
로드밸런서 상세 페이지
1) 로드밸런서 상세 정보 페이지에서 리스너, 연결노드, 통계 를 확인 할 수 있습니다.
2) 리스너 탭 에서 리스너 정보 확인 및 설정 변경 이 가능합니다.
체크주기 | 연결된 엔드포인트들 의 상태를 체크하는 간격을 초 단위로 설정 할 수 있습니다. |
응답대기 | 엔드포인트가 응답 할 때 까지 대기하는 시간(초)을 설정 할 수 있습니다. 이 시간을 넘어서면 요청 실패로 간주 합니다. |
최대 재시도 | 체크 실패시 재시도 횟수를 설정 할 수 있습니다. |
분배 알고리즘 | 트래픽을 분배 할 분배 알고리즘을 Round_Robin, Least_Connections, Source_IP 중 선택 할 수 있습니다. |
세션 지속성 | 접속 세션 유지하기 위한 방법으로 Source_IP, HTTP_COOKIE, APP_COOKIE 중 선택 할 수 있습니다. |
분배 알고리즘
이름 | 분배 기준 | 장점 | 적용 예시 |
Round_Robin | 들어오는 요청을 가능한 모든 백엔드에 고르게 분배 |
단순한 구조로 이해가 쉬움 서버 상태나 부하 같은 추가 정보 전달 없이 작동 가능 |
각각의 요청이 독립적이고, 백앤드들 의 처리 능력이 동일한 서비스 ex) CDN , 이미지 파일 |
Least_Connections | 가장 적은 활성 연결을 가진 서버로 들어오는 새 요청 분배 |
동적 부하 분배로 요청 처리 시간이 가변적인 서버 간에 부하를 효율적으로 조정 과도하게 사용중인 서버의 과부하를 방지 |
Stateful 어플리케이션 , 요청 시간이 다양한 서비스 ex) 비디오 스트리밍, 데이터베이스 |
Source_IP |
클라이언트의 IP 주소 해시 를 기반으로 분배 같은 클라이언트의 요청을 같은 백앤드 서버로 전달 |
쿠키, 세션 저장소 없이도 클라이언트의 요청이 동일한 서버로 유지 |
사용자 세션이 동일한 백엔드 서버에 유지되어야 하는 서비스 ex) 쇼핑몰 장바구니 기능 |
세션 지속성
종류 | 방식 | 강점 | 약점 | 사례 |
Source_IP |
클라이언트 IP기반 클라이언트의 IP를 해싱 특정 백앤드 서버에 매핑하여 동일한 클라이언트의 요청은 동일한 서버로 연결 |
쿠키나 세션 저장소 없이 세션 지속성 유지 가능 |
클라이언트 IP가 NAT 또는 프록시 를 통해 접속하는 경우 동일한 IP 를 공유하는 접속이 모두 동일한 서버로 연결 클라이언트 IP 가 변경되는 경우 ( ex) 스마트폰 ) 세션이 끊어질 수 있음 |
쿠키를 사용할 수 없는 환경의 서비스, 간단하게 상태 유지가 필요한 애플리케이션 ex) 사내 서비스, 고정IP기반 IoT 장치 |
HTTP_COOKIE |
로드밸런서 세션쿠키 기반 로드밸런서에서 세션 쿠키(HTTP Cookie)를 생성하여 클라이언트에 전달. 이후 클라이언트에서 요청시 쿠키를 포함하여 요청, 로드밸런서에서 쿠키값을 기반으로 이전에 연결된 백앤드서버로 연결 |
세션 기반 라우팅으로 클라이언트 IP 와 무관하게 세션 유지 가능 NAT,프록시 사용 환경에서도 틍정 서버 부하 쏠림 없이 세션 유지 가능 로드밸런서에서 세션 지속성을 제어, 애플리케이션 변경 불필요 |
클라이언트가 쿠키를 허용 해야 함 쿠키를 통한 세션관리로 보안 이슈에 주의 필요 |
다양한 네트워크 환경에서 세션 유지가 필요한 애플리케이션 ex) 인터넷 쇼핑몰, 소셜 미디어 서비스 |
APP_COOKIE |
어플리케이션 쿠키 (App Cookie) 기반 애플리케이션이 직접 생성한 App Cookie 를 클라이언트에 전달. 클라이언트는 이후 요청시마다 쿠키를 포함하여 요청. 로드밸런서에서 쿠키 값을 읽고 앱쿠키와 함께 동일한 서버로 라우팅
|
애플리케이션 수준에서 세션 제어 가능 앱쿠키 값도 요청과 함께 수신되어 필요시 복잡한 세션기반 관리 가능 |
애플리케이션에서 쿠키를 생성, 관리 하므로 추가적인 구현 필요 |
사용자 인증 및 고유세션이 중요한 환경 ex) 스마트뱅킹 등 금융 관련 서비스 |
*분배 알고리즘 Source_IP 와 세션 지속성 Source_IP 의 차이
분배 알고리즘의 Source_ip 는 로드밸런서의 트래픽 처리 방식을 정의하는 부분으로, 접속하는 클라이언트의 IP 를 기반으로 트래픽을 분배 합니다.
세션 지속성의 Source_ip 는 세션지속성이 필요할 때 설정하는 옵션으로, 세션 지속성을 강제로 보장, 같은 클라이언트 IP 의 요청을 항상 같은 백엔드 서버로 전달 합니다.
항목 | 분배 알고리즘 Source_IP | 세션 지속성 Source_IP |
목적 | 트래픽을 효율적으로 분배 | 동일 클라이언트의 세션 유지 |
동작 방식 | 소스 IP 를 해시 하여 백엔드 서버 선택 | 소스 IP 기반으로 특정 서버에 클라이언트를 지속적으로 매핑 |
세션 지속성 보장 여부 | 기본적으로 세션 유지 보장 | 세션 유지 강제 |
중복 사용 가능 여부 | 세션 지속성의 Source IP 와 함께 사용 가능 | 분배 알고리즘 Source IP 와 함께 사용 가능 |
3) 연결 노드 탭에서 현재 로드밸런서에 연결된 노드의 상태를 확인 할 수 있습니다.
4) 통계 데이터 탭 에서 접속량 등 통계를 확인 할 수 있습니다.
쿠버네티스에서 생성한 IP정보를 확인 할 수 있습니다.
쿠버네티스에서 생성한 블록스토리지 정보를 확인 할 수 있습니다.
노드별 트래픽 사용양을 확인 할 수 있습니다.
8.트래픽 사용량
노드별 일일 트래픽 사용량을 확인 할 수 있습니다.