Nomad 1.9.0 릴리스 노트
Nomad 1.9.0 릴리스 노트 (Nomad 1.9.0 Release Notes)
다음과 같은 Nomad 업데이트를 발표하게 되어 기쁘게 생각해요.
출처: 문서
본문
Nomad 버전 지원 (Nomad version support)
2026년 4월부터 HashiCorp의 자체 관리(self-managed) 제품은 새로운 버전·릴리스·지원 모델을 채택해요. Nomad는 계속해서 봄과 가을 기능 릴리스를 목표로 하며, 필요에 따라 월간 업데이트를 제공해요. 이러한 변경은 IBM의 기업 소프트웨어 수명주기와 일치하여 IBM 소프트웨어 포트폴리오 전반에 걸쳐 일관된 지원을 보장해요.
| 버전 | 기본 지원 종료 (Base Support End) | 확장 지원 종료 (Extended Support End) | 지속 확장 지원 종료 (Ongoing Extended Support End) |
|---|---|---|---|
| 1.8.x (LTS) | 2026년 4월 30일 | 2026년 4월 30일 | 2026년 4월 30일 |
| 1.10.x (LTS) | 2027년 4월 30일 | 2027년 4월 30일 | 2027년 4월 30일 |
| 1.11.x | 2026년 10월 31일 | 2026년 10월 31일 | 2026년 10월 31일 |
| 2.0.x | 2028년 4월 30일 | 2029년 4월 30일 | 2032년 4월 30일 |
확장 지원(Extended Support)과 지속 확장 지원(Ongoing Extended Support)은 Enterprise 고객이 이용할 수 있는 선택적 유료 지원 패키지라는 점에 유의해요.
2.0.0 릴리스부터 HashiCorp Nomad의 기존 의미론적 버저닝(semantic versioning) 형식(X.Y.Z)은 IBM의 Version-Modification-Fix(V.M.F) 모델로 전환돼요. 이 매핑은 제품 전반에 걸쳐 수명주기 시점을 명확하고 일관되게 만드는 데 도움을 줘요.
- 4월 ("V" 마일스톤): 해당 버전에 대한 새 지원 수명주기를 시작해요.
- 10월 ("M" 마일스톤): 새 기능을 추가하지만 새 지원 수명주기는 시작하지 않아요.
- 매월 ("F" 수정): 패치 릴리스예요.
추가 세부 사항은 다음을 참고해요:
- IBM HashiCorp Self-Managed Product Support Lifecycle Addendum
- Changes to HashiCorp Self-Managed Enterprise Product Release Cadence and Support
- 2025년 3월 이전에 출시된 제품에 대한 HashiCorp 장기 지원(LTS) 릴리스. Nomad v1.10.x가 마지막 LTS 릴리스예요.
- IBM Software Support Lifecycle Policies
릴리스 하이라이트 (Release highlights)
NVIDIA 디바이스 드라이버에 Multi-Instance GPU(MIG) 지원 추가: 이로써 Nomad가 NVIDIA 하드웨어 전반에 걸쳐 워크로드를 스케줄링하고 GPU 투자를 최대한 활용할 수 있는 능력이 향상돼요. 디바이스 드라이버가 MIG를 자동으로 감지해요. 자세한 내용은 NVIDIA 드라이버 문서를 참고해요.
디바이스 리소스에 대한 할당량 (Enterprise): 이 릴리스는 디바이스 리소스를 제한할 수 있도록 할당량을 확장해요. 구성 세부 사항은 리소스 할당량을 참고해요.
디바이스 리소스에 대한 NUMA 인식 (Enterprise): Nomad는 CPU 코어를 메모리 노드와 상호 연관시키고 교차 메모리 노드 접근 패턴을 최소화하도록 특정 CPU 코어에서 실행할 태스크를 할당할 수 있어요. Nomad 1.9에서는 이 기능을 확장하여 디바이스도 메모리 노드와 상호 연관시키고, 스케줄링 결정을 내릴 때 디바이스 연관성(associativity)을 고려하는 NUMA 인식 스케줄링을 활성화해요. 구성 세부 사항은 numa 블록을 참고해요.
골든 작업 버전 (Golden job versions): 이 기능은 작업의 기록 버전을 보존하고 비교하는 방법을 도입해요. 이전에는 작업에 대한 어떤 변경이든 이전 버전을 가비지 컬렉션으로 밀어 넣었어요. 이제 버전에 태그를 지정해 가비지 컬렉션에서 보호할 수 있어요. 또한 태그 이름으로 작업 버전을 비교하고 태그 이름으로 되돌릴(revert) 수 있어요. 자세한 내용과 작업 버전 태그 지정 사용 방법은 작업 버전을 참고해요.
Virt 태스크 드라이버 (베타): 새로운 Virt 태스크 드라이버는 libvirt를 사용하여 KVM, Xen, VMware ESXi, QEMU 및 기타 가상화 기술로 생성된 가상 머신을 관리해요. 이 드라이버를 사용하면 다음을 수행할 수 있어요.
- 가상 머신을 시작·중지하고 그 위에서 프로세스를 실행하기.
- 가상 머신 내부의 실행 중인 태스크에 워크로드 아이덴티티를 할당하기.
- consul-template을 사용해 Vault나 다른 서비스의 구성 값을 전달하기.
- 호스트 디렉터리를 가상 머신에 마운트하여 내부의 할당·태스크 디렉터리를 확보하기.
- Nomad 노드에서 가상 머신으로의 포트 포워딩을 구성하기.
- 태스크 API를 통해 실행 중인 태스크에 접근하기.
설치 및 사용 가이드는 Virt 드라이버 문서를 참고해요.
Exec2 태스크 드라이버 (GA): exec2 드라이버는 태스크에 대한 명령을 실행하는 데 사용돼요. 아주 낮은 시작 시간과 CPU·디스크·메모리 사용량 측면의 최소 오버헤드로 '일반적인' 프로세스를 실행하도록 최적화된 보안 모델을 제공해요. exec2 드라이버는 Landlock LSM, cgroups v2, unshare 시스템 유틸리티 같은 커널 기능을 활용해요. 이러한 개선 덕분에 태스크는 더 이상 chroot 기반 파일시스템 격리를 사용할 필요가 없으며, 이는 향상된 보안 프로필과 Nomad 운영자를 위한 개선된 성능을 제공해요. 자세한 내용은 Exec2 Task Driver를 참고해요.
향상된 IPv6 지원: Nomad의 IPv6 기능 지원이 개선됐어요. 서버 간 및 서버-클라이언트 통신의 일부 알려진 문제를 테스트하고 해결했어요. 또한 Nomad CLI와 UI 서비스 통합을 Consul·Vault, 워크로드 아이덴티티, 서비스 등록, 호스트 네트워킹, 브리지 네트워킹, Docker 드라이버와 함께 테스트했어요. Consul 서비스 메시와의 통합을 탐색하면서 IPv6 지원에 더 많은 작업이 필요할 가능성이 있어요.
지원 중단된 기능 (What's deprecated)
다음은 지원 중단됐으며 1.10에서 제거될 예정이에요.
- Consul의 레거시 토큰 워크플로우 지원. Consul 지원이 필요한 워크로드는 클러스터가 Consul과 함께 Workload Identity를 사용하도록 구성되어야 해요. 자세한 내용은 Consul 통합 가이드를 참고해요.
- Vault의 레거시 토큰 워크플로우 지원. Vault 지원이 필요한 워크로드는 클러스터가 Vault와 함께 Workload Identity를 사용하도록 구성되어야 해요. 자세한 내용은 Vault 통합 가이드를 참고해요.
- Nomad는 Consul에 서비스를 등록하지 않는 워크로드에 대해 암시적
consul블록을 더 이상 만들지 않아요.template렌더링에 Consul 토큰이 필요한 작업은consul블록을 제공해야 해요. - Nomad 클라이언트는 시작 시 지문 수집(fingerprinting)을 위해 플러그인 디렉터리의 모든 바이너리를 더 이상 실행하지 않아요. Nomad 에이전트 설정에 연결된
plugin블록이 있는 플러그인만 지문 수집돼요. 자세한 내용은 GH-18529를 참고해요. - Nomad는 더 이상 사용되지 않는
stop_after_client_disconnect,max_client_disconnect,prevent_reschedule_on_lost필드를 무시하고, 동일한 기능을 담당하는disconnect블록만 지원해요.
제거된 기능 (What's removed)
- HCLv1 작업 명세(job specification)와
nomad job run및 기타 명령의-hcl1플래그 지원이 제거됐어요. 자세한 내용은 GH-20195를 참고해요. - v1.6.0보다 오래된 Nomad 클라이언트 에이전트 지원이 제거됐어요. 오래된 노드는 하트비트에 실패해요. Nomad 서버는 1.6.0보다 오래된 Nomad 클라이언트 에이전트의 워크로드를 손실(lost)로 표시하고 작업의 reschedule 블록에 따라 이를 정상적으로 재스케줄링해요.
- LXC 태스크 드라이버와 ECS 태스크 드라이버 프로젝트는 Nomad 1.9 릴리스와 함께 보관(archive)되어 더 이상 지원되지 않아요. 두 플러그인 모두 Nomad 코어 프로젝트와 별도로 유지관리되며 LTS 프로그램의 적용을 받지 않아요.
- Nomad는
tls블록에서tls_prefer_server_cipher_suites에이전트 설정을 제거했어요.
업그레이드 (Upgrading)
더 자세한 정보는 업그레이드 세부 사항 페이지와 changelog를 참고해요.
알려진 문제 (Known issues)
없음.
Changelog
이 메이저 릴리스 버전과 유지관리 버전의 changelog는 아래에 나열돼 있어요.
참고: 이 링크는 GitHub 웹사이트의 changelog로 이동해요.