brief.ing.gg

BRIEFING

Nomad가 더 단순한 대안이 될 수 있는가

Nomad가 더 단순한 대안이 될 수 있는가

Scope

핵심 질문

Kubernetes 대신 Nomad를 사용하면 어떤 복잡성이 줄고 어떤 기능을 별도 시스템으로 보완해야 하는가?

Research

핵심 근거

  • Nomad는 jobs, allocations, scheduler라는 비교적 작은 core model을 가진다.
  • Kubernetes보다 built-in API object와 controller 생태계가 작아 학습면은 단순할 수 있다.
  • 기본 service discovery와 암호화된 설정 저장에는 Nomad 자체 기능도 있다. 필요한 상태 필터링·DNS, 비밀값 수명주기, ingress, operator 연동 수준에 따라 Consul, Vault, 외부 도구를 추가할 수 있다.

참고 자료

  • https://developer.hashicorp.com/nomad/docs

Draft

Nomad는 Kubernetes보다 단순한 cluster scheduler를 원하는 환경에서 실제 대안이 될 수 있다. 다만 단순함은 기능이 사라지는 것이 아니라 일부 기능을 다른 시스템으로 분리한다는 의미도 있다.

줄어드는 복잡성

핵심 개념은 job, task group, allocation, node와 scheduler 정도다. Kubernetes의 수많은 API object와 controller를 모두 배울 필요가 없다.

별도로 필요한 것

Nomad에도 자체 service discovery와 ACL이 적용되는 암호화 설정용 Variables가 있다. 작은 기본 구성에서 Consul·Vault가 반드시 필요한 것은 아니다. 더 풍부한 health-filtered DNS나 동적 비밀값 수명주기, ingress·operator 연동이 필요할 때 외부 도구를 추가할지 판단한다. Variables가 Vault 전체를 대체하는 것은 아니다.

적합한 경우

작은 운영팀이 multi-node placement와 restart, rolling update는 필요하지만 Kubernetes ecosystem 전체가 필요하지 않을 때 매력적이다.

결론

Nomad는 작은 Kubernetes가 아니라 scheduler에 더 집중한 다른 설계다. 필요한 주변기능이 적다면 전체 시스템이 훨씬 단순해질 수 있지만 Kubernetes 생태계 기능을 많이 사용한다면 오히려 조합해야 할 도구가 늘 수 있다.