Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos OS 컬렉션, 역할 및 모듈에 대한 Ansible 이해

요약 주니퍼 네트웍스는 Junos 디바이스를 관리하는 데 사용할 수 있는 Ansible 모듈을 제공합니다.

Junos 디바이스 관리를 위한 Ansible 컬렉션, 역할 및 모듈 이해

Ansible은 인프라 구성 관리에 사용되는 IT 자동화 프레임워크입니다. 개별 코드 단위인 Ansible 모듈을 사용하여 관리형 노드에서 특정 기능을 수행합니다. 원격 호스트에서 개별 모듈을 실행하여 임시 작업을 수행하거나 플레이북을 통해 모듈을 실행할 수 있습니다.

Ansible과 주니퍼 네트웍스는 Junos 디바이스를 관리하는 데 사용할 수 있는 Ansible 모듈을 제공합니다. 주니퍼 네트웍스 Ansible 모듈은 Ansible Galaxy 리포지토리에서 호스팅되는 Ansible 역할 및 컬렉션을 통해 그룹화 및 배포됩니다. 표 1 에는 Junos 디바이스 관리에 사용할 수 있는 다양한 컨텐츠 세트가 요약되어 있습니다.

표 1: Junos 디바이스 관리를 위한 Ansible 콘텐츠 세트

콘텐츠 집합

설명

Ansible 릴리스

Ansible 코어 모듈

Ansible 기본 설치에 포함된 Ansible 모듈입니다.

Ansible 2.10에서는 코어 모듈이 기본 설치에서 Ansible 컬렉션으로 이동되었습니다 junipernetworks.junos .

Ansible 2.1부터 Ansible 2.9까지

juniper.device 컬렉션

주니퍼 네트웍스가 오픈 소스 프로젝트로 제공 및 관리하는 Junos 디바이스 관리를 위한 컬렉션입니다.

Ansible 2.10 이상

Juniper.junos 역할

주니퍼 네트웍스가 제공, 유지 및 지원하는 Junos 디바이스를 관리하는 역할입니다.

이 역할은 컬렉션으로 juniper.device 대체됩니다.

Ansible 2.1 이상

junipernetworks.junos 컬렉션

Ansible이 제공, 유지 관리 및 지원하는 Junos 디바이스 관리를 위한 컬렉션입니다.

Ansible 2.10 이상

Ansible 역할은 호스트를 구성하기 위한 태스크 및 지원 변수, 파일, 템플릿, 모듈의 집합입니다. Ansible 2.10부터 Ansible은 Ansible 기본 설치의 일부로 포함되지 않은 Ansible 콘텐츠를 배포하기 위한 형식인 Ansible Content Collections를 지원합니다. Ansible 컬렉션에는 모듈, 플레이북, 플러그인, 역할 등 다양한 콘텐츠가 포함될 수 있습니다. 또한 Ansible 컬렉션에는 자체 리포지토리가 있으며 Ansible 기본 설치와 독립적으로 개발 및 릴리스할 수 있습니다.

Ansible 2.9 및 이전 버전에서는 주니퍼 네트웍스 Juniper.junos 역할에서 제공되는 모듈을 사용하거나 Ansible 기본 설치의 일부로 제공되는 코어 모듈을 사용하여 Junos 디바이스를 관리할 수 있습니다. Ansible 2.10 Juniper.junos 부터 역할 및 Ansible 코어 모듈이 해당 컬렉션으로 대체됩니다. 주니퍼 네트 juniper.device 웍스 컬렉션이 도입되면서 역할의 Juniper.junos 모듈이 컬렉션의 새 이름으로 복제되어 매개 변수를 제외하고 provider 원래 모듈과 동일한 기능 및 매개 변수가 유지되었습니다. Juniper.junos 역할은 컬렉션과 juniper.device 공존할 수 있고 이후 릴리스에서 작동하지만 앞으로 컬렉션에만 juniper.device 새 기능이 추가되므로 컬렉션을 사용하는 것이 좋습니다.

Junos 디바이스에서 모듈을 실행하는 방법

Ansible Galaxy 리포지토리에서 호스팅되는 컬렉션 및 역할을 사용하려면 먼저 제어 노드에 Ansible을 설치한 다음 컬렉션 또는 역할을 설치해야 합니다. 컬렉션 또는 Juniper.junos 역할 설치에 juniper.device 대한 자세한 내용은 Ansible for Junos OS 서버 요구 사항을 참조하십시오.

Ansible 모듈은 관리형 노드에서 작업을 수행할 수 있습니다. 일반적으로 Ansible 제어 노드는 모듈을 관리형 노드로 전송하여 모듈을 실행한 후 제거합니다. 이 시나리오에서 관리 노드에는 모듈을 실행할 수 있는 기능이 있어야 합니다. 대부분의 Ansible 모듈은 Python으로 작성되므로 Ansible은 일반적으로 관리형 노드에 Python이 필요합니다.

