Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Salt를 사용하여 Junos OS를 실행하는 디바이스에서 RPC 실행

주니퍼 네트웍스는 Salt를 사용하여 Junos OS를 실행하는 디바이스를 관리할 수 있도록 지원하며, Junos 실행 및 상태 모듈(Salt)은 매니지드 디바이스에서 운영 및 구성 작업을 수행할 수 있는 기능을 정의합니다. salt.modules.junos.rpc 실행 기능과 salt.states.junos.rpc 상태 기능을 사용하면 Junos OS를 실행하는 디바이스에서 원격 절차 호출(RPC)을 실행하여 작업을 수행하거나 정보를 검색할 수 있습니다.

다음 섹션에서는 기능을 사용하고, 장비 응답을 구문 분석하고, 출력 형식을 지정하고, 출력을 파일에 저장하는 방법에 대해 설명합니다.

Junos XML API 이해

Junos XML API는 Junos OS 구성 명령문 및 운영 모드 명령의 XML 표현입니다. Junos OS 구성 계층의 모든 명령문과 CLI 운영 모드에서 발행하는 많은 명령에 동등한 XML을 정의합니다. Junos XML 대응 명령이 포함된 각 운영 모드 명령은 요청 태그 요소와 필요한 경우 응답 태그 요소에 매핑됩니다. 요청 태그는 NETCONF 또는 Junos XML 프로토콜 세션 내의 RPC(Remote Procedure Call)에서 사용되어 Junos OS를 실행하는 장비에서 정보를 요청합니다. 서버는 응답 태그 요소 내에 동봉된 Junos XML 요소를 사용하여 응답을 반환합니다.

Junos XML 대응 요소가 있는 모든 운영 명령은 Junos XML API Explorer에 나열됩니다. CLI에 Junos XML 대응 요소가 있는 모든 운영 모드 명령에 대해 Junos XML 요청 태그 요소를 명령 후에 추가하여 | display xml rpc 표시할 수도 있습니다. 다음 예제에서는 명령에 대한 요청 태그를 show route 표시합니다.

Salt를 사용하여 Junos OS를 실행하는 디바이스를 관리하는 경우 이 기능을 사용하여 junos.rpc 디바이스에서 RPC를 실행하고 응답을 반환할 수 있습니다.

junos.rpc 기능 구문

salt.modules.junos.rpc 실행 기능 구문은 다음과 같습니다.

salt.states.junos.rpc 상태 기능은 다음과 같은 구문을 지원합니다.

어디:

  • arg=arg-value—(옵션) 1개 이상의 RPC 인수(예: interface-name=ge-1/1/1 해당 값 포함) 또는 terse=True.

  • dest—(옵션) RPC 회신이 작성된 프록시 미니언 서버의 대상 파일 경로 대상 디바이스에서 절대 경로를 지정하지 않으면 경로가 최상위 루트(/) 디렉토리와 상대적입니다.

  • id—상태 선언을 위한 사용자 정의 식별자.

  • format—(옵션) 지정된 경우 대상 파일에 기록된 RPC 회신 형식 , 또는 jsonxml지정합니다text.

  • rpc—예를 들어 get-system-uptime-informationJunos OS를 실행하는 디바이스에서 실행하기 위한 원격 절차 호출 .

junos.rpc 실행 기능으로 RPC를 실행하는 방법

salt.modules.junos.rpc 실행 기능을 사용하면 Junos OS를 실행하는 디바이스에서 RPC를 실행할 수 있습니다. 이 기능에는 실행해야 하는 RPC인 하나의 인수가 필요합니다. 작업이 성공하면 명령이 반환out: True되고 키에는 rpc_reply RPC 회신이 포함됩니다.

예를 들어, 다음 명령은 대상 장비에서 RPC를 실행하고 get-system-uptime-information 표준 출력으로 응답을 표시합니다.

RPC 인수 또는 함수의 출력 형식 및 위치 지정에 대한 자세한 내용은 다음을 참조하십시오.

junos.rpc 상태 기능으로 RPC를 실행하는 방법

Salt 상태 파일 내의 salt.states.junos.rpc 상태 기능을 사용하여 Junos OS를 실행하는 디바이스에서 RPC를 실행할 수 있습니다. RPC를 데이터 구조의 첫 번째 줄로 정의하거나 해당 기능의 인수 목록에서 정의할 수 있습니다. 동일한 상태 파일 내에서 동일한 RPC를 여러 번 실행해야 하는 경우 인수 목록 내에서 RPC를 정의해야 합니다.

