المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

التكوين

الشبكات

تمكين IOx

بدء الاستخدام

عبر المدير المحلي

الاتصال بالمدير المحلي

النشر

تنشيط

بدء

إستخدام IOxclient

تحضير عميل الأوكسجين

النشر

تنشيط

بدء

إستخدام IOS-XE CLI

النشر

تنشيط

بدء

المقدمة

يوضح هذا المستند كيفية نشر تطبيق IOx وتنشيطه وتشغيله على IE3400.

المتطلبات الأساسية

المتطلبات

توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:

- الفهم الأساسي ل Cisco IOx و IOS

- IE3400 8P2S أو 8T2S التي تشغل إصدار IOS XE >17.2.1

التكوين

بما أن IOS الإصدار 17.2.1، فإن محولات السلسلة IE3400 المتميزة بالمتانة تدعم إستضافة تطبيق IOx. يتيح لك ذلك تشغيل التعليمات البرمجية/التطبيقات/الحاويات المخصصة الخاصة بك على الجهاز الطرفي. وكما هو الحال مع معظم منصات تقنية المعلومات (IoT) التي تدعم إستضافة التطبيقات، هناك بعض التفاصيل التي يجب وضعها في الاعتبار، والتي يتم شرحها بشكل أكبر في هذا المستند.

الشبكات

يحتوي IE3400 على واجهة إضافية (افتراضية) للاتصال بتطبيقات IOx، والتي تسمى AppGigabitEthernet1/1

تظهر البنية المبسطة لهذه الواجهة في هذه الصورة.

كما ترى، توفر الواجهة التي تسمى AppGigabitEthernet1/1 إمكانية الاتصال بالتطبيقات. هناك خيارات مختلفة متوفرة حيث يمكن تكوين AppGigabitEthernet1/1 كواجهة عادية وفيزيائية في وضع الوصول أو خط الاتصال على حد سواء. اسم مشترك آخر ل هذا ميناء ال KR ميناء.

حاليا، تحتاج واجهة تطبيق IOx إلى تكوين معرف VLAN حتى إذا تم تكوين واجهة AppGigiabitEthernet1/1 في وضع الوصول، وهذا يرجع لأن حركة المرور التي يتم استقبالها بواسطة virtual2/L2br يتم تمييزها دائما.

في هذا المستند، تم تكوين AppGigabitEthernet1/1 في وضع الوصول في شبكة VLAN 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، يلزم تكوين عنوان IP SVI لشبكة VLAN رقم 1:

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، يلزم توفر بطاقة SD لتخزين تطبيقات وبيانات IOx. قبل تمكين IOx، تأكد من تنسيق بطاقة SD باستخدام نظام الملفات الفرعي4:

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.

من أجل الوصول إلى وظائف IOx عن بعد، باستخدام، على سبيل المثال، Local Manager أو iXclient، تأكد من تمكين خادم الويب وتكوين المستخدم للوصول:

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. يصف هذا المستند ما يلي:

- إستخدام مدير محلي - واجهة مستخدم رسومية

- إستخدام iXclient - واجهة سطر الأوامر (CLI) عن بعد

- إستخدام IOS-XE - واجهة سطر الأوامر على الجهاز

إحدى الطرق كافية لأداء جميع المهام، حيث أنها فقط موثقة هنا للكمال وللوصول إلى جمهور واسع.

عبر المدير المحلي

Local Manager (الإدارة المحلية) هي واجهة رسومية يتم إستخدامها لإدارة تطبيقات IOx ونشرها على الأنظمة الأساسية التي تم تمكين IOx بها. يتم تشغيل Local Manager على الجهاز الذي يدعم IOx نفسه، في هذه الحالة، هو IE3400.

الاتصال بالمدير المحلي

إذا كنت قد خضعت للإجراء لتمكين خادم الويب وإضافة مستخدم، فيجب أن تكون قادرا على الوصول إلى واجهة ويب IE3400 باستخدام عنوان IP SVI باستخدام https://<svi ip>/ (في هذه المقالة: https://192.168.0.30/):

يمكنك تسجيل الدخول باستخدام المستخدم الذي تم إنشاؤه كما هو موضح أعلاه، ثم انتقل إلى التكوين > الخدمات > IOx، كما هو موضح في الصورة.

في حالة تفضلك الانتقال مباشرة إلى Local Manager (الإدارة المحلية)، يمكنك إستخدام عنوان URL التالي: https://<svi ip>/ioX/login (في هذه المقالة https://192.168.0.30/iox/login).

في شاشة تسجيل دخول Local Manager، أستخدم مرة أخرى معرف المستخدم priv 15 أعلاه.

النشر

بمجرد تسجيل الدخول، ابدأ نشر التطبيق.

انقر فوق إضافة جديد، واختر اسما للتطبيق، واستعرض إلى حزمة التطبيق على الكمبيوتر الشخصي الخاص بك، كما هو موضح في الصورة.

بعد النقر فوق OK، يتم تحميل التطبيق وتثبيته على IE3400. إذا سار كل شيء على ما يرام، فيجب أن ترى هذه الصورة على شاشتك، مع تطبيق IOx في حالة نشر.

تنشيط

بمجرد نشر التطبيق، تتمثل الخطوة التالية في تنشيطه. في هذه المرحلة، يتم تحديد الموارد التي يستخدمها التطبيق.

انقر فوق الزر تنشيط لتطبيق IOx الذي تم نشره، كما هو موضح في الصورة.

في الشاشة التالية، يمكنك تحديد مقدار موارد الكمبيوتر التي سيتم تعيينها للتطبيق.

طقطقت in order to شكلت شبكة، يحرر ل الشبكة تشكيل، كما هو موضح في الصورة.

