ztp.json 키
Apstra ZTP 구성 파일(ztp.json)에는 Apstra ZTP 스크립트ztp.py()에 대한 모든 구성이 포함되어 있습니다. 절대 직접 수정 ztp.py 하지 마십시오. 구성을 위해 ztp.json여러 가지 방법을 사용할 수 있습니다. 먼저 아래 설명된 대로 파일의 키를 숙지한 다음 장치에 필요한 대로 파일을 구성합니다(이후 페이지에서 설명).
주요 카테고리
파일의 내용은 ztp.json 다음과 같이 보다 일반적인 섹션에서 보다 구체적인 섹션으로 구성됩니다.
-
기본값 - 더 구체적인 섹션에서 동일한 키를 사용하지 않는 한 섹션에
defaults구성된 값은 모든 디바이스에 사용됩니다. 보다 구체적인 섹션 값이 우선합니다. 다음은 기본값 섹션에 넣을 수 있는 내용의 예입니다."defaults": { "device-root-password": "root-password-123", "device-user": "admin", "device-user-password": "admin-password-123", "system-agent-params": { "agent_type": "onbox", "install_requirements": false } } -
platform-specific - 각 벤더 플랫폼 섹션(
junos,nxossonicjunos-evoeos)linux에 구성된 값은 더 구체적인 섹션에서 동일한 키가 정의되지 않는 한 해당 벤더의 모든 디바이스에 사용됩니다. 다음은 SONiC OS를 사용하는 디바이스의 예입니다."sonic": { "sonic-versions": ["SONiC-OS-3.4.0-Enterprise_Advanced"], "sonic-image": "http://10.85.24.52/sonic/3.4.0/sonic-3.4.0-GA-adv-bcm.bin", "device-root-password": "admin", "device-user": "admin", "device-user-password": "admin", "custom-config": "sonic_custom.sh", "system-agent-params": { "agent_type": "onbox", "job_on_create": "install" } } -
모델별 - 특정 모델 번호 섹션에 구성된 값은 일련 번호 섹션에 동일한 키가 사용되지 않는 한 해당 모델의 모든 디바이스에 사용됩니다. 그런 다음 일련 번호 섹션의 값이 사용됩니다. 다음은 특정 주니퍼 디바이스의 예입니다.
"QFX10002-36Q": { "junos-versions": ["21.2R1-S2.2"], "junos-image": "http://10.85.24.52/juniper/21.2R1-S2.2/jinstall-host-qfx-10-f-x86-64-21.2R1-S2.2-secure-signed.tgz" } -
일련번호별 - 특정 일련번호(시스템 ID) 아래에 구성된 값이 해당 디바이스 하나에 사용됩니다. 예를 들면 다음과 같습니다.
"TH0TFD6TCET0015G0015": { "sonic-versions": ["SONIC-OS-4.0.5-Enterprise_Advanced"], "sonic-image": "http://10.85.24.52/sonic/4.0.5/sonic-broadcom-enterprise-advanced-4.0.5-GA.bin" }
키 목록
파일의 모든 키에 대한 아래 설명과 예를 참조하세요. ztp.json 모든 키는 해당 범주에 구체적으로 적용되는지 여부에 관계없이 각 범주에 포함됩니다. 예를 들어 섹션에 junos 키 nxos-version가 포함되어 있음을 알 수 있습니다. 이는 모든 키를 범주에 포함할 수 있도록 하기 위한 것입니다. defaults 기기에 적용되지 않는 키는 무시하거나 삭제할 수 있습니다.
- nxOS 버전
- nxos-image(-location)
- eos 버전
- eos-image(-location)
- junos 버전
- junos-image(-location)
- junos-evo-versions
- junos-evo-image(-location)
- sonic-versions
- sonic-image(-location)
- 장치 루트 암호
- 디바이스 사용자
- 장치 사용자 암호
- 사용자 정의 구성
- Dual-routing-engine (확인란)
- 시스템 에이전트 매개변수
- agent_type(system-agent-params)
- 플랫폼(system-agent-params)
- job_on_create(system-agent-params)
- operation_mode(system-agent-params)
- 프로필(system-agent-params)
- 패키지(system-agent-params)
- force_package_install(system-agent-params)
- install_requirements(system-agent-params)
- enable_monitor(system-agent-params)
- open_options (이것이 여전히 관련이 있습니까?)
nxOS 버전
매개 변수에는 nxos-versions Cisco NX-OS 디바이스에 대한 유효한 OS 버전이 포함됩니다.
예: "nxos-versions": [ "10.2(5)", "9.3(11)" ]
nxos-image(-location)
Configurator에서 호출되고 nxos-image-location 코드 편집기 및 CLI에서 호출됩니다 nxos-image.
디바이스에서 실행 중인 버전이 의 버전nxos-versions과 일치하지 않으면 필드에 지정된 Cisco NX-OS 이미지 위치가 업로드됩니다.nxos-image
기본적으로 이미지는 TFTP를 통해 로드됩니다. IP 주소로 HTTP/HTTPS 서버 URL을 지정하여 HTTP를 통해 이미지를 로드할 수도 있습니다. NX-OS 이미지를 Apstra 서버의 디바이스/OS 이미지에 업로드할 수도 있습니다.
TFTP 예(기본값): "nxos-image": [ "nxos.10.2.5.bin" ]
HTTP 서버 예: "nxos-image": "http://192.168.59.4/nxos.10.2.5.bin"
디바이스/OS 이미지 예: "nxos-image": "https://192.168.59.3/dos_images/nxos.10.2.5.bin"
eos 버전
매개 변수에는 eos-versions Arista EOS 장치에 대한 유효한 OS 버전이 포함됩니다.
예: "eos-versions": [ "4.27.6M" ]
eos-image(-location)
Configurator에서 호출되고 eos-image-location 코드 편집기 및 CLI에서 호출됩니다 eos-image.
디바이스에서 실행 중인 버전이 의 eos-versions버전과 일치하지 않으면 필드에 지정된 Arista EOS SWI 이미지 위치가 업로드됩니다.eos-image
기본적으로 이미지는 TFTP를 통해 로드됩니다. IP 주소로 HTTP/HTTPS 서버 URL을 지정하여 HTTP를 통해 이미지를 로드할 수도 있습니다. NX-OS 이미지를 Apstra 서버의 디바이스/OS 이미지에 업로드할 수도 있습니다.
TFTP 예(기본값): "eos-image": [ "EOS-4.24.5M.swi" ]
HTTP 서버 예: "eos-image": "http://192.168.59.3/dos_images/EOS-4.21.51F.swi"
디바이스/OS 이미지 예: "nxos-image": "https://192.168.59.3/dos_images/nxos.10.2.5.bin"
이미지 전송에 HTTP 서버를 사용하려면 IP 주소가 있는 유효한 HTTP 또는 HTTPS URL을 입력합니다. 예를 들면 다음과 같습니다. "eos-image": "http://192.168.59.3/dos_images/EOS-4.27.6M.swi"
이 예에서는 Apstra ZTP 서버(192.168.59.4)의 HTTP를 사용하여 Apstra ZTP /container_data/tftp/ 디렉터리에서 Arista EOS 이미지를 전송합니다.
Arista EOS 이미지를 Apstra 컨트롤러 디바이스/OS 이미지에 업로드할 수도 있습니다. 예를 들면 다음과 같습니다.
"nxos-image": "https://192.168.59.3/dos_images/EOS-4.27.6M.swi"
junos 버전
매개 변수에는 junos-versions 주니퍼 Junos OS 디바이스에 대한 유효한 OS 버전이 포함됩니다.
예: "junos-versions": [ "22.4R2" ]
junos-image(-location)
Configurator에서 호출되고 junos-image-location 코드 편집기 및 CLI에서 호출됩니다 junos-image.
실행 중인 Junos OS 버전이 목록의 junos-versions 버전과 일치하지 않으면 필드의 이미지가 업로드됩니다.junos-image
기본적으로 이미지는 TFTP를 통해 ZTP 서버의 /container_data/tftp/ 디렉토리에서 로드됩니다. 이미지 전송에 HTTP 서버를 사용하려면 IP 주소가 있는 유효한 HTTP URL을 입력합니다. 예를 들면 다음과 같습니다.
"junos-image": "http://192.168.59.4/jinstall-host-qfx-5-18.4R3-S4.2-signed.tgz"
이미지 전송에 HTTP 서버를 사용하려면 IP 주소가 있는 유효한 HTTP 또는 HTTPS URL을 입력합니다. 예를 들면 다음과 같습니다.
"junos-image": "http://192.168.59.4/jinstall-host-qfx-5e-x86-64-21.4R3-S4.13-secure-signed.tgz"
이 예에서는 Apstra ZTP 서버(192.168.59.4)의 HTTP를 사용하여 Apstra ZTP /container_data/tftp/ 디렉터리에서 주니퍼 Junos 이미지를 전송합니다.
주니퍼 Junos 이미지를 Apstra 컨트롤러 디바이스/OS 이미지에 업로드할 수도 있습니다. 예를 들면 다음과 같습니다.
"junos-image": "https://192.168.59.3/dos_images/jinstall-host-qfx-5e-x86-64-21.4R3-S4.13-secure-signed.tgz"
junos-evo-versions
이 매개 변수에는 junos-evo-versions 주니퍼 Junos OS Evolved 디바이스에 대한 유효한 OS 버전이 포함됩니다.
예: "junos-versions": [ "22.4R2-EVO" ]
junos-evo-image(-location)
sonic-versions
매개 변수에는 sonic-versions 엔터프라이즈 SONiC 디바이스에 대한 유효한 OS 버전이 포함됩니다.
예: "sonic-versions": [ "SONiC-OS-4.0.5-Enterprise_Advanced" ]
sonic-image(-location)
Configurator에서 호출되고 sonic-image-location 코드 편집기 및 CLI에서 호출됩니다 sonic-image.
실행 중인 버전이 목록의 버전과 일치하지 않을 경우 로드할 SONiC ONIE BIN 이미지의 파일 이름입니다.sonic-versions
이미지 전송에 HTTP 서버를 사용하려면 IP 주소가 있는 유효한 HTTP 또는 HTTPS URL을 입력합니다. 예를 들면 다음과 같습니다.
"sonic-image":
"http://192.168.59.3/sonic-broadcom-enterprise-advanced-4.0.5-GA.bin"
이 예에서는 Apstra ZTP 서버(192.168.59.4)의 HTTP를 사용하여 Apstra ZTP /container_data/tftp/ 디렉터리에서 SONiC 이미지를 전송합니다.
SONiC 이미지를 Apstra 컨트롤러 디바이스/OS 이미지에 업로드할 수도 있습니다. 예를 들면 다음과 같습니다.
"sonic-image":
"https://192.168.59.3/dos_images/sonic-broadcom-enterprise-advanced-4.0.5-GA.bin"
장치 루트 암호
ZTP 프로세스는 디바이스 루트 암호를 이 값으로 설정합니다. Arista EOS 및 Cisco NX-OS 디바이스의 경우 는 device-root-password 시스템 admin 비밀번호의 비밀번호를 설정하는 데 사용됩니다.
예: "device-root-password": "root-admin-password"
디바이스 사용자
디바이스 시스템 에이전트의 사용자 이름입니다. 또한 필요한 경우, ZTP 프로세스는 이 사용자 이름 및 device-user-password및 를 사용하여 디바이스에 사용자를 생성합니다.
예:
"device-user": "aosadmin", "device-user-password": "aosadmin-password"
장치 사용자 암호
디바이스 시스템 에이전트의 암호입니다. 또한 필요한 경우, ZTP 프로세스는 디바이스 device-user 에 및 이 비밀번호를 사용하여 사용자를 생성합니다.
예:
"device-user": "aosadmin", "device-user-password": "aosadmin-password"
사용자 정의 구성
TFTP 디렉터리에 있는 사용자 정의 구성 셸 스크립트의 파일 이름 또는 HTTP 서버의 파일을 가리키는 URL입니다. 이 셸 스크립트는 ZTP 프로세스 중에 실행되므로 디바이스에 사용자 지정 구성을 추가할 수 있습니다. 자세한 내용은 플랫폼별 정보를 참조하십시오 .
예: "custom-config": "junos_custom.sh"
Dual-routing-engine (확인란)
시스템 에이전트 매개변수
시스템 에이전트 매개 변수는 각 디바이스에서 새 사용자 및 디바이스 시스템 에이전트를 생성하는 데 사용됩니다. (사용 가능한 system-agent-params 모든 옵션은 REST API 설명서를 참조하십시오.)/api/system-agents
"system-agent-params": {
"id": "",
"agent_type": "",
"platform": "",
"job_on_create": "",
"operation_mode": "",
"profile": "",
"packages": [],
"force_package_install": false,
"install_requirements": false,
"enable_monitor": false
개별 시스템 에이전트 매개 변수는 아래에 설명되어 있습니다.
agent_type(system-agent-params)
에이전트 유형이 온박스 또는 오프박스입니다.
예: "agent_type": "onbox"
플랫폼(system-agent-params)
이 필드는 오프박스 에이전트에만 사용됩니다. 디바이스 플랫폼("eos", "nxos", "junos")으로 설정합니다. 소문자만 가능
예: "platform": "junos"
job_on_create(system-agent-params)
디바이스 set job_on_create 에 온박스 에이전트를 설치하려면 install
예: "job_on_create": "install"
operation_mode(system-agent-params)
프로필(system-agent-params)
에이전트 생성 중에 사용할 Apstra에 정의된 디바이스 에이전트 프로필입니다. 값은 에이전트 프로필 이름이 아니라 에이전트 프로필의 ID여야 합니다.
예: "profile": "8d68d1ec-c168-4ef3-8ffd-09389c17a3e4"
Apstra 버전 4.2.0의 주니퍼 요구 사항: '프로필' 매개 변수를 제공해야 하는 경우 프로필 이름/레이블 대신 UUID를 사용해야 합니다.
매개 변수 force_package_install, install_requirements, 및 enable_monitor 는 항상 ZTP 서버에 표시됩니다. 이로 인해 ZTP 프로세스 중에 에이전트 생성이 실패할 수 있습니다. 주니퍼 에이전트 생성이 작동하려면 에서 이러한 매개 변수 system-agent-params 를 제거해야 합니다. 그러나 버그로 인해 Apstra GUI를 통해 ztp.json 파일에서 이러한 파라미터를 제거해도 실제로는 제거되지 않습니다. 컨피규레이터가 이를 다시 추가합니다. 이를 방지하려면 Apstra ZTP GUI 대신 CLI를 사용하고 ZTP 서버에 대한 SSH 연결을 통해 로그인합니다. 그런 다음 tftp 컨테이너를 다시 시작합니다.
패키지(system-agent-params)
시스템 에이전트에 업로드할 추가 SDK 또는 확장 텔레메트리 패키지를 구성하도록 설정합니다.
예:
"packages": [ "aos-deployment-helper-nxos", "aosstdcollectors-builtin-nxos", "aosstdcollectors-custom-nxos" ]
force_package_install(system-agent-params)
Apstra 4.2.0에 사용되는 주니퍼 디바이스의 경우 CLI를 통해 이 매개 변수를 제거해야 합니다. Apstra ZTP GUI를 사용하는 경우 매개변수가 다시 추가됩니다.
install_requirements(system-agent-params)
항상 false로 설정합니다. 현재 지원되는 네트워크 운영 체제에는 필요하지 않습니다.
예: "install_requirements": false
Apstra 4.2.0에 사용되는 주니퍼 디바이스의 경우 CLI를 통해 이 매개 변수를 제거해야 합니다. Apstra ZTP GUI를 사용하는 경우 매개변수가 다시 추가됩니다.
enable_monitor(system-agent-params)
Apstra 4.2.0에 사용되는 주니퍼 디바이스의 경우 CLI를 통해 이 매개 변수를 제거해야 합니다. Apstra ZTP GUI를 사용하는 경우 매개변수가 다시 추가됩니다.
open_options (이것이 여전히 관련이 있습니까?)
예:
"open_options": {
"proto": "https",
"port": "443"
}
오프박스 에이전트 전용. 오프박스 에이전트에서 디바이스 API 인터페이스 간 HTTPS를 사용하도록 설정합니다. open_options 정의되지 않은 경우 연결은 기본적으로 HTTP로 설정됩니다.
예제
값의 ztp.json 몇 가지 예는 아래 섹션을 참조하십시오.
- 기본값
- Apstra ZTP 4.2.0의 Cisco Onbox Agent 예
- Apstra ZTP 4.2.0에서 HTTP를 사용하는 Cisco Offbox Agent의 예
- Apstra ZTP 4.2.0의 Arista Onbox 에이전트 예
- Apstra ZTP 4.2.0의 Junos 오프박스 에이전트 예
- Apstra ZTP 4.2.0의 Junos Evolved Onbox 에이전트 예
- 주니퍼 OS Evolved
- Apstra ZTP 4.2.0의 Enterprise SONiC 온박스 에이전트 예
- 모델별 예
기본값
기본값으로 포함할 수 있는 값의 예는 다음과 같습니다.
"defaults": {
"nxos-image": "http://buildfiles.dc1.apstra.com/apstrktr/switch_images/cisco/nxos.10.2.5.bin",
"eos-image": "http://buildfiles.dc1.apstra.com/apstrktr/switch_images/arista/EOS-4.27.6M.swi",
"junos-image": "http://10.24.128.10/apstrktr/switch_images/juniper/junos-5e-22.2R3.15.tgz",
"junos-evo-image": "http://10.24.128.10/apstrktr/switch_images/juniper/junos-evo-install-qfx-ms-fixed-x86-64-22.2R3.13-EVO.iso",
"sonic-image": "http://buildfiles.dc1.apstra.com/apstrktr/switch_images/sonic/sonic-4.0.5-GA-adv-bcm.bin",
"device-root-password": "strongrootpassword",
"device-user": "admin",
"device-user-password": "stronguserpassword"
"system-agent-params": {
"agent_type": "onbox",
"install_requirements": false
}
보다 구체적인 범주에 대한 값이 구성되지 않는 한 모든 디바이스에서 이러한 값이 사용되며 해당 값이 우선합니다. 보다 구체적인 범주에는 플랫폼별(예 "junos": , "junos-evo", "eos", "nxos", 및 "sonic"); 모델별(예 "QFX10002-60C": )과 일련 번호별(예 "TH0TFD6TCET0015G0015": )가 포함됩니다.
Apstra ZTP 4.2.0의 Cisco Onbox Agent 예
{
"nxos": {
"nxos-versions": [ "10.2(5)" ],
"nxos-image": "http://192.168.59.4/nxos.10.2.5.bin",
"device-root-password": "strongrootpassword",
"custom-config": "nxos_custom.sh",
"device-user": "admin",
"device-user-password": "stronguserpassword",
"system-agent-params": {
"agent_type": "onbox",
"job_on_create": "install"
}
}
}
Apstra ZTP 4.2.0에서 HTTP를 사용하는 Cisco Offbox Agent의 예
{
"nxos": {
"nxos-versions": [ "10.2(5)" ],
"nxos-image": "http://192.168.59.4/nxos.10.2.5.bin",
"custom-config": "nxos_custom.sh",
]"device-user": "admin",
"device-user-password": "admin-password",
"system-agent-params": {
"username": "admin",
"password": "admin",
"agent_type": "offbox",
"platform": "nxos",
"open_options": {
"proto": "https",
"port": "443"
},
"packages": [
"aos-deployment-helper-nxos",
"aosstdcollectors-builtin-nxos",
"aosstdcollectors-custom-nxos"
]
}
}
}
이 구성은 서버의 오프박스 에이전트와 디바이스 API 간의 보안 오프박스 에이전트 HTTPS(포트 443)를 활성화합니다.
open_options"은 Apstra ZTP UI 구성 도구에서 구성할 수 없습니다. GUI 코드 편집기를 사용하거나 CLI에서 ztp.json 파일을 편집해야 합니다.
Apstra ZTP 4.2.0의 Arista Onbox 에이전트 예
{
"eos": {
"eos-versions": [ "4.27.6M" ],
"eos-image": "http://192.168.59.3/EOS-4.27.6M.swi",
"custom-config": "eos_custom.sh",
"device-root-password": "admin-password",
"device-user": "admin",
"device-user-password": "admin-password",
"system-agent-params": {
"agent_type": "onbox",
"job_on_create": "install"
}
}
}
Apstra ZTP 4.2.0의 Junos 오프박스 에이전트 예
{
"junos": {
"junos-versions": [ "21.4R3-S4.13" ],
"junos-image": "http://192.168.59.4/jinstall-host-qfx-5e-x86-64-21.4R3-S4.13-secure-signed.tgz",
"device-root-password": "root-password",
"device-user": "admin",
"device-user-password": "admin-password",
"custom-config": "junos_custom.sh",
"system-agent-params": {
"platform": "junos",
"agent_type": "offbox",
"job_on_create": "install"
}
}
}
{
"junos": {
"junos-versions": ["21.2R1-S2.2"],
"junos-image": "http://10.85.24.52/juniper/21.2R1-S2.2/jinstall-host-qfx-5e-x86-64-21.2R1-S2.2-secure-signed.tgz",
"device-root-password": "root123",
"device-user": "admin",
"device-user-password": "admin",
"system-agent-params": {
"platform": "junos",
"agent_type": "offbox",
"job_on_create": "install"
}
},
"QFX10002-36Q": {
"junos-versions": ["21.2R1-S2.2"],
"junos-image": "http://10.85.24.52/juniper/21.2R1-S2.2/jinstall-host-qfx-10-f-x86-64-21.2R1-S2.2-secure-signed.tgz"
},
"JNP10002-60C [QFX10002-60C]": {
"junos-versions": ["21.2R1-S1.3"],
"junos-image": "http://10.85.24.52/juniper/21.2R1-S1.3/junos-vmhost-install-qfx-x86-64-21.2R1-S1.3.tgz"
}
}
Apstra ZTP 4.2.0의 Junos Evolved Onbox 에이전트 예
{
"junos-evo": {
"junos-evo-versions": [ "22.4R2.11-EVO" ],
"junos-evo-image": "http://192.168.59.4/junos-evo-install-qfx-ms-x86-64-22.4R2.11-EVO.iso",
"device-root-password": "root-password",
"device-user": "admin",
"device-user-password": "admin-password",
"custom-config": "junos_custom.sh",
"system-agent-params": {
"agent_type": "onbox",
"job_on_create": "install"
}
}
}
PTX10004와 같은 이중 RE 플랫폼에 대해 다음과 같은 추가 필드를 사용할 수 있습니다.
"dual-routing-engine": true, "management-ip": "10.161.37.7", "management-gw-ip": "10.161.39.254", "management-subnet-prefixlen": "21", "management-master-ip": "10.161.37.8", "management-backup-ip": "10.161.37.9",
주니퍼 OS Evolved
Apstra ZTP 4.2.0의 Enterprise SONiC 온박스 에이전트 예
{
"sonic": {
"sonic-versions": [ "SONiC-OS-4.0.5-Enterprise_Advanced" ],
"sonic-image": "http://192.168.59.4/sonic-broadcom-enterprise-advanced-4.0.5-GA.bin",
"device-root-password": "root-password",
"device-user": "admin",
"device-user-password": "admin-password",
"custom-config": "sonic_custom.sh",
"system-agent-params": {
"agent_type": "onbox",
"job_on_create": "install"
}
}
}
device-user admin 예를 들어 Apstraaosadmin ZTP는 이 새 사용자를 생성하지만 기본 SONiC admin 사용자(기본적으로 설정된 YourPaSsWoRd 암호)의 암호는 변경하지 않습니다.
모델별 예
"JNP10002-60C [QFX10002-60C]": {
"junos-versions": [ "21.2R1-S1.3" ],
"junos-image": "http://10.85.24.52/juniper/21.2R1-S1.3/junos-vmhost-install-qfx-x86-64-21.2R1-S1.3.tgz",