노드 아이덴티티

노드 아이덴티티 (Node Identity)

이 페이지는 Nomad의 노드 아이덴티티 기능에 대한 개념 정보를 제공해요. 이 기능은 각 Nomad 클라이언트 노드를 고유하게 식별하고, 노드가 Nomad 서버에 RPC 호출을 할 수 있도록 인증 메커니즘을 제공해요.

출처: 문서

본문

Nomad 클러스터는 정의된 수명을 가진 이 기능을 완전히 지원할 수 있게 되면 모든 노드에 기본 아이덴티티를 부여해요. 이 노드 아이덴티티는 리더의 키링(keyring)으로 서명된 JSON Web Token (JWT)이며, 노드의 등록 및 하트비트(heartbeat) 과정의 일부로 생성돼요.

노드 아이덴티티 클레임 (Node identity claims)

exp(만료 시간), iat(발급 시간), aud(대상) 같은 표준 JWT 클레임과 함께, Nomad 노드 아이덴티티는 nomad_node_id, nomad_node_pool, nomad_node_datacenter 아이덴티티 클레임을 포함해요.

{
  "nomad_node_id": "f6e8c9d4-5b6a-4c3d-8e2f-1a2b3c4d5e6f",
  "nomad_node_pool": "default",
  "nomad_node_datacenter": "dc1"
}

특정 노드의 모든 아이덴티티 클레임을 확인하려면 node identity get 명령어를 실행해요.

노드 아이덴티티 갱신 (Node identity renewal)

노드 풀 스펙의 node_identity_ttl 매개변수가 아이덴티티의 만료를 결정하며, 기본값은 24시간이에요. 노드의 아이덴티티가 수명의 67%를 넘기면 Nomad 서버는 다음 하트비트 때 노드에 새 아이덴티티를 발급해요.

node identity renew 명령어를 실행하면 다음 하트비트 때 노드가 아이덴티티를 갱신하도록 강제할 수 있어요. 이 명령어는 67% 수명 확인을 우회하게 해줘요.

노드 아이덴티티 영속화 (Node identity persistence)

노드의 아이덴티티는 로컬 데이터베이스에 저장되며, 이는 구성된 data_dir 안에 영속화돼요. 저장된 아이덴티티를 다른 상태 리소스와 함께 확인하려면 operator client-state 명령어를 실행해요.

더 알아보기 (Learn more)