Exercise 8.2: Create a Persistent NFS Volume (PV)

  1. NFS로 SSH 접속

    ssh root@NFS_IP_ADDRESS
  2. NFS 서버 설치

    sudo apt update && sudo apt install -y nfs-kernel-server
  3. 공유할 디렉토리 및 파일 생성

    {
        sudo mkdir /data
        sudo chmod 1777 /data/
        sudo bash -c 'echo world > /data/hello.txt'
    }
  4. NFS 설정 파일에 위에서 생성한 디렉토리 추가

    sudo echo '/data/ *(rw,sync,no_root_squash,subtree_check)' \
    | sudo tee -a /etc/exports > /dev/null
  5. 수정한 NFS 설정 파일 반영

    sudo exportfs -ra
  6. CP 노드에 연결된 터미널로 이동

  7. NFS 유틸리티 설치

    sudo apt -y install nfs-common
  8. /etc/hosts 파일에 아래와 같은 라인 추가 - NFS_IP_ADDRESS는 NFS 노드 IP주소

    NFS_IP_ADDRESS mynfs

    예를들어 NFS의 IP주소가 123.45.67.89라면 아래처럼 입력

    123.45.67.89 mynfs
  9. NFS 노드에 구성한 NFS서버가 보이는지 확인

    showmount -e mynfs
  10. NFS 노드에서 공유한 디렉토리를 CP 노드 파일시스템에 마운트

    sudo mount mynfs:/data /mnt
  11. 파일이 보이는지 확인

    {
        ls -l /mnt
        cat /mnt/hello.txt
    }
  12. PersistentVolume 생성

    cat <<EOF | kubectl create -f -
    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: nfs
    spec:
      capacity:
        storage: 1Gi
      accessModes:
        - ReadWriteMany
      persistentVolumeReclaimPolicy: Retain
      nfs:
        path: /data
        server: mynfs
        readOnly: false
    EOF
  13. 생성된 PersistentVolume 확인

    kubectl get pv nfs

Last updated