39장. Nmstate 소개
NMState는 선언적 네트워크 관리자 API입니다. nmstate
패키지는 RHEL에서 NetworkManager를 관리하기 위해 libnmstate
Python 라이브러리와 명령줄 유틸리티 nmstatectl
을 제공합니다. Nmstate를 사용하는 경우 YAML 또는 JSON 형식의 명령을 사용하여 예상 네트워킹 상태를 설명합니다.
NMState는 많은 이점이 있습니다. 예를 들면 다음과 같습니다.
- RHEL 네트워크 기능을 관리할 수 있는 안정적이고 확장 가능한 인터페이스 제공
- 호스트 및 클러스터 수준에서 원자성 및 트랜잭션 작업 지원
- 대부분의 속성을 부분적으로 편집하고 지침에 지정되지 않은 기존 설정을 보존할 수 있도록 지원합니다.
- 관리자가 자체 플러그인을 사용할 수 있도록 플러그인을 지원
39.1. Python 애플리케이션에서 libnmstate 라이브러리 사용
libnmstate
Python 라이브러리를 사용하면 개발자가 자체 애플리케이션에서 Nmstate를 사용할 수 있습니다.
라이브러리를 사용하려면 소스 코드로 가져옵니다.
import libnmstate
이 라이브러리를 사용하려면 nmstate
패키지를 설치해야 합니다.
예 39.1. libnmstate 라이브러리를 사용하여 네트워크 상태 쿼리
다음 Python 코드는 libnmstate
라이브러리를 가져오고 사용 가능한 네트워크 인터페이스와 해당 상태를 표시합니다.
import json import libnmstate from libnmstate.schema import Interface net_state = libnmstate.show() for iface_state in net_state[Interface.KEY]: print(iface_state[Interface.NAME] + ": " + iface_state[Interface.STATE])