[kubernetes.io 정리] 0. 개념
쿠버네티스(kubernetes, k8s) 학습을 위해
쿠버네티스 공식 문서 ( kubernetes.io/ko/docs/home/ )
의 내용을 블로그에 정리해보고자 한다.
쿠버네티스
- 배포, 스케일링, 컨테이너화된 애플리케이션의 관리를 자동화해주는 오픈소스 컨테이너 오케스트레이션 엔진
- 본 오픈 소스 프로젝트는 Cloud Native Computing Foundation(CNCF)가 주관
공식 문서 중에서도 개념에 해당하는 파트를 정리하고자 한다.
해당 개념 섹션을 통해 쿠버네티스 시스템을 구성하는 요소와 클러스터(*)를 표현하는데 사용되는 추상 개념에 대해 배우고 쿠버네티스가 작동하는 방식에 대해 보다 깊이 이해할 수 있다고 한다.
* 클러스터: 컨테이너화된 애플리케이션을 실행하는 노드라고 하는 워커 머신의 집합. 모든 클러스터는 최소 한 개의 워커 노드를 가짐
개념 섹션의 구성은 아래와 같다.
1. 개요
쿠버네티스와 그 컴포넌트에 대한 하이-레벨(high-level) 개요
2. 클러스터 아키텍처
쿠버네티스 뒤편의 구조와 설계 개념들
3. 컨테이너
런타임 의존성과 함께 애플리케이션을 패키징하는 기술
4. 워크로드
쿠버네티스에서 배포할 수 있는 가장 작은 컴퓨트 오브젝트인 파드와, 이를 실행하는 데 도움이 되는 하이-레벨(higher-level) 추상화
5. 서비스, 로드밸런싱, 네트워크
쿠버네티스의 네트워킹에 대한 개념과 리소스
6. 스토리지
클러스터의 파드에 장기(long-term) 및 임시 스토리지를 모두 제공하는 방법
7. 구성
쿠버네티스가 파드 구성을 위해 제공하는 리소스
8. 보안
클라우드 네이티브 워크로드를 안전하게 유지하기 위한 개념
9. 스케줄링과 축출(eviction)
- 쿠버네티스에서 스케줄링은 kubelect이 파드를 실행할 수 있도록 파드가 노드와 일치하는지 확인하는 것
- 축출은 리소스가 부족한 노드에서 하나 이상의 파드를 사전에 장애로 처리하는 프로세스
10. 정책
리소스의 그룹에 적용되도록 구성할 수 있는 정책
11. 클러스터 관리
쿠버네티스 클러스터 생성 또는 관리에 관련된 로우-레벨(lower-level)의 세부 정보 설명
12. 쿠버네티스 확장
쿠버네티스 클러스터의 동작을 변경하는 다양한 방법
다음 포스팅부터 1. 개요에서 12. 쿠버네티스 확장까지 차례로 정리하면서 개념을 학습해보고자 한다.
꼭 끝까지 완주할 수 있기를~! 😊
출처: kubernetes.io/ko/docs/concepts/