목차

소개

사전 요구 사항

요구 사항

구성

네트워킹

IOx 사용

시작

로컬 관리자를 통해

로컬 관리자에 연결

구축

활성화

시작

IOxclient 사용

ioxclient 준비

구축

활성화

시작

IOS-XE CLI 사용

구축

활성화

시작

소개

이 문서에서는 IE3400에서 IOx 애플리케이션을 구축, 활성화 및 시작하는 방법에 대해 설명합니다.

사전 요구 사항

요구 사항

다음 주제에 대한 지식을 보유하고 있으면 유용합니다.

- Cisco IOx 및 IOS에 대한 기본적인 이해

- IOS XE 버전을 실행하는 IE3400 8P2S 또는 8T2S >17.2.1

구성

IOS 버전 17.2.1부터 IE3400 견고한 시리즈 스위치는 IOx 애플리케이션 호스팅을 지원합니다.이렇게 하면 에지 디바이스에서 사용자 지정 코드/애플리케이션/컨테이너를 직접 실행할 수 있습니다.애플리케이션 호스팅을 지원하는 대부분의 IoT 플랫폼과 마찬가지로, 몇 가지 사항을 염두에 두어야 합니다. 이 문서에서는 이에 대해 자세히 설명합니다.

네트워킹

IE3400에는 AppGigabitEthernet1/1이라는 IOx 애플리케이션에 연결하기 위한 추가(가상) 인터페이스가 있습니다

이 이미지에 이 인터페이스의 간소화된 아키텍처가 표시되어 있습니다.

보시다시피 AppGigabitEthernet1/1이라는 인터페이스는 애플리케이션에 대한 연결을 제공합니다.AppGigabitEthernet1/1은 액세스 또는 트렁크 모드 모두에서 일반 물리적 인터페이스로 구성할 수 있으므로 다양한 옵션을 사용할 수 있습니다.이 포트의 또 다른 일반적인 이름은 KR 포트입니다.

현재 AppGigabitEthernet1/1 인터페이스가 액세스 모드로 구성된 경우에도 IOx 애플리케이션 인터페이스에 VLAN ID가 구성되어 있어야 합니다. 이는 virteth2/L2br에서 수신한 트래픽이 항상 태그되기 때문입니다.

이 문서에서는 VLAN 1의 액세스 모드에서 AppGigabitEthernet1/1이 구성됩니다.

ie3400#conf t

Enter configuration commands, one per line. End with CNTL/Z.

ie3400(config)#interface AppGigabitEthernet1/1

ie3400(config-if)#switchport mode access

ie3400(config-if)#switchport access vlan 1

ie3400(config-if)#end

스위치와 IOx 애플리케이션에 모두 연결하려면 VLAN 1용 SVI IP 주소를 구성해야 합니다.

ie3400#conf t

Enter configuration commands, one per line. End with CNTL/Z.

ie3400(config)#interface Vlan1

ie3400(config-if)#ip address 192.168.0.30 255.255.255.0

ie3400(config-if)#end

IOx 사용

네트워크가 구성되면 디바이스에서 IOx를 활성화합니다.

IE3400에서는 IOx 애플리케이션 및 데이터를 저장하려면 SD 카드가 필요합니다.IOx를 활성화하기 전에 SD 카드가 ext4 파일 시스템으로 포맷되었는지 확인합니다.

ie3400#format sdflash: ext4

Format operation may take a while. Continue? [confirm]

Format operation will destroy all data in "sdflash:".  Continue? [confirm]

format completed with no errors

Format of sdflash: complete

그런 다음 다음 다음 명령을 사용하여 IOx를 활성화합니다.

ie3400#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

ie3400(config)#iox

Warning: Do not remove SD flash card when IOx is enabled or errors on SD device could occur.

*Feb 21 12:49:18.310: %UICFGEXP-6-SERVER_NOTIFIED_START: R0/0: psd: Server iox has been notified to start

*Feb 21 12:49:48.165: %IM-6-IOX_ENABLEMENT: R0/0: ioxman: IOX is ready.

예를 들어 로컬 관리자 또는 ioxclient를 사용하여 원격으로 IOx 기능에 액세스하려면 웹 서버가 활성화되어 있고 사용자가 액세스하도록 구성되어 있는지 확인합니다.

ie3400#conf t

Enter configuration commands, one per line. End with CNTL/Z.

ie3400(config)#ip http secure-server

ie3400(config)#username admin privilege 15 password 0 secret

시작

IOx 애플리케이션을 IE3400에 구축하는 방법은 여러 가지가 있습니다. 이 문서에서는 다음 사항에 대해 설명합니다.

- 로컬 관리자 사용 - 그래픽 UI

- iox 클라이언트 사용 - 원격 CLI

