쿠버네티스 오브젝트

홍준섭·2022년 10월 11일

개발 공부

목록 보기
9/20

데몬셋

데몬셋은 디플로이먼트의 replicas가 노드 수 만큼 정해져 있는 형태라고 할 수 있는데, 노드 하나당 파드 한 개만을 생성한다. 노드를 관리하는 파드라면 데몬셋으로 만드는게 가장 효율적이다.

컨피그맵

컨피그맵은 설정을 목적으로 사용하는 오브젝트이다.

PV와 PVC

파드에서 생성한 내용을 기록하고 보관하거나 모든 파드가 동일한 설정 값을 유지하고 관리하기 위해 고융된 볼륨으로부터 공통된 설정을 가지고 올 수 있도록 설계해야 할 때가 있다. 쿠버네티스는 이런 경우를 위해 다음과 같은 목적으로 다양한 형태의 볼륨을 제공한다.

  • 임시: emptyDir
  • 로컬: host Path, local
  • 원격: persistentVolumeClaim, cephfs, cinder, csi, fc, flexVolume, flocker, glusterfs, iscsi, nfs, portworxVolume, quobyte, rbd, sacleIO, storageos, vsphereVolume
  • 특수목적: downwardAPI, configMap, secret, azureFile, projected
  • 클라우드: awsElasticBlockStore, azureDisk, gcePersistentDisk

쿠버네티스는 필요할 때 PVC(PersistentVolumeClaim)을 요청해 사용한다. PVC를 사용하려면 PV(PersistentVolume)로 볼륨을 선언해야 한다. 간단하게 PV는 볼륨을 사용할 수 있게 준비하는 단계이고, PVC는 준비된 볼륨에서 일정 공간을 할당받는 것이다.

스테이트풀셋

파드가 만들어지는 이름과 순서를 예측해야 할 때가 있다. 주로 레디스, 주키퍼, 카산드라, 몽고DB 등의 마스터-슬레이브 구조 시스템에서 필요하다. 이런 경우 스테이트풀셋을 사용한다. 스테이트풀셋은 volumeClaimTemplates 기능을 사용해 PVC를 자동으로 생성할 수 있고, 각 파드가 순서대로 생성되기 때문에 고정된 이름, 볼륨, 설정등을 가질 수 있다. 다만 효율성 면에서 좋은 구조가 아니므로 요구 사항에 맞게 적절히 사용하는 것이 좋다.

profile
개발 공부중입니다

0개의 댓글