본문 바로가기
GOORM

GOORM: Kubernetes-48

by hxunz 2022. 1. 9.
  1. Facts 
    : 배운것 - 오토스케일링 / 사용자 정의 자원 / 쿠버네티스 기반으로 워드프레스 앱 실행

  2. Findings
    :
    HPA
     - 컨트롤러 매니저 안에서 주기적으로 실행하면서 설정된 HPA의 상태를 확인
     - 디플로이먼트에 속한 파드들의 상태를 모니터링하다가 지정된 조건에 이르면 디플로이먼트를 스케일해서 파드 개수를 늘리거나 줄인다
     - 대상파드 개수 = (현재 파드의 CPU 사용률을 모두 더한 값 / 목표 CPU 사용률)을 올림한 값

    사용자 정의 자원
     - 쿠버네티스에서 제공하는 내장 자우너뿐만 아니라 사용자에게 필요한 자원을 쿠버네티스 안에 정의해 사용 가능

    오퍼레이터
     - 프레임워크로 특정 애플리케이션의 생명 주기를 자동으로 관리. 오픈 소스 애플리케이션을 운영한 경험이 녹아 있으므로 처음 해당 애플리케이션을 도입하더라도 어느 정도 안정적인 운영이 가능

<수업 메모>

시스템 로깅
- 단일 시스템의 경우에는 로컬 스토리지에 저장 기능
- 쿠버네티스와 같은 클러스터 구성 (여러 대의 시스템) 에서는 제한적
- 한 번에 모아서 볼 수 있는 중앙 관리 시스템 구성이 필요
- ElasticSearch 를 사용해서 해당 기능 제공
- 부족한 부분의 보완을 위해 ELK / EFK / ElasticStack 으로 구성해서 사용
- 기존과 달리 모든 노드의 로그를 한 눈에 확인 가능
- 파드가 종료된 이후에도 로그를 확인 가능


쿠버네티스 대시보드
- 쿠버네티스 관리 시 기본은 kubectl 명령어 사용
- 대시보드 기능도 추가 구성 가능
- 대시보드 서비스를 제공할 파드 / 사용할 사용자 및 역할 등 설정


모니터링
- 시스템의 상태 체크 및 사용량 측정을 위해 사용
- kubectl top 명령어로 확인에 한계가 있음
- Prometheous 로 모니터링 기능 제공 ( Grapana 로 시각화 기능 제공 )
- 모니터링을 위해서는 접근 권한이 필요 ( default 사용자에게 cluster-admin 역할 할당 )

	
Helm
- 쿠버네티스 환경에서 사용하는 다양한 템플릿들을 관리
- yum / apt / choco 등과 같이 패키지 형식으로 템플릿 설치 방식 제공
- Helm 에서는 템플릿 파일의 집합을 차트 라고 부름
- 차트란 압축파일(tgz) 형태로 차트 저장소에 보관
- 차트 : 애플리케이션을 만드는 데 필요한 정보 묶음
- 컨피그 : 오브젝트 생성 시 사용할 수 있는 설정
- 릴리즈 : 특정 컨피그를 이용해서 실행 중인 차트의 인스턴스

차트 구조
- 디렉토리 구조로 이루어져 있음

차트 사용
1. 저장소의 차트 그대로 사용
2. 사용 시 옵션을 통해 설정 값 수정 후 사용 ( --set 옵션은 KEY=VALUE 형태 , --values 옵션은 파일 지정 )
3. 차트파일 다운로드 후 직접 수정해서 사용
4. 실행 후 동작 중인 릴리즈에 대해 upgrade / rollback 명령어로 수정 및 버전관리 가능

차트 저장소
- 알맞은 버전의 chartmuseum 파일을 다운로드 (압축파일->실행파일)
- chartmuseum 명령어로 저장소 실행 ( 클라우드 / 로컬 스토리지 지정 )
- 차트 업로드
	1. 차트 생성 ( helm create XXX -> 파일 설정 )
	2. 디렉토리 패키징 ( helm package XXX )
	3. curl 명령어를 이용해서 api 요청 ( 차트 이름 앞에 @ 문자 포함 )

'GOORM' 카테고리의 다른 글

GOORM: Kubernetes-50  (0) 2022.01.09
GOORM: Kubernetes-49  (0) 2022.01.09
GOORM: Kubernetes-47  (0) 2022.01.09
GOORM: Kubernetes-46  (0) 2022.01.07
GOORM: Kubernetes-45  (0) 2022.01.07

댓글