Study_note
[Kubernetes] object, namespace, pod, lable 개념 정리 본문
쿠버네티스는 크게 관리를 받는 오브젝트와 관리하는 컨트롤러로 나뉜다
오브젝트
쿠버네티스에 의해서 배포 및 관리되는 오브젝트는 컨테이너화 되어 배포되는 애플리케이션의 워크로드를 기술하는 오브젝트로 오브젝트 생성시 인자로 전달하여 정의를 하거나 또는 yaml이나 json 파일로 스펙을 정의할 수 있다.
Pod, Service, Volume, Namespace 4가지가 있다
다음과 같은 오브젝트를 예로 들어보자
apiVersion - 스크립트를 실행하기 위한 쿠버네티스 API 버전이다 보통 v1을 사용한다
kind - 리소스의 종류 정의
metadata - 리소스의 각종 메타 데이타 이름, 라벨 등 각종 메타데이타를 넣는다
spec - 리소스에 대한 상세한 스펙을 정의한다.
namespace
동일한 물리 클러스터를 기반으로 하는 논리적으로 구분된 분리단위를 네임스페이스라고 한다.
pod은 네임 스페이스 별로 생성, 관리 될 수 있다
Pod
쿠버네티스에서 가장 기본적인 배포 단위로, 컨테이너를 포함하는 단위이다. 쿠버네티스의 특징 중의 하나는 컨테이너를 개별적으로 하나씩 배포하는 것이 아니라 Pod라는 단위로 배포하는데, Pod는 하나 이상의 컨테이너를 포함한다.
statci pod
api를 통하지 않고 kublet이 직접 실행하는 파드
파드 리소스 할당
특정 노드에 파드가 집중되어 성능이 나빠지고 자원의 효율이 떨어지는 것을 막기 위해서 파드를 설정할 때 파드 안 각 컨테이너가 cpu나 메모리를 얼마나 사용할 수 있을지 조건 지정 가능
request 최소 자원 요구량, limit 최대 사용량 제한 설정
레이블
키-값의 쌍으로 구성되었으며 사용자가 클러스터 안에 오브젝트를 만들 때 메타 데이터로 설정
레이블의 키-값을 통해서 쿠버네티스 클러스터 안에서 컨트롤러들이 관리할 파드를 선택/구분하기 위해서 주로 사용
'Kubernetes' 카테고리의 다른 글
[EKS] POD 자원관리 (QoS) 및 OOM 킬러 우선 순위 (0) | 2022.11.08 |
---|---|
Ingress의 Target Type 및 externalTrafficPolicy: Local 설정 (0) | 2022.11.01 |
AWS EKS Load Balancer Controller 및 IAM OIDC Provider (0) | 2022.10.27 |
[Kubernetes] CKA 취득 후기 (0) | 2022.09.05 |
[Kubernetes] 쿠버네티스 구성요소, 동작 흐름 (0) | 2021.11.23 |