Maxima's Lab

[Kubernetes] YAML 파일 내 Object kind (k8s 객체 유형) 본문

Kubernetes

[Kubernetes] YAML 파일 내 Object kind (k8s 객체 유형)

Minima 2024. 6. 9. 23:04
728x90
SMALL

안녕하세요, 오늘은 Kubernetes에서 YAML 파일 내 kind 항목으로 사용할 수 있는 객체 유형들에 대해서 알아보겠습니다.

 

아래는 YAML 파일을 작성하는 간단한 예시 입니다.

apiVersion: v1
kind: Pod
metadata:
  name: sample-pod
spec:
  containers:
  - name: nginx
    image: nginx:1.14.2

 

크게 나누면 다음과 같이 나눌 수 있습니다.

 

[Workloads : 애플리케이션을 정의하는 객체]

  1. Pod : 클러스터에서 실행 중인 프로세스의 단일 인스턴스
  2. ReplicationController : 관리하는 Pod를 지속적으로 관리 하여 원하는 복제본 수를 유지
  3. ReplicaSet : 세트 기반 선택기를 지원하여 이 기능을 확장하여 포드 선택 및 관리 방법에 대한 더 큰 유연성과 제어 기능을 제공
  4. Deployment : 롤링 업데이트를 지원하므로 가동 중지 시간 없이 애플리케이션을 업데이트 가능
  5. StatefulSet : 지속적인 스토리지와 안정적인 네트워크 ID가 필요한 상태 저장 애플리케이션을 관리
  6. DaemonSet : Pod의 복사본이 클러스터의 모든(또는 일부) 노드에서 실행되는지 확인
  7. Job : 하나 이상의 Pod를 생성하고 지정된 수의 Pod가 성공적으로 종료되는지 확인
  8. CronJob : 백업, 보고서 생성, 이메일 전송과 같은 정기적인 작업을 수행하는 데 유용

[Service Discovery and Load Balancing : 클러스터 내 및 외부에서 서비스가 노출되고 액세스되는 방식을 관리]

  1. Service : Pod 그룹에 액세스하기 위해 안정적인 IP 주소와 DNS 이름을 제공
  2. Endpoint : 서비스의 대상이 되는 Pod의 실제 IP 주소를 정의
  3. Ingress : 서비스(일반적으로 HTTP)에 대한 외부 액세스를 관리

[Config and Storage : 애플리케이션의 구성 데이터와 영구 저장소를 관리]

  1. ConfigMap : 구성 데이터를 키-값 쌍으로 저장
  2. Secret : 비밀번호, OAuth 토큰, SSH 키 등 민감한 데이터를 암호화된 형식으로 저장
  3. PersistentVolume : 개별 Pod의 수명이 다할 때까지 데이터를 유지하는 데 사용
  4. PersistentVolumeClaim : Pod에서 영구 스토리지 리소스를 요청하는 데 사용
  5. Volume : 임시 스토리지, 영구 스토리지, 네트워크 스토리지 등 다양한 스토리지 솔루션을 제공

[Cluster : 클러스터 수준에서 리소스와 권한을 관리]

  1. Namespace : 여러 사용자 또는 팀 간에 클러스터 리소스를 나누어 격리를 제공하고 리소스 할당을 관리
  2. Node : 클러스터의 작업자 노드를 나타내며, Kubernetes 런타임을 실행하고 애플리케이션을 구성하는 컨테이너를 호스팅
  3. LimitRange : Namespace 내의 CPU 및 메모리와 같은 리소스에 대한 최소/최대 제약 조건을 정의
  4. ResourceQuota : Namespace 마다 총 리소스 소비를 관리
  5. ServiceAccount : Pod에서 실행되는 프로세스에 대한 ID를 제공
  6. Role : Namespace 내의 권한을 정의
  7. RoleBinding : Namespace 내의 사용자, 그룹 또는 서비스 계정에 역할에 정의된 권한을 부여
  8. ClusterRole : Cluster 전체 권한을 정의
  9. ClusterRoleBinding : ClusterRole에 정의된 권한을 모든 Namespace의 사용자, 그룹 또는 서비스 계정에 부여

지금까지, YAML 파일을 구성하는 Object kind 항목들에 대해서 알아보았습니다.

감사드립니다.

728x90
LIST
Comments