- IOS-XE 사용 - 장치 내 CLI

이 방법 중 하나는 모든 작업을 수행하는 데 충분하며, 세 가지 모두 완전하고 광범위한 대상에 도달할 수 있도록 문서화되었습니다.

로컬 관리자를 통해

Local Manager는 IOx 지원 플랫폼에서 IOx 애플리케이션을 관리하고 구축하는 데 사용할 수 있는 그래픽 인터페이스입니다.Local Manager는 IOx 지원 디바이스 자체에서 실행되며, 이 경우 IE3400입니다.

로컬 관리자에 연결

웹 서버를 활성화하고 사용자를 추가하는 절차를 거친 경우 https://<svi ip>/(이 문서의 참조)를 사용하여 SVI IP 주소를 사용하여 IE3400의 웹 인터페이스에 액세스할 수 있어야 합니다.https://192.168.0.30/):

위에서 설명한 대로 생성한 사용자를 사용하여 로그인한 다음 이미지에 표시된 대로 Configuration > Services > IOx로 이동할 수 있습니다.

Local Manager로 직접 이동하려는 경우 다음 URL을 사용할 수 있습니다.https://<svi ip>/iox/login(이 문서 https://192.168.0.30/iox/login 참조).

Local Manager 로그인 화면에서 위에서 정의한 priv 15 사용자를 다시 사용합니다.

구축

로그인하면 응용 프로그램 배포를 시작합니다.

Add New(새로 추가)를 클릭하고 응용 프로그램 이름을 선택한 다음 이미지에 표시된 대로 PC에서 응용 프로그램 패키지를 찾습니다.

확인을 클릭하면 응용 프로그램이 업로드되고 IE3400에 설치됩니다. 모두 제대로 작동하면 IOx 응용 프로그램이 배포된 상태로 화면에 이 이미지가 표시됩니다.

활성화

애플리케이션이 구축되면 다음 단계로 애플리케이션을 활성화합니다.이 단계에서는 응용 프로그램에서 사용하는 리소스가 지정됩니다.

이미지에 표시된 대로 구축된 IOx 애플리케이션의 Activate 버튼을 클릭합니다.

다음 화면에서 애플리케이션에 할당할 컴퓨팅 리소스의 양을 선택할 수 있습니다.

네트워킹을 구성하려면 이미지에 표시된 대로 네트워크 컨피그레이션에 대한 수정을 클릭합니다.

네트워크 컨피그레이션에서 기본 network-name(mgmt-bridge300)을 편집하도록 선택한 다음 이미지에 표시된 대로 Interface Setting(인터페이스 설정)을 클릭합니다.

팝업에서 동적 IP를 사용하도록 선택합니다. 그러면 IOx 애플리케이션에서 AppGi1/1 인터페이스에 구성한 VLAN의 DHCP-서버에서 IP를 가져오거나 고정 IP를 설정할 수 있습니다.

네트워킹 단계에서 언급한 것처럼 이 단계에서 AppGi1/1의 액세스/트렁크와 일치시킬 VLAN을 지정하는 것이 중요합니다.

현재 AppGigabitEthernet1/1 인터페이스가 액세스 모드로 구성된 경우에도 IOx 애플리케이션 인터페이스에 VLAN ID가 구성되어 있어야 합니다. 이는 virteth2/L2br에서 수신한 트래픽이 항상 태그되기 때문입니다.

이제 네트워크 설정을 저장하고 애플리케이션을 활성화합니다.

모든 작업이 정상적으로 진행되면 애플리케이션이 Activated(활성화됨) 상태로 끝나야 합니다.

시작

이제 애플리케이션이 활성화되었으므로, 모든 것이 진행되기 위해 유지되며 애플리케이션을 시작하는 것입니다.

이미지에 표시된 대로 로컬 관리자에서 응용 프로그램의 시작 단추를 클릭합니다.

이 작업 후에는 앱이 실행 중 상태여야 하며 구성된 네트워킹을 사용하여 애플리케이션에 연결할 수 있어야 합니다.

DHCP를 사용하도록 선택한 경우 애플리케이션의 IP 주소를 찾으려면 Manage(관리) > App-Info(앱-정보) > interface-name(인터페이스-이름) > eth0으로 이동합니다.

이 문서의 경우 이 애플리케이션은 포트 9000에서 실행되는 간단한 웹 서버입니다.테스트하려면 구성된 IP 주소(또는 DHCP를 통해 얻은 IP 주소)로 이동합니다.

IOxclient 사용

IOxclient는 Local Manager의 CLI 기반 제품이며 CLI를 사용하여 IOx 지원 플랫폼에서 IOx 애플리케이션을 관리하고 구축하는 데 사용됩니다.IOxclient는 IOx 지원 디바이스 자체에서 실행되는 동일한 웹 서비스와 통신합니다. 이 경우 IE3400입니다.

