โลโก้ซิสโก้

แอปพลิเคชั่นโฮสติ้ง CISCO IOS XR

แอปพลิเคชั่นโฮสติ้ง CISCO IOS XR

การโฮสต์แอปพลิเคชันบน IOS XR
ในส่วนนี้จะอธิบายประเภทต่างๆ ของการโฮสต์แอปพลิเคชัน และสาธิตวิธีการโฮสต์แอปพลิเคชันแบบง่ายแบบเนทีฟหรือในคอนเทนเนอร์ของบริษัทอื่นบน IOS XR

  • การโฮสต์แอปพลิเคชันโดยใช้คอนเทนเนอร์ Docker
  • การโฮสต์แอปพลิเคชันคอนเทนเนอร์แบบอิงนักเทียบท่า

การโฮสต์แอปพลิเคชันโดยใช้คอนเทนเนอร์ Docker
แอปพลิเคชันที่โฮสต์บน IOS XR รองรับคอนเทนเนอร์นักเทียบท่า คุณสามารถสร้างคอนเทนเนอร์ของคุณเองบน IOS XR ได้โดยใช้นักเทียบท่า และโฮสต์แอปพลิเคชันภายในคอนเทนเนอร์นั้น แอปพลิเคชันสามารถพัฒนาได้โดยใช้การกระจาย Linux ใดก็ได้ เหมาะอย่างยิ่งสำหรับแอปพลิเคชันที่ใช้ไลบรารีระบบที่แตกต่างจากรูท IOS XR file ระบบ. Cisco NCS 540 รองรับเฉพาะการโฮสต์แอปพลิเคชันที่ใช้นักเทียบท่าเท่านั้น

การโฮสต์แอปพลิเคชันคอนเทนเนอร์แบบอิงนักเทียบท่า
ส่วนนี้แนะนำแนวคิดของการโฮสต์แอปพลิเคชันคอนเทนเนอร์และอธิบายขั้นตอนการทำงาน การโฮสต์แอปพลิเคชันคอนเทนเนอร์ช่วยให้แอปพลิเคชันโฮสต์ในสภาพแวดล้อมและพื้นที่กระบวนการของตนเอง (เนมสเปซ) ภายในคอนเทนเนอร์ Linux บน Cisco IOS XR นักพัฒนาแอปพลิเคชันสามารถควบคุมสภาพแวดล้อมการพัฒนาแอปพลิเคชันได้อย่างสมบูรณ์ และสามารถใช้การกระจาย Linux ได้ตามต้องการ แอปพลิเคชันถูกแยกออกจากกระบวนการควบคุม IOS XR แต่สามารถเชื่อมต่อกับเครือข่ายภายนอก XR ผ่านอินเทอร์เฟซ XR GigE ได้ แอปพลิเคชันยังสามารถเข้าถึงท้องถิ่นได้อย่างง่ายดาย file ระบบบน IOS XR

การใช้ Docker สำหรับการโฮสต์แอปพลิเคชันบน Cisco IOS XR
Docker เป็นคอนเทนเนอร์ที่ใช้สำหรับโฮสต์แอปพลิเคชันบน Cisco IOS XR นักเทียบท่าจัดให้มีการแยกกระบวนการแอปพลิเคชันจากกระบวนการโฮสต์พื้นฐานบน XR โดยใช้เนมสเปซเครือข่าย Linux

