• toc {:toc}

Storage

  • 쿠버네티스의 스토리지 도커와 유사하게 Volume이라 한다.

  • Volume : 팟에 있는 컨테이너가 접근 가능한 데이터를 지닌 디렉토리이다.

  • 팟 안에서 데이터 베이스가 존재하면 컨테이너들이 같은 데이터 베이스를 공유할 수 있다.

image

  • 컨테이너 안에도 만들 수 있으나 컨테이너의 디스크 write 기능을 추가하면 굉장히 느려지기 때문에 사용하지 않는다.

  • emptyDir : 팟에 생성되고 팟 안에 있는 컨테이너들이 공유할 수 있다.

    • 팟이 생성될 때 함께 생성되고 팟이 삭제될 때 함께 삭제된다.
    • 처음 생성되면 비어있다.
    • 통상 임시적으로 컨테이너들이 작업하기 위한 것들을 저장하기 위해 사용한다.
  • hostPath : 호스트 노드 안에 있는 디렉토리를 팟들이 공유해서 사용할 수 있는 스토리지이다. 노드 안에 위치한다.

    • 노드가 클러스터 안에 있을 때 생성, 클러스터를 나가면 삭제된다.
    • 임시적인 작업에 사용한다.
    • Worker 노드의 특정 파일, 디렉토리를 컨테이너의 파일시스템에 마운트한다.

image

  • Persistent Volume Claim : PersistentVolume을 위한 요청이다.
    • 순서
      1. 쿠버네티스가 인식할 수 있도록 Volume을 감싸 PersistentVolume의 일환으로 등록한다. (스토리지 팀)
      2. 내 것이 아닌 PersistentVolume의 일부를 내 것인 것처럼 사용하기 위해 요청한다. Claim(사용하는 팀)
      3. 쿠버네티스가 조절하여 PersistentVolume을 연해준다.
    • PersistentVolume : Namespace, 같은 이름 공간, 클러스터 안에 존재한다.
    • 팟이 Volume에 접속한다는 의미는 네트워크를 통해서 원격으로 필요한 정보를 주고 받는다는 의미이다.
    • NFS(Network File System) : 네트워크로 연결하여 외부의 디스크를 실제 연결한 것처럼 마운트할 수 있다. 팟이 지워지더라도 nfs volume의 데이터는 지워지지 않는다.