다음 링크를 사용하여 ioxclient를 다운로드할 수 있습니다.https://developer.cisco.com/docs/iox/#!iox-resource-downloads

ioxclient 준비

추출된 후에는 ioxclient를 실행하고 IE3400에 연결하는 방법을 알려주는 프로필을 생성할 수 있습니다.

[jensd@cen8 ~]$ ioxclient profiles create

Config file not found :  /home/jensd/.ioxclientcfg.yaml

Creating one time configuration..

Your / your organization's name : Cisco

Your / your organization's URL :

Your IOx platform's IP address[127.0.0.1] : 192.168.0.30

Your IOx platform's port number[8443] : 443

Authorized user name[root] : admin

Password for admin :

Local repository path on IOx platform[/software/downloads]:

URL Scheme (http/https) [https]:

API Prefix[/iox/api/v2/hosting/]:

Your IOx platform's SSH Port[2222]:

Your RSA key, for signing packages, in PEM format[]:

Your x.509 certificate in PEM format[]:

Activating Profile  default

Saving current configuration

입력해야 하는 정보는 이 문서의 시작 부분에 설명된 대로 지정된 네트워크 구성 및 priv15 사용자에 따라 달라집니다.

IE3400의 IOx 포트 번호는 기본적으로 443이며 권장 포트 8443이 아닙니다.

구축

첫 번째 단계는 에지 디바이스에 설치된 애플리케이션으로 IE3400을 구축하는 것입니다.

이 작업은 ioxclient를 통해 다음과 같이 수행할 수 있습니다.

[jensd@cen8 ~]$ ioxclient app install testweb package.tar

Currently active profile :  default

Command Name:  application-install

Using the package descriptor file in the project dir

Validating descriptor file package.yaml with package schema definitions

...

Sending request to install the app

Installation Successful. App is available at : http://192.168.0.30/iox/api/v2/hosting/apps/testweb

Successfully deployed

app list 명령을 사용하여 앱의 상태를 확인할 수 있습니다.

[jensd@cen8 ~]$ ioxclient app list

Currently active profile :  default

Command Name:  application-list

List of installed App :

1. testweb    --->    DEPLOYED

활성화

응용 프로그램이 배포되었으므로 응용 프로그램을 계속 활성화할 수 있습니다. 이 단계에서는 응용 프로그램에서 사용할 리소스를 지정합니다.

애플리케이션에서 사용하거나 네트워킹을 구성할 수 있는 컴퓨팅 리소스를 선택하려면 JSON 형식으로 정보를 제공해야 합니다.

이 문서에서 이 JSON은 다음과 같이 활성화하는 데 사용됩니다.

[jensd@cen8 ~]$ cat activation.json

{

"resources": {

"network": [{

"interface-name": "eth0",

"network-info": {"vlan-id": "1"},

"network-type": "vlan",

"ipv4": {

"dns": "",

"gateway": "192.168.0.1",

"ip": "192.168.0.223",

"mode": "static",

"prefix": "24"

}

}]

}

}

위의 는 애플리케이션에 사용할 올바른 VLAN ID 및 IP 주소를 설정합니다.DHCP를 사용하려는 경우 ipv4 블록을 제거할 수 있습니다.

네트워킹 단계에서 언급했듯이 이 단계에서 AppGi1/1의 액세스/트렁크와 일치하도록 VLAN을 지정하는 것이 중요합니다.

현재 AppGigabitEthernet1/1 인터페이스가 액세스 모드로 구성된 경우에도 IOx 애플리케이션 인터페이스에 VLAN ID가 구성되어 있어야 합니다. 이는 virteth2/L2br에서 수신한 트래픽이 항상 태그되기 때문입니다.

JSON 페이로드를 통해 IOx 애플리케이션을 활성화하려면 다음 명령을 사용합니다.

[jensd@cen8 ~]$ ioxclient app activate testweb --payload activation.json

Currently active profile :  default

Command Name:  application-activate

Payload file : activation.json. Will pass it as application/json in request body..

App testweb is Activated

다시 활성화한 후 app list 명령을 사용하여 상태를 확인할 수 있습니다.

[jensd@cen8 ~]$ ioxclient app list

Currently active profile :  default

Command Name:  application-list

List of installed App :

1. testweb    --->    ACTIVATED

시작

이제 애플리케이션이 활성화되었으므로, 모든 것이 진행되기 위해 유지되며 애플리케이션을 시작하는 것입니다.

애플리케이션을 시작하는 ioxclient 명령은 다음과 같습니다.

[jensd@cen8 ~]$ ioxclient app start testweb

Currently active profile :  default

Command Name:  application-start

App testweb is Started

