Nomad 1.8.0 릴리스 노트
Nomad 1.8.0 릴리스 노트 (Nomad 1.8.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)
장기 지원 릴리스 (Enterprise): Nomad 1.8은 장기 지원 릴리스를 도입해요. 이는 마이너 릴리스를 통해 제공되는 2년 간의 중요 수정(critical fixes)과 효율적인 업그레이드(한 LTS 릴리스에서 다음 릴리스로의 직접 업그레이드 지원)를 제공해요.
Exec2 태스크 드라이버 (베타): exec2 드라이버는 태스크에 대한 명령을 실행하는 데 사용돼요. 아주 낮은 시작 시간과 CPU·디스크·메모리 사용량 측면의 최소 오버헤드로 '일반적인' 프로세스를 실행하도록 최적화된 보안 모델을 제공해요. exec2 드라이버는 Landlock LSM, cgroups v2, unshare 시스템 유틸리티 같은 커널 기능을 활용해요. 이러한 개선 덕분에 태스크는 더 이상 chroot 기반 파일시스템 격리를 사용할 필요가 없으며, 이는 향상된 보안 프로필과 Nomad 운영자를 위한 개선된 성능을 제공해요. 자세한 내용은 Exec2 Task Driver를 참고해요.
Consul 서비스 메시 투명 프록시 지원 (Transparent proxy support for Consul service mesh): 투명 프록시(Transparent Proxy)는 Consul 서비스 메시가 활성화된 경우 업스트림 서비스에 더 매끄럽게 다이얼하는 방식을 도입해요. 사용자는 새로운 transparent_proxy 블록으로 서비스가 투명 프록시를 사용하도록 구성할 수 있어요. 서비스가 투명 프록시를 사용하도록 구성되면 워크로드는 가상 IP Consul DNS 이름을 사용해 서비스를 다이얼할 수 있어요.
Nomad용 Consul API Gateway: Nomad의 Consul API Gateway가 공식적으로 지원돼요. hashicorp-guides/consul-api-gateway-on-nomad의 사전 정의된 작업 명세와 함께 Nomad에서 Consul API 게이트웨이를 안전하게 배포하는 방법을 설명하는 지원 튜토리얼이 제공돼요.
실시간 업데이트가 포함된 웹 UI의 재작업된 Jobs 페이지: Jobs 인덱스 페이지에서 Nomad는 몇 가지 개선을 진행했어요.
- 작업의 기록 상태보다 현재 상태를 우선 표시: 이전에는 오래전 가비지 컬렉션된 할당 배치 실패, 손실된 노드, 기타 작업 상태의 기록 표현이 현재 실행 중인 할당과 함께 표시됐어요. 자가 치유(self-healing) 작업의 경우, Nomad가 해당 실패를 대체하거나 재스케줄링했음에도 건강한 작업에 실패가 있는 것처럼 보이는 경우가 많았어요. 이제 작업 목록은 "Degraded"나 "Recovering" 같은 의미 있는 상태와 정확한 할당 정보를 표시하여 작업의 현재 상태를 더 잘 보여주려고 해요.
- 서버 측 페이지네이션: 수천 개의 작업이 있는 사용자의 경우 웹 UI 기본 방문 페이지의 렌더링 지연이 더 이상 눈에 띄지 않아요. 사용자는 페이지 길이를 제어하고 페이지네이션된 작업을 적절히 필터링할 수 있어요.
- 실시간 업데이트: 이전에는 사용자가 새로 생성된 작업을 보거나 중지·가비지 컬렉션된 작업을 숨기려면 페이지를 수동으로 새로 고쳐야 했어요. 이제 작업이 생성·업데이트·제거될 때 작업 목록이 실시간으로 업데이트돼요. 또한 페이지에 표시된 작업의 할당 변경 사항은 해당 작업의 상태에 실시간으로 반영돼요.
시간 기반 태스크 실행 (Enterprise): CRON과 유사한 구문을 사용하여 운영자는 이제 태스크가 언제 실행되고 언제 중지되어야 하는지 스케줄링할 수 있어요. 이는 작업에서 실행되는 태스크에 대한 거버넌스를 제공하며, 운영자는 웹 UI나 CLI를 통해 태스크가 실행될 수 있는 시점을 관리하는 스케줄을 쉽게 선택하거나 해제할 수 있어요.
웹 UI의 Sentinel 정책 관리 (Enterprise): Enterprise 사용자는 Nomad UI 내에서 직접 Sentinel 정책을 관리할 수 있어요. UI에서 제공되는 템플릿을 기반으로 Sentinel 정책을 만들거나 Sentinel 정책 편집기를 사용해 정책을 직접 만들 수 있어요. Nomad 내에서 Sentinel을 사용하는 방법에 대해 자세히 알아보려면 Sentinel 정책을 참고해요.
nomad-bench: Nomad는 이제 nomad-bench를 통해 테스트 프레임워크를 제공해요. 이는 Nomad 테스트 클러스터에 대한 테스트와 벤치마크를 실행하는 데 사용되는 인프라를 프로비저닝해요. 이 인프라는 각각 nomad-nodesim으로 만들어진 수백 또는 수천 개의 시뮬레이션 노드를 가진 서버 집합으로 구성된 Nomad 테스트 클러스터로 이루어져 있어요. Nomad 서버 프로세스는 시뮬레이션되지 않으며 자체 호스트에서 실행되어 실제 배포를 모방할 것으로 기대돼요. 그런 다음 벤치마킹과 부하 테스트에 사용하기 위해 Nomad 서버에서 메트릭을 수집해요.
지원 중단된 기능 (What's deprecated)
LXC 태스크 드라이버: 커뮤니티 LXC 태스크 드라이버가 이제 지원 중단(deprecated)됐어요. Nomad 1.9가 출시되면 공식 지원이 제거되고 저장소가 보관(archive)될 예정이에요. 사용자는 내장 Docker 태스크 드라이버와 같은 다른 태스크 드라이버로 워크로드를 마이그레이션하는 것이 권장돼요.
ECS 태스크 드라이버: 원격 ECS 태스크 드라이버가 이제 지원 중단됐어요. Nomad 1.9가 출시되면 공식 지원이 제거되고 저장소가 보관될 예정이에요. 사용자는 워크로드를 Amazon ECS나 다른 Nomad 태스크 드라이버로 마이그레이션하는 것이 권장돼요.
stop_after_client_disconnect, max_client_disconnect, prevent_reschedule_on_lost: Nomad 1.8.0은 연결이 끊긴 클라이언트와 서버의 동작과 관련된 모든 구성 옵션을 그룹화하기 위한 disconnect 블록을 도입해 stop_after_client_disconnect, max_client_disconnect, prevent_reschedule_on_lost 필드의 지원 중단을 유발해요. 이 블록은 또한 클라이언트가 연결을 회복한 경우 할당 조정(reconciliation)을 위한 새로운 옵션도 도입해요.
32비트 빌드: 32비트 아키텍처 지원이 이제 지원 중단됐어요. Nomad 1.9부터 릴리스는 더 이상 32비트 플랫폼용으로 빌드된 바이너리를 포함하지 않아요.
제거된 기능 (What's removed)
- raw_exec 옵션
no_cgroups: Nomad 1.7.0에서 raw_exec 플러그인 옵션 no_cgroups는 더 이상 효과가 없어졌어요. Nomad 1.8.0부터 raw_exec 플러그인 설정에서 no_cgroups를 설정하려고 하면 에이전트 시작 시 오류가 발생해요.
업그레이드 (Upgrading)
더 자세한 정보는 업그레이드 세부 사항 페이지와 changelog를 참고해요.
알려진 문제 (Known issues)
다음 문제는 v1.8.x 릴리스에 존재하는 것으로 알려져 있어요.
Changelog
이 메이저 릴리스 버전과 유지관리 버전의 changelog는 아래에 나열돼 있어요.
참고: 이 링크는 GitHub 웹사이트의 changelog로 이동해요.