그러나 컬렉션과 Juniper.junos 역할의 juniper.device 주니퍼 네트웍스 모듈에는 관리형 노드에 Python이 필요하지 않습니다. 일반적인 운영과 달리 Ansible 제어 노드에서 모듈을 로컬로 실행하고, 모듈은 NETCONF를 통해 Junos PyEZ 및 Junos XML API를 사용하여 관리형 노드와 상호 작용합니다. 이 실행 방법을 사용하면 Ansible을 사용하여 지원되는 모든 Junos 디바이스를 관리할 수 있습니다. 그림 1 은 Ansible 컨트롤 노드와 매니지드 Junos 디바이스 간의 통신을 보여줍니다.

그림 1: Junos 디바이스 Ansible Communication with a Junos Device 와의 Ansible 통신

컬렉션 또는 역할의 juniper.device 모듈을 사용하려면 플레이북 또는 Juniper.junos 명령이 다음을 수행해야 합니다.

  • 컬렉션 또는 역할 지정 - 컬렉션 또는 역할을 지정하려면 플레이에 또는 roles 키를 포함합니다collections. 또는 키를 생략 collections 하고 대신 FQCN(정규화된 컬렉션 이름)으로 컬렉션 콘텐츠를 참조할 수 있으며, 이는 권장되는 방법입니다.

  • 제어 노드에서 로컬로 모듈 실행—Ansible 모듈을 로컬로 실행하려면 예를 들어 플레이북에 포함하거나 명령줄에 포함하여 connection: local --connection local 매개 변수를 local로 정의합니다connection.

    참고:

    를 사용할 connection: local때 Ansible은 연결이 필요한 플레이의 각 작업에 대해 디바이스에 대한 별도의 연결을 설정합니다. juniper.device 컬렉션 모듈은 또한 사용을 connection: juniper.device.pyez지원하며, 이는 여전히 모듈을 로컬에서 실행하지만 대신 플레이의 모든 작업에 대해 장치에 대한 단일 영구 연결을 설정합니다.

  • 매니지드 디바이스에 연결하기 위한 적절한 연결 및 인증 정보 제공—자세한 내용은 다음을 참조하세요.

매니지드 Junos 디바이스에 액세스할 수 있는 모든 사용자 계정을 사용하여 Ansible 모듈을 실행할 수 있습니다. Ansible 모듈을 실행하면 Junos OS 사용자 계정 액세스 권한이 적용되고 Junos OS 사용자 계정에 대해 구성된 클래스에 따라 권한이 결정됩니다. 따라서 사용자가 구성 변경 사항을 디바이스에 로드하는 모듈을 실행하는 경우 사용자는 구성의 관련 부분을 변경할 수 있는 권한이 있어야 합니다.

다음 플레이북은 컬렉션의 juniper.device facts 모듈을 실행하여 디바이스 팩트를 검색하고 파일에 저장합니다. 이 예제에서는 기본 위치에 있는 기존 SSH 키를 사용하여 디바이스를 인증하므로 플레이북에 자격 증명을 명시적으로 제공하지 않습니다.

마찬가지로 다음 플레이북은 역할의 juniper_junos_facts 모듈을 실행하여 Juniper.junos 동일한 작업을 수행합니다.

명령줄에서 임시 작업을 수행할 수도 있습니다. 다음 명령은 컬렉션의 juniper.device facts 모듈을 실행하고 인벤토리 그룹 dc1의 호스트에서 디바이스 팩트를 검색합니다.

주니퍼 네트웍스 juniper.device 컬렉션

주니퍼 네트웍스는 Ansible Galaxy 웹 사이트에서 호스팅되고 Junos 디바이스를 관리할 수 있도록 지원하는 Ansible 모듈이 포함된 Ansible 콘텐츠 컬렉션을 제공합니다juniper.device.

표 2에서는 컬렉션의 모듈을 간략하게 juniper.device 설명합니다. 컬렉션의 초기 릴리스에서 컬렉션 모듈은 컬렉션 모듈에 대해 지원되지 않는 매개 변수를 제외하고 provider 역할의 Juniper.junos 해당 모듈과 동일한 기능 및 매개 변수를 유지합니다.

모듈에 대한 최신 목록, 설명서 및 사용 예는 https://ansible-juniper-collection.readthedocs.io/en/latest/ 를 참조하세요.

표 2: juniper.device 수집 모듈

juniper.device 모듈 이름

설명

command

Junos 디바이스에서 CLI 명령을 실행하고 출력을 로컬에 저장합니다.