ต้องการ Docker บน Cisco IOS XR
Docker กำลังกลายเป็นโมเดลบรรจุภัณฑ์ที่อุตสาหกรรมต้องการสำหรับการใช้งานในพื้นที่เวอร์ช่วลไลเซชั่น Docker เป็นรากฐานสำหรับการจัดการวงจรชีวิตของแอปพลิเคชันโดยอัตโนมัติ Docker ปฏิบัติตามแนวทางแบบเลเยอร์ที่ประกอบด้วยอิมเมจพื้นฐานที่ด้านล่างซึ่งรองรับเลเยอร์ของแอปพลิเคชันที่อยู่ด้านบน อิมเมจพื้นฐานพร้อมใช้งานแบบสาธารณะในพื้นที่เก็บข้อมูล ขึ้นอยู่กับประเภทของแอปพลิเคชันที่คุณต้องการติดตั้งด้านบน คุณสามารถจัดการอิมเมจนักเทียบท่าได้โดยใช้ดัชนีนักเทียบท่าและรีจิสตรี Docker จัดเตรียมเวิร์กโฟลว์ที่เหมือนคอมไพล์สำหรับการพัฒนาแอปพลิเคชันคอนเทนเนอร์และรองรับกลไก "thin update" ซึ่งมีการอัปเดตเฉพาะซอร์สโค้ดที่แตกต่างกันเท่านั้น ซึ่งนำไปสู่การอัปเกรดที่รวดเร็วยิ่งขึ้น นักเทียบท่ายังมีกลไก "การดาวน์โหลดแบบบาง" ซึ่งแอปพลิเคชันใหม่จะถูกดาวน์โหลดเร็วขึ้นเนื่องจากการแชร์เลเยอร์นักเทียบท่าพื้นฐานทั่วไประหว่างคอนเทนเนอร์นักเทียบท่าหลายตัว การแบ่งปันเลเยอร์นักเทียบท่าระหว่างคอนเทนเนอร์นักเทียบท่าหลายตัวทำให้พื้นที่ใช้งานลดลงสำหรับคอนเทนเนอร์นักเทียบท่าบน XR

สถาปัตยกรรมนักเทียบท่าบน Cisco IOS XR
รูปต่อไปนี้แสดงให้เห็นสถาปัตยกรรมนักเทียบท่าบน IOS XR

แอปพลิเคชั่นโฮสติ้ง CISCO IOS XR 1

ไบนารีของแอปพลิเคชันสำหรับแอปพลิเคชันที่จะโฮสต์ได้รับการติดตั้งภายในคอนเทนเนอร์นักเทียบท่า

การโฮสต์แอปพลิเคชันใน Docker Containers
รูปภาพต่อไปนี้แสดงขั้นตอนการทำงานสำหรับการโฮสต์แอปพลิเคชันในคอนเทนเนอร์ Docker บน IOS XR
แอปพลิเคชั่นโฮสติ้ง CISCO IOS XR 2

  1. นักเทียบท่า file ในพื้นที่เก็บข้อมูลต้นทางจะใช้เพื่อสร้างไบนารีของแอปพลิเคชัน file บนเครื่องโฮสต์ (นักเทียบท่าเครื่องยนต์) ของคุณ
  2. แอปพลิเคชันไบนารี file ถูกผลักเข้าไปในรีจิสตรีอิมเมจนักเทียบท่า
  3. แอปพลิเคชันไบนารี file ถูกดึงออกจากรีจิสตรีอิมเมจนักเทียบท่าและคัดลอกไปยังคอนเทนเนอร์นักเทียบท่าบน XR (โฮสต์เป้าหมายกลไกนักเทียบท่า)
  4. แอปพลิเคชันนี้สร้างและโฮสต์ไว้ในคอนเทนเนอร์นักเทียบท่าบน XR

การอัพเดตแอพพลิเคชั่นใน Docker Containers
รูปภาพต่อไปนี้แสดงขั้นตอนการทำงานสำหรับการอัพเดตแอปพลิเคชันที่โฮสต์ในคอนเทนเนอร์นักเทียบท่าแอปพลิเคชั่นโฮสติ้ง CISCO IOS XR 3

  1. การอัปเดตแอปพลิเคชันถูกสร้างขึ้นเป็นการอัปเดต libs พื้นฐาน file (อัพเดตเดลต้า file) และพุชไปที่รีจิสตรีอิมเมจนักเทียบท่า
  2. การอัปเดตเดลต้า file (มีเพียงความแตกต่างในรหัสแอปพลิเคชัน) จะถูกดึงจากรีจีสทรีอิมเมจนักเทียบท่าและคัดลอกไปยังคอนเทนเนอร์นักเทียบท่าบน XR (โฮสต์เป้าหมายกลไกนักเทียบท่า)
  3. คอนเทนเนอร์นักเทียบท่าจะเริ่มต้นใหม่ด้วยการอัปเดตเดลต้า file.

