3.6. NFD 토폴로지 업데이트 프로그램 사용
NFD(Node Feature Discovery) Topology Updater는 작업자 노드에서 할당된 리소스를 검사하는 데몬입니다. 이 노드는 영역별로 새 Pod에 할당할 수 있는 리소스를 차지하며, 여기서 영역이 NUMA(Non-Uniform Memory Access) 노드일 수 있습니다. NFD Topology Updater는 클러스터의 모든 작업자 노드에 해당하는 NodeResourceTopology
CR(사용자 정의 리소스)을 생성하는 nfd-master에 정보를 전달합니다. NFD Topology Updater의 한 인스턴스는 클러스터의 각 노드에서 실행됩니다.
NFD에서 토폴로지 업데이트 프로그램 작업자를 활성화하려면 Node Feature Discovery Operator 사용 섹션에 설명된 대로 NodeFeatureDiscovery
CR에서 topologyupdater
변수를 true
로 설정합니다.
3.6.1. NodeResourceTopology CR 링크 복사링크가 클립보드에 복사되었습니다!
NFD Topology Updater를 사용하여 실행하는 경우 NFD는 다음과 같은 노드 리소스 하드웨어 토폴로지에 해당하는 사용자 정의 리소스 인스턴스를 생성합니다.
3.6.2. NFD Topology Updater 명령줄 플래그 링크 복사링크가 클립보드에 복사되었습니다!
사용 가능한 명령줄 플래그를 보려면 nfd-topology-updater -help
명령을 실행합니다. 예를 들어 podman 컨테이너에서 다음 명령을 실행합니다.
podman run gcr.io/k8s-staging-nfd/node-feature-discovery:master nfd-topology-updater -help
$ podman run gcr.io/k8s-staging-nfd/node-feature-discovery:master nfd-topology-updater -help
-ca-file
-ca-file
플래그는 NFD Topology Updater에서 상호 TLS 인증을 제어하는 -cert-file
및 '-key-file'flags와 함께 세 가지 플래그 중 하나입니다. 이 플래그는 nfd-master의 신뢰성을 확인하는 데 사용되는 TLS 루트 인증서를 지정합니다.
기본값: empty
-ca-file
플래그는 -cert-file
및 -key-file
플래그와 함께 지정해야 합니다.
예제
nfd-topology-updater -ca-file=/opt/nfd/ca.crt -cert-file=/opt/nfd/updater.crt -key-file=/opt/nfd/updater.key
$ nfd-topology-updater -ca-file=/opt/nfd/ca.crt -cert-file=/opt/nfd/updater.crt -key-file=/opt/nfd/updater.key
-cert-file
-cert-file
플래그는 NFD Topology Updater에서 상호 TLS 인증을 제어하는 -ca-file
및 -key-file flags
와 함께 세 가지 플래그 중 하나입니다. 이 플래그는 발신 요청을 인증하기 위해 제공되는 TLS 인증서를 지정합니다.
기본값: empty
-cert-file
플래그는 -ca-file
및 -key-file
플래그와 함께 지정해야 합니다.
예제
nfd-topology-updater -cert-file=/opt/nfd/updater.crt -key-file=/opt/nfd/updater.key -ca-file=/opt/nfd/ca.crt
$ nfd-topology-updater -cert-file=/opt/nfd/updater.crt -key-file=/opt/nfd/updater.key -ca-file=/opt/nfd/ca.crt
-h, -help
사용량을 출력하고 종료합니다.
-key-file
-key-file
플래그는 NFD Topology Updater의 상호 TLS 인증을 제어하는 -ca-file
및 -cert-file
플래그와 함께 세 가지 플래그 중 하나입니다. 이 플래그는 발신 요청을 인증하는 데 사용되는 지정된 인증서 파일 또는 -cert-file
에 해당하는 개인 키를 지정합니다.
기본값: empty
-key-file
플래그는 -ca-file
및 -cert-file
플래그와 함께 지정해야 합니다.
예제
nfd-topology-updater -key-file=/opt/nfd/updater.key -cert-file=/opt/nfd/updater.crt -ca-file=/opt/nfd/ca.crt
$ nfd-topology-updater -key-file=/opt/nfd/updater.key -cert-file=/opt/nfd/updater.crt -ca-file=/opt/nfd/ca.crt
-kubelet-config-file
-kubelet-config-file
은 Kubelet의 설정 파일의 경로를 지정합니다.
기본값: /host-var/lib/kubelet/config.yaml
예제
nfd-topology-updater -kubelet-config-file=/var/lib/kubelet/config.yaml
$ nfd-topology-updater -kubelet-config-file=/var/lib/kubelet/config.yaml
-no-publish
no-publish
플래그는 nfd-master와의 모든 통신을 비활성화하여 nfd-topology-updater에 대한 예행 실행 플래그로 설정합니다. NFD Topology Updater는 일반적으로 리소스 하드웨어 토폴로지 탐지를 실행하지만 CR 요청이 nfd-master로 전송되지 않습니다.
기본값: false
예제
nfd-topology-updater -no-publish
$ nfd-topology-updater -no-publish
3.6.2.1. -oneshot 링크 복사링크가 클립보드에 복사되었습니다!
-oneshot
플래그를 사용하면 리소스 하드웨어 토폴로지 탐지에서 한 번 통과한 후 NFD Topology Updater가 종료됩니다.
기본값: false
예제
nfd-topology-updater -oneshot -no-publish
$ nfd-topology-updater -oneshot -no-publish
-podresources-socket
-podresources-socket
플래그는 kubelet이 사용 중인 CPU 및 장치를 검색하고 해당 CPU 및 장치를 검색할 수 있도록 gRPC 서비스를 내보내는 Unix 소켓의 경로를 지정합니다.
기본값: /host-var/liblib/kubelet/pod-resources/kubelet.sock
예제
nfd-topology-updater -podresources-socket=/var/lib/kubelet/pod-resources/kubelet.sock
$ nfd-topology-updater -podresources-socket=/var/lib/kubelet/pod-resources/kubelet.sock
-server
-server
플래그는 연결할 nfd-master 끝점의 주소를 지정합니다.
기본값: localhost:8080
예제
nfd-topology-updater -server=nfd-master.nfd.svc.cluster.local:443
$ nfd-topology-updater -server=nfd-master.nfd.svc.cluster.local:443
-server-name-override
-server-name-override
플래그는 nfd-master TLS 인증서에서 예상되는 CN(일반 이름)을 지정합니다. 이 플래그는 주로 개발 및 디버깅 목적으로 사용됩니다.
기본값: empty
예제
nfd-topology-updater -server-name-override=localhost
$ nfd-topology-updater -server-name-override=localhost
-sleep-interval
-sleep-interval
플래그는 리소스 하드웨어 토폴로지 재검정 및 사용자 정의 리소스 업데이트 사이의 간격을 지정합니다. 양수가 아닌 값은 무한 절전 간격을 의미하고 재검색되지 않습니다.
기본값: 60s
예제
nfd-topology-updater -sleep-interval=1h
$ nfd-topology-updater -sleep-interval=1h
-version
버전을 출력하고 종료합니다.
-watch-namespace
-watch-namespace
플래그는 지정된 네임스페이스에서 실행 중인 Pod에서만 리소스 하드웨어 토폴로지 검사를 수행하도록 네임스페이스를 지정합니다. 지정된 네임스페이스에서 실행되지 않는 Pod는 리소스 계정 중에 고려되지 않습니다. 이는 테스트 및 디버깅 목적에 특히 유용합니다. *
값은 모든 네임스페이스의 모든 Pod가 회계 프로세스 중 고려됨을 의미합니다.
기본값: *
예제
nfd-topology-updater -watch-namespace=rte
$ nfd-topology-updater -watch-namespace=rte