NFS on Kubernetes

  • Post author:
  • Post category:칼럼
  • Post comments:0 Comments
  • Post last modified:April 8, 2020
This entry is part of 3 in the series Kubernetes Storages

Wake Up From Your Sleep by Dave
Wake Up From Your Sleep by Dave

Kubernetes용 NFS Provisioner는 두 가지가 눈에 띈다.

둘 다 NFS-Ganesha를 이용하는데 벤치마크로 봤을 때 준수하고 무난한 선택이라고 생각한다. 로컬 디스크 대비해 50~60%의 성능을 보인다. 기대치에 따라 좋다고도 나쁘다고도 할 수 있다. WordPress처럼 서버를 수평확장하려면 NFS가 필수적인 경우도 있다. Object Storage를 최대한 활용하는 회피 수단이 없진 않다. 그러나 NFS를 아예 안 쓰며 수평확장하기엔 고통이 많이 따를 수 있다. 이러한 경우라면 수평확장해서 얻는 성능 이점이 NFS의 저조한 IO 성능을 만회한다.

NFS는 DigitalOcean 같은 퍼블릭 클라우드에서 운영비용을 줄일 때도 도움이 된다. 모임에서 운영하는 Kubernetes 클러스터의 경우에는 CPU와 메모리가 다소 남는 상황이나 볼륨 제한 때문에 유휴 리소스를 제대로 활용하기 힘들다. Droplet(AWS의 EC2 인스턴스)에 달 수 있는 Block Storage의 최대 개수가 일곱 개에 불과(?)하기 때문이다. 볼륨을 더 달 수 있다면 유휴 리소스를 최대한 활용할 여지가 있다.

디지털오션의 Kubernetes(이하 DOKS)처럼 관리형 서비스인 경우 어느 정도는 커스터마이징에 제한을 받는다. 따라서 Rook Ceph 같이 Block Storage 서비스를 자체 운영하는 방식은 손을 많이 탄다. 미션크리티컬한 상황이 아니라면 NFS가 더 편리하고 효과적인 수단일 수 있다. Ceph에 비해선 NFS가 더 단순하고 이해하고 운영하기에 덜 복잡하기 때문이다.

어느 Provisioner를 선택해야 하나?

Rook은 Operator를 표방하니 운영 자동화의 도움을 좀더 받을 수 있으리라 기대하나 큰 차이라고 생각하진 않는다. 어느 쪽을 선택해도 문제가 없다.

Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
follow me
  • 일이든 소셜이든 잠시 숨을 고르고 멈춰서 둘러보면 산으로 가는 일이 비일비재하다.
    10 hours ago
  • 최선의 노력을 투입해 거대한 쓰레기를 내놓는다던가, 차라리 조금 더 망설이며 천천히 했으면 계곡 깊숙히 차를 쳐박기 전에 돌아나오기라도 했을텐데 문제를 제기한 배경을 이해하고 진짜 문제가 맞는지 의심해보지… https://t.co/naZX8nGkVZ
    10 hours ago
  • 세상에 똑똑한 친구가 참 많은데 현명한 친구는 또 그렇지 않단 말이지. 문제가 있으면 그 문제를 잘 분석해서 최적화하고 그럴 듯한 보고서든 실물이든 잘 만든다. 그런데 전제와 가정을 주의깊게 안 보니 실은… https://t.co/2PS5SU1mJl
    10 hours ago
Buy me a coffeeBuy me a coffee
×
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
Latest Posts