การโฮสต์ TPA โดยใช้ Application Manager

ตารางที่ 1: ตารางประวัติคุณลักษณะ

คุณสมบัติ ชื่อ ข้อมูลการเปิดตัว คุณสมบัติ คำอธิบาย
บริการ Docker Daemon ตามความต้องการ ปล่อยรุ่น 7.5.1 ตั้งแต่การเปิดตัวครั้งนี้เป็นต้นไป

บริการ Docker daemon เริ่มต้นบนเราเตอร์เฉพาะเมื่อคุณกำหนดค่าแอปพลิเคชันโฮสติ้งบุคคลที่สามโดยใช้ ผู้จัดการแอป สั่งการ. บริการตามความต้องการดังกล่าวช่วยปรับทรัพยากรระบบปฏิบัติการให้เหมาะสม เช่น CPU หน่วยความจำ และพลังงาน

ในรุ่นก่อนหน้านี้ บริการ Docker daemon จะเริ่มทำงานโดยอัตโนมัติระหว่างที่เราเตอร์บูตเครื่อง

ในรีลีสก่อนหน้านี้ แอพพลิเคชั่นถูกโฮสต์และควบคุมโดยคำสั่ง Docker คำสั่ง Docker เหล่านี้ดำเนินการใน bash shell ของ Kernel ที่โฮสต์ซอฟต์แวร์ Cisco IOS XR ด้วย ด้วยการเปิดตัว Application Manager ทำให้ตอนนี้สามารถจัดการการโฮสต์แอปพลิเคชันบุคคลที่สามและการทำงานผ่าน Cisco IOS XR CLIs ได้แล้ว ด้วยคุณสมบัตินี้ แอปพลิเคชันบุคคลที่สามที่เปิดใช้งานทั้งหมดสามารถรีสตาร์ทได้โดยอัตโนมัติหลังจากรีโหลดเราเตอร์หรือสลับ RP การรีสตาร์ทแอปพลิเคชันอัตโนมัตินี้ช่วยให้มั่นใจว่าแอปพลิเคชันที่โฮสต์ทำงานได้อย่างราบรื่น

คำสั่งที่รองรับในตัวจัดการแอปพลิเคชัน
สำหรับทุกคำสั่งหรือการกำหนดค่าตัวจัดการแอปพลิเคชันที่ดำเนินการ ตัวจัดการแอปพลิเคชันจะดำเนินการตามที่ร้องขอโดยเชื่อมต่อกับ Docker daemon ผ่านซ็อกเก็ต Docker ตารางต่อไปนี้แสดงรายการฟังก์ชันการทำงานของคอนเทนเนอร์ Docker คำสั่ง Docker ทั่วไปที่ใช้ในรีลีสก่อนหน้า และคำสั่งตัวจัดการแอปพลิเคชันที่เทียบเท่าซึ่งขณะนี้สามารถใช้ได้:

ฟังก์ชันการทำงาน คำสั่ง Docker ทั่วไป แอปพลิเคชัน ผู้จัดการ คำสั่ง
ติดตั้งแอปพลิเคชัน RPM NA เราเตอร์#appmgr แพ็คเกจติดตั้ง rpm

image_name-0.1.0-XR_7.3.1.x86_64.rpm

กำหนดค่าและเปิดใช้งานแอปพลิเคชัน • โหลดรูปภาพ – [xr-vm_node0_RP0_CPU0:~]$docker load -i /tmp/ชื่อภาพ.ทาร์

• ตรวจสอบภาพบนเราเตอร์ –

xr-vm_node0_RP0_CPU0:~]$docker รูปภาพ ls

• สร้างคอนเทนเนอร์เหนือรูปภาพ –

