본문 바로가기

네트워크/k8s

[k8s] 43. Storage

Storage

PV를 만드는 방법

1. PV를 만들고 PVC를 바로 연결하기

2. StorageClass - Grouping

StorageClass를 그룹의 개념으로 만들고 PV를 만들 때 소속 그룹을 정함
PVC를 만들 때 StorageClass를 지정하면 PVC는 해당 그룹에 속해있는 PV들 중 PVC의 스펙과 맞는 PV와 연결 됨

3. StorageClass - Dynamic Provisioning

사전에 StorageClass를 만들 때 Provisioner를 지정하고 PVC를 만들 때 해당 StorageClass를 지정하면 Provisioner가 PV를 만들어주면서 PVC는 PV에 연결됨

PV에 대해 자세히 보자

PV는 기본 속성으로 capacity, accessModes이 있음
Volume Plugin은 PV의 실체를 결정

Volume Plugin 종류

hostPath

PV를 hostPath로 만들면 워커노드에 지정된 path를 PV에 대한 Volume으로 사용함

NFS

NFS Server가 외부 스토리지에 구성되어 있으면 PV Volume Plugin을 NFS로 지정하게 되면,
PV는 외부에 있는 NFS Server와 연결할 수 있는 NFS 클라이언트 역할을 함
OS에 있는 NFS 클라이언트 기능을 이용하는 것으로 만약 OS에 NFS 클라이언트 기능이 없으면 동작하지 않음

Cloud Service

클라우드 서비스의 볼륨에 연결할 수 있음

Volume Solution

Volume Solution을 통해 PV와 연결 가능
바로 사용가능한 Volume Plugin 리스트들이 있음

CSI

Container Storage Interface로 자신의 Volum Solution에 대한 플러그인을 쿠버네티스에 반영을 안 하거나 업데이트용으로 새로 적용하려고 할 때 사용
쿠버네티스 문서 중에 CSI 만드는 가이드가 있고, 그 가이드에 따라 CSI 플러그인이나 Provisioner를 만들어 설치방법만 사용자에게 안내
필요한 사용자는 CSI를 자신의 클러스터에 반영하는 방식
Volume Solution도 기존 Volume System과 연결하는 구조가 아닌 새롭게 컨테이너로 Volume System을 띄울 수 있는 구조로 되어 있는 CSI도 있음
통째로 CSI 플러그인과 Volume Plugin을 한 번에 설치하는 방식도 있음

Storage Type별 AccessMode에 대해 자세히 알아보자

  • 각 Volume Plugin마다 제공하는 Storage Type이 있음
  • Storage Type마다 AccessMode 제공이 다름
  • FileStorage, ObjecStorage는 다른 노드의 파드와 연결이 가능한데, BlockStorage는 불가능
  • FileStorage, ObjectStorage --> 공유 데이터용
  • BlockStorage --> DB 데이터용

FileStorage (NFS)

NFS 구축 후 PV, PVC 만들고 노드의 파드들 끼리 파일 공유

출처

인프런 - 대세는 쿠버네티스

'네트워크 > k8s' 카테고리의 다른 글

[k8s] CKA 대비 문제 및 풀이  (0) 2021.03.13
[k8s] 44. Logging  (0) 2021.02.26
[k8s] 42. Networking  (0) 2021.02.26
[k8s] 41. Component  (0) 2021.02.26
[k8s] 40. Autoscaler - 실습  (0) 2021.02.25