다음 상태 파일은 상태 기능을 사용하여 junos.rpc 대상 장비에서 2개의 RPC를 실행하고 해당 출력을 파일에 저장합니다. 이 경우, 상태가 여러 대상에 id 적용될 때 출력 파일을 구별하기 위해 그레인지에 저장된 프록시 식별자가 대상 파일 이름에 포함됩니다.

상태를 적용하면 Salt 마스터가 표준 출력에서 각 RPC에 대한 RPC 회신을 표시하고 프록시 미니언 서버의 해당 대상 파일에 대한 출력을 저장합니다.

상태가 여러 대상에 적용되는 경우, 정의된 파일 이름이 고유 식별자를 참조하기 때문에 Salt는 이 경우 프록시 미니언 서버의 각 대상에 대해 서로 다른 출력 파일을 생성합니다.

상태 파일은 파일에서 동일한 상태 식별자를 여러 번 사용할 수 없습니다. 따라서 상태 파일에서 동일한 RPC 요청 태그를 여러 번 사용하려면 기능 인수 목록에서 RPC를 정의해야 합니다. 예를 들어:

RPC 인수를 지정하는 방법

junos.rpc 기능은 RPC에 대한 키워드 인수 및 값을 지정하는 것을 지원합니다. 인수가 값을 지정하는 경우 인수 이름을 포함하고 값을 지정합니다. 인수가 값을 요구하지 않는 경우 값을 같게 True설정합니다.

예를 들어, 다음 RPC에는 두 개의 인수가 포함되며, 그 중 하나는 값을 찍습니다.

Salt 마스터 명령줄에서 동급 RPC를 실행하려면 이 및 terse=True 인수를 interface-name='ge-1/1/1' 포함합니다.

마찬가지로 Salt 상태 파일에서도 마찬가지입니다.

참고:

하이픈으로 표현된 요소 이름을 사용하거나 하이픈 대신 밑거름을 사용하여 Junos OS 인수를 지정할 수 있습니다.

Salt 마스터 명령줄에서 명령을 실행할 때 Salt는 CLI 입력 PyYAML 을 통과하여 적절한 Python 데이터 유형으로 로드되도록 합니다. 정수로 구문 분석을 수행하거나 정수에 구문 분석하는 문자열 값을 취하는 인수가 올바르게 구문 분석되지 않을 수도 있습니다. 이러한 인수의 경우 다음 방법 중 하나를 사용하여 값을 제공할 수 있습니다.

  • 백슬래시(\ )를 사용하여 문자열 값에 대한 따옴표를 피하십시오.

  • 단일 견적 표시를 동봉하기 위해 이중 따옴표를 사용하고 그 반대의 경우도 마찬가지입니다.

  • --no-parse=param_name 옵션을 포함합니다.

예를 들어:

RPC 출력을 파일에 저장하는 방법

이 기능을 실행할 때 인수를 junos.rpc 포함 dest 시키고 대상 파일의 경로를 지정함으로써 프록시 미니언 서버의 파일에 반환된 데이터를 저장할 수 있습니다. 절대 경로를 지정하지 않으면 경로가 최상위 루트(/) 디렉토리와 상대적입니다. 대상 이름을 가진 출력 파일이 이미 있는 경우 새 파일이 이전 파일을 덮어쓰게 됩니다.

이 인수는 dest 파일에 있는 전체 Salt 명령 응답을 저장하지 않습니다. 키에 rpc_reply 포함된 RPC 회신만 저장합니다.

다음 명령은 RPC의 출력 get-system-uptime-information 을 표시하고 프록시 미니언 서버의 지정된 경로에 값을 저장합니다 rpc_reply .

RPC 출력의 형식을 지정하는 방법

기본적으로 이 junos.rpc 기능은 표준 출력에 표시되는 데이터와 지정된 경우 대상 파일에 저장된 데이터에 대해 RPC 출력을 XML 형식으로 반환합니다. 다른 출력 형식을 지정하려면 인수를 format 포함하고 원하는 형식과 값을 설정합니다. 텍스트 형식 또는 Junos XML 요소를 요청하려면 사용하거나 xml 각각을 사용합니다text. JSON 형식으로 junos.rpc 대상 파일에 출력을 저장하려면 을 지정합니다json.

다음 명령은 RPC를 get-system-uptime-information 실행하고 데이터를 텍스트 형식으로 반환합니다.

출력은 프록시 미니언 서버의 대상 파일에 요청된 형식으로 작성됩니다.