في تكوين الشبكة، أختر تحرير اسم الشبكة الافتراضي (mgmt-bridge300) ثم انقر على إعداد الواجهة، كما هو موضح في الصورة.

في المنبثق، أخترت أن يستعمل إما IP حركي، أي يسمح ال ioX تطبيق أن يجلب IP من ال DHCP-نادل في ال VLAN أنت شكلت على ال AppGi1/1 قارن أو ثبتت IP ساكن إستاتيكي.

من المهم، كما هو مذكور مع خطوة الشبكة، تحديد شبكة VLAN التي تطابق الوصول/خط اتصال AppGi1/1 في هذه الخطوة.

حاليا، تحتاج واجهة تطبيق IOx إلى تكوين معرف VLAN حتى إذا تم تكوين واجهة AppGigiabitEthernet1/1 في وضع الوصول، وهذا يرجع لأن حركة المرور التي يتم استقبالها بواسطة virtual2/L2br يتم تمييزها دائما.

قم الآن بحفظ إعدادات الشبكة وتنشيط التطبيق.

إذا سارت الأمور على ما يرام، يجب أن ينتهي التطبيق بحالة التنشيط.

بدء

الآن بعد تنشيط التطبيق، أصبح كل ما يتطلبه الأمر هو بدء التطبيق.

انقر على زر ابدأ للتطبيق في الإدارة المحلية، كما هو موضح في الصورة.

بعد هذا الإجراء، يجب أن يكون التطبيق في حالة التشغيل ويجب أن تكون قادرا على الوصول إلى التطبيق باستخدام الشبكة التي تم تكوينها.

في حالة ما إذا أخترت إستخدام DHCP، انتقل إلى إدارة > App-Info > interface-name > eth0، للعثور على عنوان IP للتطبيق.

لهذا المستند، يعد هذا التطبيق خادم ويب بسيطا، يتم تشغيله على المنفذ 9000. من أجل إختباره، انتقل إلى عنوان IP الذي تم تكوينه (أو تم الحصول عليه من خلال DHCP):

إستخدام IOxclient

IOxclient هو النظير القائم على واجهة سطر الأوامر ل Local Manager (الإدارة المحلية) ويتم إستخدامه لإدارة تطبيقات IOx ونشرها على الأنظمة الأساسية التي تدعم IOx باستخدام CLI. يتحدث 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

تعتمد المعلومات التي يجب إدخالها على تكوين الشبكة والمستخدم الأولي15 المحدد كما هو موضح في بداية هذه المقالة.

تذكر أن رقم منفذ IOx ل IE3400 هو 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

يمكنك التحقق من حالة التطبيق باستخدام الأمر قائمة التطبيقات:

[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 وعنوان IP الصحيح للاستخدام مع التطبيق. في حال كنت ترغب في إستخدام DHCP، يمكنك إزالة كتلة IPv4.

من المهم، كما هو مذكور مع خطوة الشبكة، أن تحدد شبكة VLAN التي تطابق الوصول/خط اتصال AppGi1/1 في هذه الخطوة.

حاليا، تحتاج واجهة تطبيق IOx إلى تكوين معرف VLAN حتى إذا تم تكوين واجهة AppGigiabitEthernet1/1 في وضع الوصول، وهذا يرجع لأن حركة المرور التي يتم استقبالها بواسطة virtual2/L2br يتم تمييزها دائما.

من أجل تنشيط تطبيق IOx من خلال حمولة JSON، أستخدم هذا الأمر:

[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

مرة أخرى، يمكنك إستخدام أمر قائمة التطبيقات للتحقق من الحالة بعد التنشيط:

[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

لمعرفة عنوان IP الذي تم الحصول عليه من DHCP، في حالة تخطي جزء IPv4 أثناء التنشيط، يمكنك إستخدام هذا الأمر:

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

"ipv4": {

"ipv4": "192.168.0.223",

...

للتحقق مما إذا كان الأمر start ناجحا، يمكننا مرة أخرى إستخدام الأمر ioxclient app list أو ببساطة التحقق مما إذا كان التطبيق يقوم بما يفترض به.

بالنسبة لهذه المقالة، يعد هذا التطبيق خادم ويب بسيطا، يتم تشغيله على المنفذ 9000 حتى نتمكن من إختباره من خلال الاستعلام عن عنوان IP الذي تم تكوينه (أو يتم الحصول عليه من خلال DHCP):

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

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

إستخدام IOS-XE CLI

يعرض جهاز IOS-XE الذي تم تمكين IOx به إمكانية نشر التطبيق، ويتم إدارته مباشرة من واجهة سطر الأوامر (CLI) الخاصة ب IOS-XE. وهذا لا يتطلب تمكين خادم ويب على IOS-XE.

النشر

منذ نشر التطبيق من واجهة سطر الأوامر IOS-XE، قم أولا بنسخ حزمة تطبيق IOx إلى نظام ملفات يمكن الوصول إليه بسهولة من واجهة سطر الأوامر هذه.

تعتبر عملية النسخ الأولى من حزمة تطبيق IOx (package.tar) إلى الذاكرة المؤقتة (flash:

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

يرشد هذا التطبيق أن يستلم ساكن إستاتيكي IP، يستعمل VLAN id 1.

من المهم، كما هو مذكور مع خطوة الشبكة، أن تحدد شبكة VLAN التي تطابق الوصول/خط اتصال AppGi1/1 في هذه الخطوة.

حاليا، تحتاج واجهة تطبيق IOx إلى تكوين معرف VLAN حتى إذا تم تكوين واجهة AppGigiabitEthernet1/1 في وضع الوصول، وهذا يرجع لأن حركة المرور التي يتم استقبالها بواسطة Virtual2/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).