Provisioning, DaemonSet / example

Jeonghak ChoΒ·2025λ…„ 6μ›” 8일

Provisioning

λͺ©λ‘ 보기
37/44

πŸ“— ν”„λ‘œλΉ„μ €λ‹ - Storage - K8s - hostPath

πŸ³οΈβ€πŸŒˆ [κΆκΈˆν•œμ ]

  • λͺ¨λ“  λ…Έλ“œμ— /tmp/data1 ~ /tmp/data20 κΉŒμ§€ 폴더 μžλ™ 생성 및 관리 방법

πŸ”—[λͺ©μ°¨]

1️⃣ μ€€λΉ„

생성할 폴더 μ •μ˜

/tmp/data1 ~ /tmp/dat10 κΉŒμ§€ 10개 폴더λ₯Ό λͺ¨λ“  λ…Έλ“œμ— 생성

2️⃣ μ„€μ •

데λͺ¬μ…‹ μ •μ˜

  • dev-ds-file-creator.yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: create-multi-dirs
  namespace: default
spec:
  selector:
    matchLabels:
      app: multi-dir-maker
  template:
    metadata:
      labels:
        app: multi-dir-maker
    spec:
      initContainers:
      - name: init-mkdir
        image: busybox
        command:
          - sh
          - -c
          - |
            for i in $(seq 1 10); do
              mkdir -p /tmp/data$i
              chown -R 1001:1001 /tmp/data$i
            done
        volumeMounts:
        - name: host-mnt
          mountPath: /tmp
      containers:
      - name: pause
        image: busybox
        command: ["sleep", "3600"]
        volumeMounts:
        - name: host-mnt
          mountPath: /tmp
      volumes:
      - name: host-mnt
        hostPath:
          path: /tmp
          type: DirectoryOrCreate

3️⃣ μ„€μΉ˜

데λͺ¬μ…‹ 적용

k apply -f dev-ds-file-creator.yaml

daemonset.apps/create-multi-dirs created

k get ds

NAME                DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
create-multi-dirs   2         2         2       2            2           <none>          14s

k get po

NAME                      READY   STATUS    RESTARTS   AGE
create-multi-dirs-drhk7   1/1     Running   0          27s
create-multi-dirs-s8swd   1/1     Running   0          27s

4️⃣ 검증

hostPath 확인

ssh user@slave1

ls -ld /tmp/data*
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data1
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data10
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data2
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data3
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data4
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data5
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data6
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data7
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data8
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data9

ssh user@slave2

ls -ld /tmp/data*
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data1
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data10
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data2
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data3
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data4
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data5
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data6
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data7
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data8
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data9

hostPath μ‚­μ œ ν›„ 재 생성

  • μ˜λ„μ  디렉토리 μ‚­μ œ
ssh user@slave1

ls -ld /tmp/data*
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data1
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data10
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data2
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data3
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data4
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data5
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data6
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data7
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data8
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data9

sudo rm -rf /tmp/data{3..10}

ls -ld /tmp/data*
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data1
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data2

-데λͺ¬ POD μ‚­μ œ

k get po

NAME                      READY   STATUS    RESTARTS   AGE
create-multi-dirs-rjcm6   1/1     Running   0          3m32s
create-multi-dirs-sw6wf   1/1     Running   0          3m32s

k delete po create-multi-dirs-rjcm6

pod "create-multi-dirs-rjcm6" deleted

k get po -w

NAME                      READY   STATUS     RESTARTS   AGE
create-multi-dirs-cxszd   0/1     Init:0/1   0          1s
create-multi-dirs-sw6wf   1/1     Running    0          4m29s
create-multi-dirs-cxszd   0/1     PodInitializing   0          3s
create-multi-dirs-cxszd   1/1     Running           0          5s
  • 디렉토리 μž¬ν™•μΈ
ls -ld /tmp/data*
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data1
drwxr-xr-x 2 1001 1001 4096 Jun  8 09:27 /tmp/data10
drwxrwxrwx 2 1001 1001 4096 Jun  8 09:14 /tmp/data2
drwxr-xr-x 2 1001 1001 4096 Jun  8 09:27 /tmp/data3
drwxr-xr-x 2 1001 1001 4096 Jun  8 09:27 /tmp/data4
drwxr-xr-x 2 1001 1001 4096 Jun  8 09:27 /tmp/data5
drwxr-xr-x 2 1001 1001 4096 Jun  8 09:27 /tmp/data6
drwxr-xr-x 2 1001 1001 4096 Jun  8 09:27 /tmp/data7
drwxr-xr-x 2 1001 1001 4096 Jun  8 09:27 /tmp/data8
drwxr-xr-x 2 1001 1001 4096 Jun  8 09:27 /tmp/data9

μ°Έκ³ 

자주 μ“°λŠ” λͺ…λ Ήμ–΄

# helm μ‚­μ œ ν›„ 재 생성
k delete ds create-multi-dirs
k apply -f dev-ds-file-creator.yaml

0개의 λŒ“κΈ€