[xr-vm_node0_RP0_CPU0:~]$docker สร้าง ชื่อภาพ
เราเตอร์#config

เราเตอร์ (config)#appmgr เราเตอร์ (config-appmgr)#application

ชื่อแอป

เราเตอร์ (config-application) #เปิดใช้งานประเภทแหล่งนักเทียบท่า ชื่อภาพ นักเทียบท่า run-opts “–net ​​= โฮสต์” นักเทียบท่า run-cmd “iperf3 -s -d”

  • เริ่มคอนเทนเนอร์ – [xr-vm_node0_RP0_CPU0:~]$docker start my_container_id เราเตอร์ (config-application)#commit
View รายการ สถิติ บันทึก และรายละเอียดของแอปพลิเคชัน

คอนเทนเนอร์

• รายการรูปภาพ

-[xr-vm_node0_RP0_CPU0:~]$docker อิมเมจ ls

• แสดงรายการคอนเทนเนอร์ –

[xr-vm_node0_RP0_CPU0:~]$นักเทียบท่า ปล

• สถิติ

-[xr-vm_node0_RP0_CPU0:~]สถิติ $docker

เราเตอร์#แสดงตารางแหล่งที่มาของ appmgr

เราเตอร์#แสดงชื่อแอปพลิเคชัน appmgr ชื่อแอป สรุปข้อมูล

เราเตอร์#แสดงชื่อแอปพลิเคชัน appmgr ชื่อแอป รายละเอียดข้อมูล

เราเตอร์#แสดงชื่อแอปพลิเคชัน appmgr ชื่อแอป สถิติ

  • บันทึก

-[xr-vm_node0_RP0_CPU0:~]$docker บันทึก

เราเตอร์#แสดงตารางแอปพลิเคชัน appmgr

เราเตอร์#แสดงชื่อแอปพลิเคชัน appmgr ชื่อแอป บันทึก

ฟังก์ชันการทำงาน คำสั่ง Docker ทั่วไป แอปพลิเคชัน ผู้จัดการ คำสั่ง
เรียกใช้ใหม่ • ดำเนินการ – [xr-vm_node0_RP0_CPU0:~]$docker exec -it my_container_id เราเตอร์#appmgr แอปพลิเคชันดำเนินการ
สั่งการ

ข้างใน

ชื่อ ชื่อแอป นักเทียบท่า-exec-cmd
วิ่ง  
คอนเทนเนอร์  
หยุดคอนเทนเนอร์แอปพลิเคชัน • หยุดคอนเทนเนอร์ – [xr-vm_node0_RP0_CPU0:~]$docker stop my_container_id ชื่อหยุดแอปพลิเคชันเราเตอร์#appmgr ชื่อแอป
ฆ่าคอนเทนเนอร์แอปพลิเคชัน • ฆ่าคอนเทนเนอร์ – [xr-vm_node0_RP0_CPU0:~]$docker kill my_container_id ชื่อการฆ่าแอปพลิเคชันเราเตอร์ # appmgr ชื่อแอป
เริ่มคอนเทนเนอร์แอปพลิเคชัน • เริ่มคอนเทนเนอร์ – [xr-vm_node0_RP0_CPU0:~]$docker start my_container_id ชื่อเริ่มต้นแอปพลิเคชันเราเตอร์#appmgr ชื่อแอป
ปิดการใช้งานแอปพลิเคชัน • หยุดคอนเทนเนอร์ – [xr-vm_node0_RP0_CPU0:~]$docker stop my_container_id เราเตอร์#กำหนดค่า

เราเตอร์ (config) #ไม่มีแอปพลิเคชัน appmgr ชื่อแอป

  • ลบคอนเทนเนอร์ – [xr-vm_node0_RP0_CPU0:~]$docker rm my_container_id เราเตอร์ (config) #commit
  • ลบรูปภาพ – [xr-vm_node0_RP0_CPU0:~]$docker rmi ชื่อภาพ  
