- Facts
: 배운것 - 헬름 - Findings
:
헬름
- 템플릿 파일들의 집합을 관리하는 쿠버네티스 패키지 매니저 도구
- 잘 정리된 차트들로 필요한 애플리케이션들을 빠르게 설치 가능
- 헬름2 : 커맨드라인 인터페이스인 헬름 클라이언트와 쿠버네티스 클러스터 안에서 헬름 클라이언트의 명령을 받아 쿠버네티스 API와 통신하는 틸러 서버로 구성
헬름 클라이언트 : 로컬 서버에 차트를 만들거나, 차트 저장소들과 클러스터에 실행 중인 애플리케이션 릴리즈 관리하는 데 필요한 요청을 하는 역할
틸러 서버 : 헬름 클라이언트의 요청을 받아 실제로 처리하는 역할
- 헬름3 : 쿠버네티스의 RBAC를 따르도록 하기 위해서 틸러 서버가 없어짐. 차트를 설치할 때 네임스페이스를 명시
- 차트뮤지엄 : 오픈 소스 차트 저장소 제공
<수업 메모>
오토스케일링
- 자동으로 크기를 조정
- 쿠버네티스에서는 서비스 파드(컨테이너) 를 통해 제공
- 쿠버네티스에서는 오토스케일링 시 파드에 대한 오토스케일링 기능 제공
- Horizontal Pod Autoscaler (HPA)
- CPU 사용량을 기반으로 파드의 개수를 조정 (컨트롤러에 의해)
- 스케일링은 확장 / 축소 두 가지 기능 제공
- 확장 : 원활한 서비스 제공을 위해 (안정적인)
- 축소 : 비용적인(리소스의 효율성) 부분을 위해
- 오토스케일링 시 설정할 옵션
1) 컨트롤러를 통해 파드의 사용량을 모니터링 하는 간격
2) 스케일링 작업 시 (확장/축소) 추가적인 작업 전 대기 시간
- 오토스케일 설정 시 요구사항
1) deployment 가 우선 실행 (관리대상)
2) deployment 에서 resource(cpu) 모니터링 설정
- 설정에 따라 사용량을 모니터링하고, 기준점 초과 시 파드 개수 증가
- 반대로 사용량이 기준점 이하로 감소할 경우 파드 개수 감소
- 데몬셋을 제외한 컨트롤러들에 대해 설정 가능
사용자 정의 자원
- 쿠버네티스 클러스터(시스템) 내장 자원 이외에 외부에서 가져다 사용
- 구조화한 데이터
- 사용자 정의 컨트롤러로 API 생성 후 관리
- 쿠버네티스 클러스터에서 직접 관리 및 동작을 원하는 경우 사용
- 업데이트에 대한 자동화
- 정의 시 CRD 또는 Aggregated API 사용
- CRD : 생성 및 관리가 쉬움
-> 해당 어플리케이션에 대한 전문 지식이 필요
- 전문 지식이 없더라도 해당 어플리케이션을 사용할 수 있도록 도와주는 도구가 오퍼레이터
WP 실습
1. 데이터베이스 서버 구성
1) 사용자이름 / 패스워드 / 데이터베이스 이름 등 설정 가능
-> 패스워드를 시크릿으로 설정
2) 볼륨 생성 -> hostpath 로 구성 (노드 지정 -> NFS 로 해당 디렉토리 준비 시 노드 관계 X)
3) mysql 파드를 배포
4) 서비스 배포
-> +@ 서비스를 헤드리스 서비스로
파드 배포는 STS 로
볼륨을 다른 종류(외부스토리지) 로 사용
-> 동적 볼륨 프로비저닝 ( SC / PVC )
2. 워드프레스 서버 구성
1) 서비스 구성 -> NodePort / LB / Ingress
( 2) 컨피그맵 )
3) 파드 -> 디플로이먼트로 배포 + 오토스케일(HPA) + 모니터링(Prometheus)
'GOORM' 카테고리의 다른 글
GOORM: Kubernetes-51 (0) | 2022.01.09 |
---|---|
GOORM: Kubernetes-50 (0) | 2022.01.09 |
GOORM: Kubernetes-48 (0) | 2022.01.09 |
GOORM: Kubernetes-47 (0) | 2022.01.09 |
GOORM: Kubernetes-46 (0) | 2022.01.07 |
댓글