클러스터 검사하기
클러스터 검사하기 (Inspect the cluster)
Nomad 웹 UI를 사용해 운영자 관점에서 클러스터 상태를 모니터링하는 방법을 알아봐요. 클라이언트 노드, 드라이버 상태, 리소스 사용률, 할당 등을 확인할 수 있어요.
출처: 문서
본문
웹 UI는 운영자 관점에서 Nomad 클러스터 상태를 모니터링하는 강력한 도구가 될 수 있어요. 모든 클라이언트 노드 표시, 클라이언트 노드의 드라이버 상태, 드라이버 상태, 리소스 사용률, 클라이언트 노드별 할당 등이 포함돼요.
클러스터 클라이언트 보기
어떤 페이지에서든 왼쪽 내비게이션 바에서 Clients List 페이지에 접근할 수 있어요. 좁은 화면에서는 이 내비게이션 바를 오른쪽 위 메뉴 버튼에서 열어야 할 수 있어요. 테이블은 클러스터의 모든 클라이언트를 나열하며 검색, 정렬, 필터링이 가능해요. 테이블의 각 클라이언트 행은 Node ID, 이름, 상태, 주소, 데이터 센터, 실행 중인 할당 수 같은 기본 정보를 보여줘요.
이 뷰는 클라이언트 노드 상태가 바뀔 때 실시간으로 갱신되기도 해요.
클라이언트 뷰 필터링
Nomad 클러스터에 클라이언트 노드가 많다면, 특정 기준에 맞는 클라이언트 노드만 남도록 전체 목록을 필터링하는 것이 유용할 수 있어요. 웹 UI에는 필터링할 수 있는 세 가지 기준이 있어요.
- Class: 클라이언트의 노드 클래스로, 클러스터의 각 클라이언트 노드의 노드 클래스를 기반으로 동적으로 생성된 목록을 포함해요.
- State: 클러스터의 상태로, Initializing, Ready, Down, Ineligible, Draining을 포함해요.
- Datacenter: 클라이언트 노드가 있는 데이터 센터로, 클러스터의 모든 데이터 센터를 기반으로 동적으로 생성된 목록을 포함해요.
개별 클라이언트 검사
Clients List 페이지에서 테이블의 클라이언트 노드를 클릭하면 해당 클라이언트 노드의 Client Detail 페이지로 이동해요. 이 페이지는 클라이언트 노드에 대한 모든 정보를 포함하며 항상 최신 정보를 제공하도록 실시간으로 갱신돼요.
리소스 사용률 모니터링
Nomad에는 클라이언트 노드의 특정 시점 리소스 사용률 메트릭을 읽기 위한 API가 있어요. 웹 UI는 이 메트릭을 사용해 현재 세션에 대한 시계열 그래픽을 만들어요.
클라이언트 노드를 볼 때 리소스 사용률은 자동으로 기록되기 시작해요.
클라이언트 할당 나열
할당은 작업에 속하고 클라이언트 노드에 배치돼요. Client Detail 페이지는 가비지 컬렉션될 때까지 클라이언트 노드의 모든 할당(완료, 실패, 손실된 할당 포함)을 나열해요.
이것은 검색 가능한 테이블로 제공되며, 선점된(preempted) 할당만으로 추가로 필터링할 수도 있어요.
클라이언트 이벤트 검토
클라이언트 노드는 노드가 스케줄링에 준비되거나 드라이버가 비정상이 되는 등 의미 있는 상태 변경 시 이벤트도 내보내요.
클라이언트 드라이버 상태 확인
태스크 드라이버는 클라이언트 노드에서 실행되는 추가 서비스예요. Nomad는 태스크 드라이버를 핑거프린팅하고 통신해 드라이버가 사용 가능하고 정상인지 판단해요. 이 정보는 Client Detail 페이지에서 웹 UI를 통해 보고돼요.
클라이언트 속성 보기
작업 작성자가 작업 배치를 제약할 수 있도록, Nomad는 클라이언트 에이전트가 실행 중인 노드의 하드웨어를 핑거프린팅해요. 이것은 웹 UI가 훑어보기 쉽게 제시하는 깊이 중첩된 속성 문서예요.
하드웨어 속성 외에도 Nomad 운영자는 metadata를 클라이언트 설정의 일부로 클라이언트 노드에 주석으로 달 수 있어요. 이 메타데이터도 Client Detail 페이지에 표시돼요.
노드 드레인 모니터링
Nomad 클러스터를 유지 관리하는 일상적인 부분은 노드에서 할당을 드레이닝하는 것이에요. 운영 체제 업그레이드를 수행하거나 새 VM을 위해 오래된 노드를 폐기하는 준비가 될 수 있어요.
드레인은 CLI에서 수행되지만, 드레인 상태는 웹 UI에서 모니터링할 수 있어요. 클라이언트 노드는 적극적으로 드레이닝 중인지 또는 스케줄링에 부적격인지 표시해요.
드레인은 다양한 방식으로 구성될 수 있으므로 Client Detail 페이지는 드레인이 수행되는 방식의 세부 사항도 제시해요.
클러스터 서버 보기
클라이언트 노드가 작업 실행에 사용되는 반면, 서버 노드는 Nomad를 실행하고 가용성을 유지하는 데 사용돼요. 어떤 페이지에서든 왼쪽 내비게이션 바에서 Servers List 페이지에 접근할 수 있어요.
이 테이블은 클러스터의 모든 서버 노드를 나열해요. 이 목록은 작아요. 보통 3개 또는 5개예요.
개별 서버 검사
Servers List에서 서버 노드를 클릭하면 서버 노드의 태그 테이블이 확장돼요.
UI 보안
팀 규모와 Nomad 배포 세부 사항에 따라, 서로 다른 내부 사용자가 접근할 수 있는 기능을 제어하고 싶을 수 있어요. 여기에는 클라이언트 노드 나열·관리 권한과 서버 노드 나열·관리 권한을 가진 사람을 제한하는 것이 포함돼요. Nomad의 접근 제어 목록 시스템으로 이를 강제할 수 있어요.
기본적으로 읽기와 쓰기 등 모든 기능이 웹 UI의 모든 사용자에게 제공돼요. ACL로 웹 UI 보호하기 튜토리얼을 확인해 익명 사용자가 쓰기 권한을 갖지 못하게 하는 방법과 권한 있는 사용자로 웹 UI 쓰기 기능을 계속 사용하는 방법을 알아봐요.
탐색 계속하기
Nomad UI를 통해 클러스터 상태를 검사하는 방법을 살펴봤으니, 다음으로는 Nomad UI를 사용할 때 염두에 두어야 할 몇 가지 고려 사항을 배우게 돼요.