페더레이션
페더레이션 (Federation)
이 페이지는 Nomad 페더레이션 기능에 대한 개념 정보를 제공해요. 리전 간(cross-region) 요청 전달, 복제(replication), 그리고 Nomad Enterprise의 다중 리전 작업 배포에 대해 알아봐요.
출처: 문서
본문
Nomad 페더레이션은 서로 다른 리전에서 실행되는 여러 Nomad 클러스터가 원활하게 함께 작동할 수 있게 해주는 다중 클러스터 오케스트레이션·관리 기능이에요. 클러스터를 페더레이션하면 다양한 데이터 센터나 지리적 위치 전반의 워크로드에 대해 확장성, 장애 허용성, 중앙 집중식 관리 측면의 이점을 얻을 수 있어요.
리전 간 요청 전달 (Cross-Region request forwarding)
API 호출에는 질의가 지정된 Nomad 리전을 정의하는 region 쿼리 매개변수가 포함될 수 있어요. 이것이 로컬 리전이 아니라면 Nomad는 요청을 해당 리전의 서버로 투명하게 전달해요. 쿼리 매개변수를 생략하면 Nomad는 요청을 처리하는 서버의 리전을 사용해요.
복제 (Replication)
Nomad는 다음 객체들을 권위 리전(authoritative region)에 기록하고 모든 페더레이션 리전에 복제해요.
- ACL 정책, 역할, 인증 방법, 바인딩 규칙, 전역 토큰
- 네임스페이스
- 노드 풀
- 쿼터 스펙
- Sentinel 정책
이러한 객체를 생성·업데이트·삭제할 때 Nomad는 항상 RPC 전달을 사용해 권위 리전에 요청을 보내요.
Nomad는 각 페더레이션 클러스터의 리더 서버에서 허브-앤-스포크(hub and spoke) 설계로 복제 루틴을 시작해요. 그런 다음 이 루틴들은 blocking queries를 사용해 권위 리전의 업데이트를 받아 자신의 상태 저장소에 미러링해요. 이 루틴들은 또한 속도 제한(rate limiting)을 구현해서, 바쁜 클러스터가 과도하게 공격적인 복제 프로세스로 인해 성능이 저하되지 않도록 해요.
참고 — Nomad는 ACL 로컬 토큰을 요청한 리전에 기록하며, 이러한 로컬 토큰은 복제하지 않아요.
다중 리전 작업 배포 (Multi-Region job deployments) — Enterprise
Nomad 작업 배포는 페더레이션 모드에서 실행될 때 multiregion 블록을 사용할 수 있어요. Multiregion 구성은 Nomad가 지정된 모든 리전에 작업을 등록하고 실행하도록 지시하므로, 각 리전에 여러 작업 스펙 사본을 만들고 등록할 필요가 없어요. Multiregion 작업은 장애 발생 시 리전별 페일오버를 제공하지 않아요.