🐳 Container/K8S

[K8s] Storage Class

heywantodo 2024. 4. 29. 15:16
728x90
반응형

[K8s] Storage Class

스토리지 클래스는 관리자가 제공하는 스토리지의 classes를 설명할 수 있는 방법을 제공한다.

클래스는 서비스의 품질 수준, 백업 정책, 클러스터 관리자가 정한 임의의 정책에 매핑될 수 있다.

 

StorageClass 리소스 

해당 스토리지클래스에 속하는 PV를 동적으로 프로비저닝할 때 사용된다.

스토리지클래스의 이름은 중요하며, 사용자가 특정 클래스를 요청할 수 있는 방법으로 사용된다. 

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: standard
provisioner: kubernetes.io/aws-ebs
parameters:
  type: gp2
reclaimPolicy: Retain
allowVolumeExpansion: true
mountOptions:
  - debug
volumeBindingMode: Immediate

관리자는 특정 클래스에 바인딩을 요청하지 않은 PVC에 대해서만 스토리지 클래스를 지정할 수 있다.

 

프로비저너

PV 프로비저닝에 사용되는 볼륨 플러그인을 결정하는 프로비저너가 있다.

반드시 지정이 필요하다. ex) AWS EBS, AzureFile, NFS 등

 

파라미터

스토리지 클래스에는 속하는 볼륨을 설명하는 파라미터가 있다.

provisioner에 따라 다른 파라미터를 사용할 수 있다. 

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: slow
provisioner: kubernetes.io/aws-ebs
parameters:
  type: io1
  iopsPerGB: "10"
  fsType: ext4

 

리클레임 정책

스토리지클래스에 의해 동적으로 생성된 PV는, reclaimPolicy 필드에 지정된 리클레임 정책을 가진다.

이는 Delete(Default), 또는 Retain이 될 수 있다.

 

 

참고

https://kubernetes.io/ko/docs/concepts/storage/storage-classes/

 

728x90
반응형