ถอนการติดตั้งอิมเมจแอปพลิเคชัน/RPM • ถอนการติดตั้งอิมเมจ – [xr-vm_node0_RP0_CPU0:~] ถอนการติดตั้งแอป $docker ชื่อภาพ แพ็คเกจถอนการติดตั้งแพ็กเกจ Router#appmgr

image_name-0.1.0-XR_7.3.1.x86_64

บันทึก: การใช้คำสั่งตัวจัดการแอปพลิเคชันอธิบายไว้ในส่วน “การโฮสต์ iPerf ในคอนเทนเนอร์ Docker เพื่อตรวจสอบประสิทธิภาพเครือข่ายโดยใช้ตัวจัดการแอปพลิเคชัน”

การกำหนดค่า Docker ด้วย VRF หลายตัว

ส่วนนี้จะอธิบายวิธีที่คุณสามารถกำหนดค่า Docker ด้วย VRF หลายตัวบน Cisco IOS XR สำหรับข้อมูลเกี่ยวกับการกำหนดค่า VRF หลายรายการ โปรดดูหัวข้อการกำหนดค่า VRF หลายรายการสำหรับการโฮสต์แอปพลิเคชัน

การกำหนดค่า
ใช้ขั้นตอนต่อไปนี้เพื่อสร้างและปรับใช้ multi-VRF Docker บน XR

  1. สร้าง multi-VRF Docker ที่มีสิทธิ์ NET_ADMIN และ SYS_ADMIN
    ในกรณีต่อไปนี้ample ซึ่งเป็นคอนเทนเนอร์ Docker ที่ประกอบด้วย VRF สามตัว (สีเหลือง น้ำเงิน และเขียว) จะถูกเปิดใช้งาน อดีตample ถือว่ามีการติดตั้งอิมเมจนักเทียบท่า “multivrfimage” ก่อนหน้านี้โดยใช้คำสั่งติดตั้งแพ็คเกจ appmgrแอปพลิเคชั่นโฮสติ้ง CISCO IOS XR 4
    บันทึก: 
    • ไม่แนะนำให้เมาต์เนื้อหาทั้งหมดของ /var/run/netns จากโฮสต์ไปยัง Docker เนื่องจากจะเมานต์เนื้อหาของ netns ที่สอดคล้องกับ XR และระนาบผู้ดูแลระบบลงใน Docker
    • คุณไม่ควรลบ VRF ออกจาก Cisco IOS XR เมื่อใช้ใน Docker หาก VRF อย่างน้อยหนึ่งรายการถูกลบออกจาก XR จะไม่สามารถเปิดใช้งาน multi-VRF Docker ได้
  2. ตรวจสอบว่าโหลด multi-VRF Docker สำเร็จหรือไม่แอปพลิเคชั่นโฮสติ้ง CISCO IOS XR 5
  3. เชื่อมต่อกับคอนเทนเนอร์ VRF Docker หลายตัวโดยดำเนินการคำสั่งต่อไปนี้
    เราเตอร์ # appmgr แอปพลิเคชันชื่อ exec multivrfcontainer1 docker-exec-cmd /bin/bash/
    ตามค่าเริ่มต้น Docker จะถูกโหลดในเนมสเปซ global-vrf บน Cisco IOS XR
  4. ตรวจสอบว่า VRF หลายรายการสามารถเข้าถึงได้จาก Docker หรือไม่แอปพลิเคชั่นโฮสติ้ง CISCO IOS XR 7
    แอปพลิเคชั่นโฮสติ้ง CISCO IOS XR 8

คุณได้เปิดตัว multi-VRF Docker บน Cisco IOS XR สำเร็จแล้ว

เอกสาร / แหล่งข้อมูล

แอปพลิเคชั่นโฮสติ้ง CISCO IOS XR [พีดีเอฟ] คู่มือการใช้งาน
แอปพลิเคชั่นโฮสติ้ง IOS XR, IOS XR, แอปพลิเคชั่นโฮสติ้ง, แอพพลิเคชั่น

อ้างอิง

ฝากความคิดเห็น

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องกรอกข้อมูลมีเครื่องหมาย *