You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »


목차

Volumes 개요

 
  • 컨테이너가 스토리지에 액세스 하고 공유하는 방법
  • 각 컨테이너 파일 시스템의 볼륨을 마운트하여 생성

Volume 종류

https://subicura.com/k8s/guide/local-volume.html

Volume 종류Volume TypeOverView설명

임시볼륨

empty-dir

파드가 시작될 때 빈 상태로 시작

루트디스크 또는 램에서 제공된다

컨테이너끼리 파일을 공유

Pod가 삭제되면 사라짐

로컬볼륨

hostpath

local

host node에서 제공된다

Pod가 재배포되었을때 node가 달라질 수 있다

node와 파일을 공유하기 위해 사용

네트워크 볼륨

iSCSI

NFS

glusterFS

...



클라우드 네트워크 볼륨

azureFile

awsEBS

gcePersistentDisk

...

https://kimjingo.tistory.com/153





Persistent Volume(PV) / Persistent Volume Claim(PVC)

프로비저너

각 스토리지클래스에는 PV 프로비저닝에 사용되는 볼륨 플러그인을 결정하는 프로비저너가 있다. 이 필드는 반드시 지정해야 한다.

볼륨 플러그인내부 프로비저너설정 예시
AWSElasticBlockStoreAWS EBS
AzureFileAzure 파일
AzureDiskAzure 디스크
CephFS--
CinderOpenStack Cinder
FC--
FlexVolume--
GCEPersistentDiskGCE PD
iSCSI--
NFS-NFS
RBDCeph RBD
VsphereVolumevSphere
PortworxVolumePortworx 볼륨
Local-Local

Storage Class

sansae@sansaeAir15m2 k8s-lab-workspace % k get sc
NAME                    PROVISIONER          RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
azurefile               file.csi.azure.com   Delete          Immediate              true                   2d6h
azurefile-csi           file.csi.azure.com   Delete          Immediate              true                   2d6h
azurefile-csi-premium   file.csi.azure.com   Delete          Immediate              true                   2d6h
azurefile-premium       file.csi.azure.com   Delete          Immediate              true                   2d6h
default (default)       disk.csi.azure.com   Delete          WaitForFirstConsumer   true                   2d6h
managed                 disk.csi.azure.com   Delete          WaitForFirstConsumer   true                   2d6h
managed-csi             disk.csi.azure.com   Delete          WaitForFirstConsumer   true                   2d6h
managed-csi-premium     disk.csi.azure.com   Delete          WaitForFirstConsumer   true                   2d6h
managed-premium         disk.csi.azure.com   Delete          WaitForFirstConsumer   true                   2d6h


sansae@sansaeAir15m2 k8s-lab-workspace % k edit sc azurefile
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  creationTimestamp: "2024-03-08T01:58:10Z"
  labels:
    addonmanager.kubernetes.io/mode: EnsureExists
    kubernetes.io/cluster-service: "true"
  name: azurefile
  resourceVersion: "352"
  uid: eb098551-1947-41af-9430-3ae37b28c7b8
mountOptions:
- mfsymlinks
- actimeo=30
- nosharesock
parameters:
  skuName: Standard_LRS
provisioner: file.csi.azure.com
reclaimPolicy: Delete
volumeBindingMode: Immediate







statefulset.yaml
aapiVersion: apps/v1
kind: StatefulSet
metadata:
  name: web
spec:
  selector:
    matchLabels:
      app: nginx
  serviceName: "nginx"
  replicas: 3 # 기본값은 1
  minReadySeconds: 10 # 기본값은 0
  template:
    metadata:
      labels:
        app: nginx
    spec:
      terminationGracePeriodSeconds: 10
      containers:
      - name: nginx
        image: nginx:1.15.12
        ports:
        - containerPort: 80
          name: web
        volumeMounts:
        - name: www
          mountPath: /usr/share/nginx/html
  volumeClaimTemplates:
  - metadata:
      name: www
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: azurefile
      resources:
        requests:
          storage: 1Gi


  • No labels