활성화하는 동안 ipv4 부품을 건너뛴 경우 DHCP에서 어떤 IP 주소를 얻었는지 확인하려면 다음 명령을 사용할 수 있습니다.

[jensd@cen8 ~]$ ioxclient app info testweb | grep ipv4

"ipv4": {

"ipv4": "192.168.0.223",

...

start 명령이 성공했는지 확인하기 위해 ioxclient app list 명령을 다시 사용하거나 애플리케이션이 의도한 대로 수행하는지 간단히 확인할 수 있습니다.

이 문서의 경우 이 애플리케이션은 포트 9000에서 실행되는 간단한 웹 서버이므로 구성된 IP 주소(또는 DHCP를 통해 얻은 IP 주소)를 쿼리하여 테스트할 수 있습니다.

[jensd@cen8 ~]$ curl http://192.168.0.223:9000

<html><body><h1>IOX python webserver on arm64v8</h1></body></html>

IOS-XE CLI 사용

IOx가 활성화된 IOS-XE 장치는 애플리케이션 구축 기능을 노출하고 IOS-XE CLI에서 직접 관리합니다.IOS-XE의 웹 서버를 활성화할 필요는 없습니다.

구축

애플리케이션은 IOS-XE CLI에서 구축되므로 먼저 IOx 애플리케이션 패키지를 해당 CLI에서 쉽게 액세스할 수 있는 파일 시스템으로 복사합니다.

가장 쉬운 방법은 먼저 IOx 애플리케이션 패키지(package.tar)를 플래시에 복사하는 것입니다.

ie3400#copy scp: flash:

Address or name of remote host []? 192.168.0.21

Source username [admin]? jensd

Source filename []? /home/jensd/package.tar

Destination filename [package.tar]?

Password:

Sending file modes: C0644 16547840 package.tar

!!!!!!...!!!!!!

16547840 bytes copied in 25.244 secs (655516 bytes/sec)

패키지가 있으면 IOx에 맞게 구축합니다.

ie3400#app-hosting install appid testweb package flash:package.tar

Installing package 'flash:package.tar' for 'testweb'. Use 'show app-hosting list' for progress.

이 작업이 완료되면 설치 상태를 확인할 수 있습니다.

ie3400#sh app-hosting list

App id                                   State

---------------------------------------------------------

testweb                                  DEPLOYED

활성화

배포 후 다른 방법과 마찬가지로 다음 단계는 응용 프로그램을 활성화하는 것입니다. 이 단계에서는 응용 프로그램에서 사용할 리소스를 지정합니다.

최소한 네트워킹을 구성해야 합니다.이 작업은 다음과 같이 수행할 수 있습니다.

ie3400#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

ie3400(config)#app-hosting appid testweb

ie3400(config-app-hosting)#app-vnic AppGigabitEthernet trunk

ie3400(config-config-app-hosting-trunk)#vlan 1 guest-interface 0

ie3400(config-config-app-hosting-vlan-access-ip)#guest-ipaddress 192.168.0.224 netmask 255.255.255.0

ie3400(config-config-app-hosting-vlan-access-ip)#end

그러면 애플리케이션에서 VLAN ID 1을 사용하여 고정 IP를 수신하도록 지시합니다.

네트워킹 단계에서 언급했듯이 이 단계에서 AppGi1/1의 액세스/트렁크와 일치하도록 VLAN을 지정하는 것이 중요합니다.

현재 AppGigabitEthernet1/1 인터페이스가 액세스 모드에서 구성되었더라도 IOx 애플리케이션 인터페이스에는 VLAN ID가 구성되어 있어야 합니다. 이는 virteth2/L2br에서 수신한 트래픽이 항상 태그 지정되기 때문입니다.

컨피그레이션을 설정한 후 활성화를 진행합니다.

ie3400#app-hosting activate appid testweb

testweb activated successfully

Current state is: ACTIVATED

시작

활성화 후 마지막 단계는 애플리케이션을 시작하는 것입니다.

이 명령은 다음 명령으로 수행할 수 있습니다.

ie3400#app-hosting start appid testweb

testweb started successfully

Current state is: RUNNING

활성화 단계에서 IP 주소를 설정하지 않고 DHCP를 사용하기로 결정한 경우 애플리케이션에서 받은 IP 주소를 가져올 수 있습니다.

ie3400#sh app-hosting detail | i IPv4

IPv4 address        : 192.168.0.224

start 명령이 성공했는지 확인하기 위해 애플리케이션이 의도한 작업을 수행하는지 간단히 확인할 수 있습니다.

이 문서의 경우 이 애플리케이션은 포트 9000에서 실행되므로 구성된 IP 주소(또는 DHCP를 통해 얻은 IP 주소)를 쿼리하여 테스트할 수 있습니다.