config

Junos 디바이스의 구성을 관리합니다.

facts

Junos OS 버전, 일련 번호, 하드웨어 모델 번호 등 원격 호스트에서 디바이스별 정보를 검색합니다.

jsnapy

Ansible에서 JSNAPy(Junos Snapshot Administrator in Python) 테스트를 실행합니다.

ping

Junos 디바이스에서 명령을 실행합니다 ping .

pmtud

Junos 디바이스에서 경로 MTU 검색을 수행합니다.

rpc

Junos OS RPC를 실행합니다.

software

Junos OS 소프트웨어 패키지를 설치하고 Junos 디바이스를 재부팅합니다.

system

Junos 디바이스에서 디바이스 재설정, 재부팅 또는 종료를 포함한 시스템 작업을 수행합니다.

srx_cluster

클러스터 지원 SRX 시리즈 방화벽을 위한 SRX 시리즈 섀시 클러스터를 생성합니다.

table

Junos PyEZ 운영 테이블 및 뷰를 사용하여 Junos 디바이스에서 운영 정보를 검색할 수 있습니다.

주니퍼 네트웍스 Juniper.junos 역할

주니퍼 네트웍스는 Ansible Galaxy 웹 사이트에서 호스팅되고 Junos 디바이스를 관리할 수 있도록 지원하는 Ansible 모듈을 포함하는 Ansible 역할을 제공합니다Juniper.junos. Ansible 2.10부터는 컬렉션이 juniper.device 역할을 대체합니다Juniper.junos. 컬렉션의 모듈에는 매개 변수를 제외하고 역할의 모듈과 동일한 기능 및 매개 변수가 있습니다provider. 컬렉션과 역할이 동일한 플랫폼에 공존할 수 있고 이후 릴리스에서 모듈을 계속 사용할 Juniper.junos 수 있지만, 앞으로 컬렉션에만 juniper.device 새 기능이 추가되므로 컬렉션을 사용하는 것이 좋습니다.

표 3 에는 역할의 모듈이 요약되어 있습니다 Juniper.junos . 모듈에 대한 최신 목록, 설명서 및 사용 예는 https://junos-ansible-modules.readthedocs.io/en/latest/ 참조하세요.

참고:

릴리스 2.0.0부터 Juniper.junos 역할에는 향상된 모듈 집합이 Juniper.junos 포함됩니다. 각각의 새 모듈은 하나 이상의 기존 모듈의 기능을 대체합니다. 향상된 모듈은 공통 연결 및 인증 매개 변수 집합, 핵심 모듈과 동일한 연결 및 인증 관련 옵션을 지정할 수 있는 별칭, 공급자 사전 내에서 매개 변수를 지정하는 기능을 지원합니다.

표 3: Juniper.junos 역할 모듈

모듈 이름

설명

릴리스 2.0.0부터 사용되지 않는 모듈

juniper_junos_command

Junos 디바이스에서 CLI 명령을 실행하고 출력을 로컬에 저장합니다.

junos_cli

juniper_junos_config

Junos 디바이스의 구성을 관리합니다.

junos_commit

junos_get_config

junos_install_config

junos_rollback

juniper_junos_facts

Junos OS 버전, 일련 번호, 하드웨어 모델 번호 등 원격 호스트에서 디바이스별 정보를 검색합니다.

junos_get_facts

juniper_junos_jsnapy

Ansible에서 JSNAPy(Junos Snapshot Administrator in Python) 테스트를 실행합니다.

junos_jsnapy

juniper_junos_ping

Junos 디바이스에서 명령을 실행합니다 ping .

junos_ping

juniper_junos_pmtud

Junos 디바이스에서 경로 MTU 검색을 수행합니다.

junos_pmtud

juniper_junos_rpc

Junos OS RPC를 실행합니다.

junos_rpc

juniper_junos_software

Junos OS 소프트웨어 패키지를 설치하고 Junos 디바이스를 재부팅합니다.

junos_install_os

juniper_junos_system

Junos 디바이스에서 디바이스 재설정, 재부팅 또는 종료를 포함한 시스템 작업을 수행합니다.

junos_shutdown

junos_zeroize

juniper_junos_srx_cluster

클러스터 지원 SRX 시리즈 방화벽을 위한 SRX 시리즈 섀시 클러스터를 생성합니다.

junos_srx_cluster

juniper_junos_table

Junos PyEZ 운영 테이블 및 뷰를 사용하여 Junos 디바이스에서 운영 정보를 검색할 수 있습니다.

junos_get_table

릴리스 기록 테이블
릴리스
설명
2.0.0
릴리스 2.0.0부터 Juniper.junos 역할에는 향상된 모듈 집합이 Juniper.junos 포함됩니다.