Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая...

64
Cisco Connect Москва, 2017 Цифровизация: здесь и сейчас

Transcript of Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая...

Page 1: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

CiscoConnectМосква, 2017

Цифровизация: здесь и сейчас

Page 2: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Новые возможностиIOS-XR 6контейнеры, программируемость и телеметрия

Илгар Гасымовсистемный архитектор по работе с операторами связи

© 2017 Cisco and/or its affiliates. All rights reserved.

Page 3: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Cisco Connect 2017 3

• Введение

• Обзор Программной Архитектуры

• Гибкое Пакетирование

• Хостинг Приложений

• Конфигурация, Мониторинг и Отладка

• Заключение

Содержание

© 2017 Cisco and/or its affiliates. All rights reserved.

Page 4: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Введение

Cisco Connect 2017 4© 2017 Cisco and/or its affiliates. All rights reserved.

Page 5: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Трансформация сети необходима

ВИРТУАЛИЗИРОВАТЬУПРОСТИТЬ АВТОМАТИЗИРОВАТЬ

Увеличить скорость

Больше сервисов

Повысить эффектив-ность

Снизить риски

ТРАНСФОРМАЦИЯ

Cisco Connect 2017 5© 2017 Cisco and/or its affiliates. All rights reserved.

Page 6: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Автоматизация настройки

6

ЦЕНТР УПРАВЛЕНИЯ СЕТЬЮ

Day 0

INSTALL

Day 1

CONFIGURE

Day 2

CLI Script

Обновляем ОС(вручную)

Подключаем новое устройство

Настройка нового устройства

удаленно (вручную)

Устройство готово

Стендовые испытания

от 4 часов до 3 дней

Подключаем новоеустройство

Устройство готово

Авто-настройка

10 – 15 минут

Автоматическая загрузка

• Ручное добавление

устройств

• Длительные процедуры

инсталляции и настройки

Эксплуатация Традиционной сети

Эксплуатация Облачной сети

• Сокращенное время на

инсталляцию и настройку

• Быстрое восстановление

• Автоматизированное

добавление нового устройства

OperatingSystem

OperatingSystem

Configuration

Эксплуатация Облачной сети

Эксплуатация Традиционной сети

Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved.

Page 7: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Трансформация операционной модели управления сетью

7

* Источник: Google

Новая SP/Облачная МодельЭксплуатации сети

Модульное и

расширяемое ПО

Автомати-зация

Видимость и контроль

Day 1

CONFIGURE

Day 2

MANAGE& OPTIMIZE

Day 0

INSTALL

Эксплуатация Традиционной сети

Негибкое ПО

Ручная настройка

Ограниченное видение

топологии и Сложная

Маршрути-зация

DevOps

• Автоматизированные сервисы

• Простое масштабирование

• Гибкая разработка (Agile), открытое ПО

Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved.

Page 8: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Простой доступ к данным

Модульное и расширяемое ПО

Гибкая модернизация

Открытая платформа

Инновации в Cisco IOS XR 6

8

Разработаны с учетом трансформации операционной модели

Маршрутизация управляемая из

приложения

Ан

али

тика

Ко

нтр

ол

ь

Телеметрия

Автоматизация

Автоматизированная загрузка и авто-настройка

API для Моделей Данных

Поддержка Сторонних

Агентов

Хостинг Приложений

Docker Linux

Контейнеры

Рас

ши

ряе

мо

сть

Асинхронное обновление

Мо

дул

ьно

сть

Гранулярные пакеты

Операционная гибкость

Аналитика и контроль

Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved.

Контроль качества услуг

Page 9: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

IOS-XR 6 на различных платформах

9

Q4 CY15 Q4 CY16 CY17

NCS5508

NCS5001

NCS5002NCS5502

NCS5011

ASR9000 64-bit

NCS1002 w/ macsec

NCS 6000NCS5501

Поставляется

В разработке

NCS1002

Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved.

Page 10: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Обзор программной архитектуры

Cisco Connect 2017 10© 2017 Cisco and/or its affiliates. All rights reserved.

Page 11: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

IOS-XR 6.X: Новая архитектура ПО

• На базе 64-bit OpenEmbedded Linux

• Поддерживаются контейнеры

• Стандартный инструментарийLinux

• Хостинг сторонних приложений

• NCS5500, NCS5000 и NCS1002 работают с 64-bit Linux версией XR 6

• ASR 9000 поддерживает 64-bit Linux режим с XR 6.1.1

• 32-bit QNX реализация продолжает поддерживаться

11

X86 Hardware

64 bit Linux

Control Admin

NPU

SystemAdmin

System

Control

Classic XR XR 6.X

32 bit QNX

Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved.

Page 12: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Виртуализация

12

• C XR 6, Admin plane и Control Plane

работают в изолированных окружениях

• ASR9000 использует виртуальные

машины (VM)

• NCS5000 и NCS5500 используют

контейнеры (LXC)

• Не отличаются по функциональности

• Используют один и тот же инструмент

(libvirsh) для виртуализации сервисов

• LXC ”легче” но не поддерживают ISSU

• VM “тяжелее” но поддерживают ISSU

X86 Hardware

Hypervisor

ASR9000

App

Lib

OS

…App

Lib

OS

Operating System

…App

Lib

App

Lib

X86 Hardware

Operating System

NCS5000-5500

Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved.

Page 13: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Зачем нужна виртуализация?

• LXC контейнеры и VM-ы обеспечивают абстракцию аппаратных ресурсов. Каждая копия (instance) имеет собственные

• сетевые интерфейсы

- могут быть bridged, routed...

• Файловую систему

- например: RedHat может хостить Debian контейнер или Ubuntu VM

• LXC контейнеры и VM-ы обеспечивают изоляцию между виртуальными копиями

• Безопасность

- Два контейнера или VM-а не могут навредить (даже видеть) друг друга

• Использование ресурсов

- Soft & Hard квоты для RAM, CPU, I/O могут использоваться для Контейнеров или VM

13Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved.

Page 14: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

IOS-XR 6: Базовая ОС (Host OS)

• Выбран проект Yocto based 64-bit Open Embedded Linux kernel

• Дистрибутив от Windriver 7

• Основные функции базовой ОС:

• Прямая работа с аппартым уровнем

• Обеспечить функции ядра для LXC/VM

• Обеспечить библиотеки, инструменты и утилиты запуска, мониторинга и обслуживания контейнеров

• Обеспечить сетевую инфраструктуру для коммуникации контейнеров между собой

14

Routing Processor

64-bit Host OS

ControlPlane

Admin Plane

ThirdParty

Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved.

Page 15: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Контейнерная архитектура (NCS 5500 / 5000)

15

Routing Processor

64-bit Host OS

ControlPlane

Разработанные Cisco пакеты для сетевых

функций (BGP, MPLS и др.)

Yocto пакетыстандартных Linux

инструментов и библиотек

(bash, python, tcpdumpи др.)

Admin Plane

Выполняет процессы отвечающие за

системную диагностику, мониторинг переменных enviroment и управление

аппаратными компонентами.

Admin контейнер первым запускается

Host OS, он отвечает за запуск и управление

Control Plane LXC

ThirdParty

Выполняет любой 64-bit Linux дистрибутив.

Запускается из XR LXC контейнера используя

virsh и libvirtd.

Сетевой интерфейсдоступен в Global VRF Network Name Space.

Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved.

Page 16: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Разработанные Cisco пакеты длясетевых функций(BGP, MPLS и др.)

Yocto пакетыстандартных Linux

инструментов и библиотек

(bash, python, tcpdump и др.)

ControlPlane

VM

Контейнерная архитектура (ASR9000)

16

Routing Processor

64-bit Host OS

Hypervisor

Выполняет любой 64-bit Linux

дистрибутив.Запускается из XR LXC

используя virsh иlibvirtd.

Сетевой интерфейсдоступен в Global VRF Network Name Space.

ThirdParty

LXC Выполняет процессы отвечающие за системную диагностику, мониторинг переменных enviroment и управление аппаратными

компонентами.

Admin VM первой запускается Гипервизором,

она отвечает за запуск и упр-е Control Plane VM

Admin Plane

VM

Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved.

Page 17: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

IOS-XR 6.X Boot Process - iPXE

• На всех NCS маршрутизаторах установлен UEFI 64-bit Firmware (BIOS)

• Поддерживается загрузка с USB или iPXE

17

• iPXE это open source загрузчик (boot firmware)

• Обратно совместим с PXE и включает ряд расширений:• загрузка с web сервера по HTTP

• управление процессом загрузки с помощью скрипта и меню

• поддержка DNS

• Процесс iPXE поддерживается на интерфейсах управления

• Поддерживает IPv4 и IPv6

Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved.

Page 18: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

IOS-XR 6.X Формат образа и процесс загрузки

• IOS-XR 6.X поставляется в виде загружаемого ISO образа

• Так же, как Linux дистрибутивы

• IOS-XR 6.X поддерживает Zero Touch Provisioning (ZTP) процесс

• Выполняется сразу после загрузки control-plane

• Выполняется в среде Shell (bash)

• Может использовать любой сетевой интерфейс IOS-XR

• Может выполнить скрипт или применить статическую конфигурацию

18Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved.

Page 19: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

IOS-XR загрузка с iPXE

19© 2017 Cisco and/or its affiliates. All rights reserved.

HTTP SERVER

IP addressNext-server

Filename=http://<http-srv>/image-new.ISO

DHCP SERVER

Image-new.ISO

IP addressNext-server

Filename=http://<http-srv>/script-SN.shor

Filename=http://<http-srv>/config-SN.txt

script-SN.sh

config-SN.txt

Apply configuration

AdditionalScripts

Packages, etc…

XR Boot

AutoProvisionexecution

iPXEboot

XR Install

N

iPXE

Y

1

2

3

GET script-SN.sh or config-SN.txt4

GET addon scripts/packages/configuration5

Cisco Connect 2017

Execute script

Page 20: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Пример конфигурации наDHCP сервере

20© 2017 Cisco and/or its affiliates. All rights reserved.

host NCS5500-rp0 {

hardware ethernet e4:c7:22:be:10:ba;

fixed-address 192.168.0.10;

If exists user-class and option user-class = "iPXE" {

# Image request, provide ISO

filename "http://192.168.0.10/images/ncs5500-mini-x.iso-r6.1.1";

} elsif exists user-class and option user-class = "exr-config" {

# Auto-provision request, provide script or configuration

filename "http://192.168.0.10/scripts/ncs5500-rp0.sh";

}

}

DHCP option 77

DHCP option 67

DHCP option 77

DHCP option 67

Cisco Connect 2017

Page 21: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Гибкое пакетирование

Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 21

Page 22: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Новый подход к инсталляции ПО

• Процесс установки ПО ”как на серверы”

• Разбитый на модули

• Обновление, Модернизация, Удаление

(update, upgrade, delete)

• Контроль зависимостей

(dependency management)

• Безопасность

• Поддержка репозитария

• Установка сторонних приложений

© 2017 Cisco and/or its affiliates. All rights reserved. 22

• RPM – RPM Package Manager

• YUM – Yellowdog Updater Modified

• Новые команды инсталляции

Page 23: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

RPM: IOS-XR новый формат пакетов

• RPM Package Manager это новый формат пакетов начиная с IOS-XR 6.0.

• Пакеты помещаются в репозитарий (хранилище) и доступны поFTP/SFTP/SCP/TFTP или HTTP или выложены на box

• Пакеты сторонних производителей инсталлируются через RPM или YUM из Shell

• IOS-XR пакеты инсталлируются используя “install update/upgrade”

• “Install” команды вызывают YUM для поддержки много-архивности

• И YUM и “install” команды обеспечивают верификацию/разрешение зависимостей

© 2017 Cisco and/or its affiliates. All rights reserved. 23

Page 24: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Анатомия RPM Пакетов

24© 2017 Cisco and/or its affiliates. All rights reserved.

Archive

MetaData

Scriptlet

RPM

Описывают содержимое пакетаИнсталляциюЗависимости

Pre и Post инсталляционные инструкции

CPIO бинарный архив

/var/lib/rpm

База данных установленных пакетов

Page 25: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Принципы именования XR пакетов

25© 2017 Cisco and/or its affiliates. All rights reserved.

<name>-<version>-<release>.<architecture>.rpm

ncs5500-mgbl-1.0.0.0-r600.x86_64.rpm

SMU <name>-<version>-<release>.<defect>.<architecture>.rpm

ncs5500-mgbl-1.0.0.1-r600.CSCab12345.x86_64.rpm

Package

Major.Minor.Build.SMU

Page 26: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Platform

Release

XR Software

Репозитарий пакетов XR 6

26© 2017 Cisco and/or its affiliates. All rights reserved.

XR SMUs

Mini ISO+

Pkgs

Mini ISO+

k9 pkg+

Pkgs

Svc Pak

DDTS SMU

DDTS SMUs

ncs-5500-mpls-te-rsvp-2.2.0.0-r612.x86_64.rpm

ncs-5500-isis-1.1.0.0-r612.x86_64.rpm

ncs-5500-mcast-2.0.0.0-r612.x86_64.rpm

ncs-5500-k9sec-1.0.0.0-r612.x86_64.rpm

ncs-5500-mgbl-3.0.0.0-r612.x86_64.rpm

ncs-5500-mpls-2.1.0.0-r612.x86_64.rpm

ncs-5500-ospf-1.1.0.0-r612.x86_64.rpm

6.1.2

<REPO_ROOT>

ncs-5500-mini-x.iso-6.1.2

www.cisco.com Local Repository

ncs-5500-mgbl-3.0.0.1-r612.CSCab12345.x86_64.rpm

Full K9 ISO

Full ISOTAR

Page 27: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Модификация ISO: Golden ISO

27© 2017 Cisco and/or its affiliates. All rights reserved.

Boot ISO

Install PKG/SMUs

Reboot

Apply Configuration

Open ISO

Install PKG/SMUs

Apply Configuration

gisobuild.py

Golden ISO

iPXEUSBSystem Upgrade

Page 28: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Обновление XR Пакетовinstall update

28© 2017 Cisco and/or its affiliates. All rights reserved.

CLI команда Действие

install update source <repository> Если без параметров, то будут инсталлированыпоследние SMU для всех пакетов в системе

install update source <repository> ncs5500-mpls Если указано имя пакета, он будет установлен, включая все последние SMUдля него (с проверкой зависимостей)

install update source <repository> ncs5500-mpls-1.0.0.1-r611.CSCab12345.x86_64.rpm

Инсталляция SMU: указанный SMU будет загружен и установлен (включая зависимые SMU).

install update source <repository> ncs5500-mpls-1.0.2.0-r621.x86_64.rpm

Асинхронное обновление пакетов, только указанный пакет будет установлен из новой версии (включая зависимые SMU).Поддерживается начиная с XR 6.1.1

Page 29: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Модернизация XR Пакетовinstall upgrade

29© 2017 Cisco and/or its affiliates. All rights reserved.

CLI команда Действие

install upgrade source <repository> version 6.1.3 Модернизация базового пакета XR OS до указанной версии. Все установленные пакеты будут модернизированы до той же версии, что и базовый пакет

install upgrade source <repository> version 6.1.3 ncs5500-mpls-1.0.2.0-r611.x86_64.rpm

Выполнить install upgrade и install update для специфичного пакета одной командой

Page 30: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Асинхронное обновление

30© 2017 Cisco and/or its affiliates. All rights reserved.

• Устанавливает функциональные пакеты (т.к. BGP) независимо от версии XR

• Инсталлятор проверяет зависимости

Release 6.1.2 Base

BGP 6.1.2

OSPF 1.1.0.0

Release 6.1.2 Base

BGP 6.1.2

OSPF 1.2.0.0

OSPF 6.1.3 RPM

Release 6.1.2 Base

BGP 1.1.0.0

OSPF 1.2.0.0

BGP 6.1.3 RPM

BGP 1.1.0.0 RPM

OSPF 1.2.0.0 RPM

Release 6.1.2 Base

BGP 6.1.2

OSPF 6.1.1 RPM

OSPF 1.1.0.0 RPM Install

Page 31: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

• Нет управления зависимостями

• Офлайн процесс копирования пакетов

• Требуется несколько операций

• install add

• install activate

• install commit

• Cisco Software Manager (CSM) для управления пакетами

• Управляет зависимостями

• Онлайн процесс с защищенным транспортом

• Единая операция

• install update или install upgrade

• On-box / Off-box инспекция пакетов, используя rpm tool

• Описание

• Зависимости

• Контент

PIE Install RPM Install

31© 2017 Cisco and/or its affiliates. All rights reserved.

Page 32: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Инсталляция и Обновление Пакетов Сторонних производителей

• Традиционные Linux инструменты доступные из Shell

• Сетевые: lighttpd ,openssh, wget, curl и др.

• Программирования: python, ruby, perl и др.

• Утилиты: sed, gawk, tar, gzip, vi и др.

• Дополнительные пакеты от внешних поставщиков (поддержка от поставщиков)

• Chef

• Puppet

• Инсталлируются используя yum или rpm

© 2017 Cisco and/or its affiliates. All rights reserved. 32

yum-config-manager --add-repo=http://192.168.0.254/XR/6.X.0yum install chef –y

Page 33: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Ansible, Puppet и Chef

33© 2017 Cisco and/or its affiliates. All rights reserved.

• Open Source инструменты с коммерческой поддержкой и расширениями

• Системы управления конфигурациями

• Поддерживают многократную реитерацию операции (idempotent)

• Описывают инфраструктуру как код

• Могут управляться с системами контроля версий (VCS), такими как git

• Изменения проверяются, распространяются, применяются и “откатываются”

гораздо проще, чем традиционными подходами

• Использует агент

• Использует для конфигурации Ruby based DSL скрипт

• Без агента

• Использует Python 2.7

• Соединяется по SSH

• Использует агент

• Использует для конфигурации подмножество Ruby

Page 34: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Хостинг приложений

Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 34

Page 35: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Хостинг приложений

35© 2017 Cisco and/or its affiliates. All rights reserved.

• Видны все XR процессы

• Видны все XR ресурсы

• Работает вместе с XR процессами• Нет изоляции

• Должны быть созданы дляWRL7 дистрибутива

• Нет прямой видимости XR процессов

• Нет прямой видимости XR ресурсов

• Работает в своем namespace• Изоляция

• Должны быть созданы дляLXC дистрибутива

Внутри Control Plane В отдельном Third Party LXC

ThirdParty

LXC

ThirdParty

ControlPlane

LXCVM/LXC

Page 36: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Global VRF Сетевой Name Space

36© 2017 Cisco and/or its affiliates. All rights reserved.

• Обеспечивает видимость интерфейсов подключенных к фабрике за пределами XR CLI

• Доступен для процессов внутри Control Plane илиThird Party контейнеров

• Требуется, чтобы интерфейсы были в состоянии ”up”

• Маршрутизацияобеспечивается XR Routing Processor

Control Plane Admin Plane Third Party App

Global-VRF

64-bit Host OSGlobal-VRF

Mgmt

Gig

TenGig

HunGig

Mgmt

Gig

TenGig

HunGig

Internal

IPC Interfaces

Global-VRF

Page 37: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Установка приложения в Third Party контейнер

37© 2017 Cisco and/or its affiliates. All rights reserved.

• Создаем контейнерный tar архив на Linux сервере

• Копируем полученный файл на маршрутизатор в /misc/app_host

• Распаковываем в директориюrootfs

• Создаем XML файл с параметрами LXC контейнера

• Запускаем команду virsh:Routing Processor

64-bit Host OS

ControlPlane

Admin Plane

ThirdParty

virsh create <XML File>

Deploy2 Launch3

TAR

1 Create

Server

Page 38: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Пример XML файла для LXC

38© 2017 Cisco and/or its affiliates. All rights reserved.

<domain type='lxc' xmlns:lxc='http://libvirt.org/schemas/domain/lxc/1.0'>

<name>xr-lxc-app</name>

<memory>327680</memory>

<os>

<type>exe</type>

<init>/sbin/init</init>

</os>

<lxc:namespace>

<sharenet type='netns' value='global-vrf'/>

</lxc:namespace>

<vcpu>1</vcpu>

<clock offset='utc'/>

<on_poweroff>destroy</on_poweroff>

<on_reboot>restart</on_reboot>

<on_crash>destroy</on_crash>

<devices>

<emulator>/usr/lib64/libvirt/libvirt_lxc</emulator>

<filesystem type='mount'>

<source dir='/misc/app_host/xr-lxc-app/'/>

<target dir='/'/>

</filesystem>

<console type='pty'/>

</devices>

</domain>

Page 39: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Пример

39© 2017 Cisco and/or its affiliates. All rights reserved.

rtr1

iPerf Session

• RTR1 и Linux хост используют Vagrant и Virtual Box• LXC контейнер установлен на RTR1 с Linux хоста• На RTR1 выполняется Ubuntu внутри LXC контейнера• iPerf выполняется внутри контейнера и создает сессию с Linux хостом

3rd Party LXC

ControlPlane

Admin Plane

https://xrdocs.github.io/application-hosting/tutorials/2016-07-09-pathchecker-iperf-netconf-for-ospf-path-failover/

Page 40: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Конфигурация, Мониторинг и Отладка

Cisco Connect 2017 40© 2017 Cisco and/or its affiliates. All rights reserved.

Page 41: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Encoding XML JSON GPB

Protocol NETCONF gRPCRESTCONF

Программный стек ориентированный на Модели Данных (Model-Driven)

41© 2017 Cisco and/or its affiliates. All rights reserved.

Models

APIs

Apps

Model-Driven APIsYANG Development Kit (YDK)

YANG Models(native, open)

App1 App2 App3

SSH HTTPTransport

Модель-ДанныхЗапроса

Модель с данными

Телеметрии

HTTP/2

Page 42: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Программная настройка используя Модели Данных (Data Models)

42© 2017 Cisco and/or its affiliates. All rights reserved.

• YANG: Язык описания Модели Данных

• Явно и детально описывает структуру, синтаксис и семантику данных…

• …это исключительно наглядно

• Консистентно и полно

• NETCONF, RESTCONF, GRPC: Протоколы

• Обеспечивают примитивы для чтения и изменения данных

• Кодирование данных в соответствии с моделью данных

Модели

Данных

Запрос

с Моделью

Данных

Протокол

Page 43: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Преимущества программируемости с Моделями Данных

• Модели и структуры удобны для компьютерной обработки

• Различные типы моделей (native, OpenConfig, IETF и др.)

• Модели независимы от транспорта, протокола и кодирования

• Выбор транспорта, протокола и кодирования

• API позволяет упростить работу и использовать абстракции

• Широкая поддержка стандартов, в тоже время с открытым кодом

© 2017 Cisco and/or its affiliates. All rights reserved. 43

Снижение операционных затрат

Page 44: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Введение в YANG

44© 2017 Cisco and/or its affiliates. All rights reserved.

Язык моделирования(изначально для NETCONF)

Основные типы узлов

Leaf – узел с именем и значением определенного типа (без вложений)

Leaf list – список Leaf-ов

Container – группа узлов, не имеет значения

List – Список с ключевым Leaf-ом

Leaf

Узел без значения

Узел имеющий значение

Leaf list

Container(grouping)

Container(presence)

List

key

Page 45: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Пример Модели Данных на YANG

45© 2017 Cisco and/or its affiliates. All rights reserved.

container community-sets {description “Container for community sets";list community-set {

key community-set-name;description "Definitions for community sets";leaf community-set-name {

type string;description "name of the community set";

}leaf-list community-member {

type string {pattern '([0-9]+:[0-9]+)';

}description "members of the community set";

}}

}

community-set CSET165172:1,65172:2,65172:3

end-set!community-set CSET1065172:10,65172:20,65172:30

end-set!

YANG CLI

Page 46: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Пример Модели Данных на JSON

46© 2017 Cisco and/or its affiliates. All rights reserved.

community-set CSET165172:1,65172:2,65172:3

end-set!community-set CSET1065172:10,65172:20,65172:30

end-set!

{ "community-sets": {"community-set": [

{ "community-set-name": "CSET1","community-member": [

"65172:1","65172:2","65172:3" ]

},{ "community-set-name": "CSET10",

"community-member": ["65172:10","65172:20","65172:30" ]

}]

}}

JSON CLI

Page 47: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

YANG Модели для IOS-XR (Github)

47© 2017 Cisco and/or its affiliates. All rights reserved.

IOS XR ModelsXR models per release

Page 48: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

XML

NETCONF

Протокол NETCONF

48© 2017 Cisco and/or its affiliates. All rights reserved.

• Богатая функциональность для управлениями конфигурациями и операционными данными

• Операции определены как RPC (request / reply) на XML

• Клиент/приложение инициирует запрос на Сервер/устройство

• Поддерживает running, candidate и startup конфигурации

• Согласовывает возможности (capability) в начале сессии YANG

SSH

Page 49: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Network Configuration Protocol (NETCONF)

49© 2017 Cisco and/or its affiliates. All rights reserved.

SSH Клиент

SSH

RPC вызовы разбиты на 4 группы методов: Retrieve, Configure, Copy и Delete.Могут быть реализованы дополнительные методы

Сетевое устройство

• NETCONF обеспечивает механизмы для инсталляции, изменения и удаления конфигурации устройства

• Использует XML для кодирование конфигурационных данных и сообщений самого протокола NETCONF

• Операции NETCONF протокола реализованы в виде RPC вызовов поверх SSH

Retrieve, Configure, Copy, and Delete

Page 50: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

API работы с Моделями Данных

50© 2017 Cisco and/or its affiliates. All rights reserved.

• Упрощает разработку приложений

• Абстрагирует транспорт и кодирование

• API сгенерировано с YANGмоделей

• “Один к одному” соответствие между моделью и иерархией классов

• Мульти-язычное (Python, C++, Ruby, Go и др)

YANG ModelClass Hierarchy

(Python, C++, Ruby, Go)

Page 51: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Генерация API используяYANG Development Kit (YDK)

51© 2017 Cisco and/or its affiliates. All rights reserved.

YANGYANG

YANG

Data Models (YANG)

APIGenerator

DocsPython

C++

: :

Ruby

go

Docs

Docs

Docs

C♯ Docs

YDK-gen

YDK-PyYDK

YDK-CPP

Page 52: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Программный интерфейсна примере Netconf/YANG сценария

52© 2017 Cisco and/or its affiliates. All rights reserved.

SSHdXR

Programmatic Interface

SSHProxyServer

NETCONFAgent

YANGFramework SysDB

ClientLibrary

SysDB

BackendApps

ConfigurationManager

Защищенный транспорт

Ориентированный на соединения

Коммуникационная модель на RPC

Согласовывает возможности

Page 53: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Cisco gRPC

CLIJSON

YANG

HTTP/2

Обзор gRPC на Cisco IOS XR

53© 2017 Cisco and/or its affiliates. All rights reserved.

• Google RPC предоставляет общий (open source) RPC framework

• Определение интерфейса в Cisco IOS XR специфицирует работу устройства

• Функционально подмножествоNETCONF

• Простая разработка клиентов

• Высокопроизводительный

Page 54: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Традиционная модель мониторинга

54© 2017 Cisco and/or its affiliates. All rights reserved.

Более не подходит для масштабируемых Облачных инфраструктур

Доступ иизмерение

Где данные создаются Где данные нужны

syslog

SNMP

CLIХранение и аналитика

Большая нагрузка на бэк-офис

Нормализация форматов данных, кодирования, моделей данных,

меток времени

Page 55: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Streaming Telemetry Concepts

55© 2017 Cisco and/or its affiliates. All rights reserved.

Лучше подходит для масштабируемых Облачных инфраструктур

Доступ иизмерение

Хранение и аналитика

Объем: Большие массивы данныхСкорость: Анализ поточных данныхВариативность: Различные источники и форматы данных

Поточная Телеметрия

Push парадигма

Унифицированный метод доступа к статистике, операционным данным, событиям на всех уровнях

Производительность: 10 sec

Multiple encodings & Transport

Где данные создаются Где данные нужны

Page 56: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Поточная Телеметрия

56© 2017 Cisco and/or its affiliates. All rights reserved.

Подход к дизайну

• Получить от устройства максимум данных, как можно быстрееПроизводительность

• Предоставляет доступ ко всей операционной статистике на устройстве*Охват

• Гибко формирует поток данных, в удобном для приложений клиента видеАвтоматизация

*Зависит от уровня privilege присвоенного пользователю

Page 57: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Телеметрия

• Язык описания обобщенных моделей

• Описывает структуру и атрибуты собираемых данных

• Цель использовать YANG (6.1.1)

• 6.0.0 и 6.0.1 использовали экспериментальный SysDB name space

• Push модель

• Поточно передавать данные с инкрементальными обновлениями по подписке

• Передача данных

• JSON (compressed) inside TCP

• Google Protocol Buffer inside UDP

• Google Protocol Buffer inside gRPC (6.1.1)

• Отслеживать состояния сети через временные метки поточно передаваемых данных

© 2017 Cisco and/or its affiliates. All rights reserved. 57

Page 58: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Модель поточной Телеметрии

• Настройка Телеметрии• Определяем одну или несколько групп

подписки (subscription group)

• Каждая группа подписки содержит частоту (rate) и указатель на одну или несколькоYANG моделей

• Задаем кодирование, транспорт и получателя для каждой группы подписки

• Агент Телеметрии• Это XR процесс который работает

автоматически и выполняет зарегистрированные сенсоры

© 2017 Cisco and/or its affiliates. All rights reserved. 58

XR Control Plane

Host OS

TelemetryAgent

YANGSysDB

TelemetryReceiver

TelemetryConfiguration

Policy-based Telemetry

Model-driven Telemetry (MDT)

Page 59: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Пример настройки Телеметрии с Моделями Данных

telemetry model-drivendestination-group DGroup1address family ipv4 10.60.19.8 port 2104encoding self-describing-gpbprotocol tcp

!sensor-group SGroup1sensor-path Cisco-IOS-XR-infra-statsd-oper:infra-statistics/interfaces/interface/latest/generic-counters

!subscription Sub1sensor-group-id SGroup1 sample-interval 10000destination-id DGroup1

© 2017 Cisco and/or its affiliates. All rights reserved. 59

Куда и как отправить

Какие Данные собирать

Как часто

Используем gRPC сGPB кодированием

YANG Модель

Page 60: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Заключение

Cisco Connect 2017 60© 2017 Cisco and/or its affiliates. All rights reserved.

Page 61: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Краткий итог

• Никаких изменений в CLI с переходом на IOS-XR 6.X

• 6.X доступен на NCS5500, NCS5000 и NCS1000 платформах

• С 6.1.1 поддерживается ASR9000 (традиционная 32-bit QNX версия XR

продолжает поддерживаться)

• Операционные расширения для автоматизации управления

• Операционная система включает Open Source инструменты

© 2017 Cisco and/or its affiliates. All rights reserved. 61

Page 62: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Полезные ссылки

62© 2017 Cisco and/or its affiliates. All rights reserved.

IOS-XR Documentation, Blogs, Tutorials and more : https://xrdocs.github.io/

IOS-XR YANG Models: https://git.io/vg7fk YANG Developer Kit: http://ydk.cisco.com/py/docs/

Getting Started With OpenConfig in Cisco IOS XR: https://git.io/vg7vF

Getting Started With gRPC in Cisco IOS XR: https://git.io/vg7vP

IOS-XR Ansible: https://github.com/ios-xr/iosxr-ansible

IOS-XR Puppet: https://docs.puppet.com/pe/latest/install_iosxr.html

IOS-XR Chef: https://downloads.chef.io/chef-client/iosxr/

• Cisco IOS XR 6.0 Software Management Lab v1: https://dcloud-cms.cisco.com/demo/cisco-ios-xr-software-management-lab-v1

• Cisco IOS XR 6.0 Application Hosting Lab v1: https://dcloud-cms.cisco.com/demo/cisco-ios-xr-6-0-application-hosting-lab-v1

• Cisco IOS XR 6.0 End-to-End Automation Lab v1: https://dcloud-cms.cisco.com/demo/cisco-ios-xr-6-0-end-to-end-automation-lab-v1

Page 63: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

Q & AВопросы и ответы…

Cisco Connect 2017 63© 2017 Cisco and/or its affiliates. All rights reserved.

Page 64: Cisco Connect€¦ · • Основные функции базовой ОС: • Прямая работа с аппартымуровнем • Обеспечить функции

#CiscoConnectRu#CiscoConnectRu

Спасибо за внимание!Оцените данную сессию в мобильном приложении конференции

Контакты:

Тел.: +7 495 9611410www.cisco.com

www.facebook.com/CiscoRu

www.vk.com/cisco

www.instagram.com/ciscoru

www.youtube.com/user/CiscoRussiaMedia

© 2017 Cisco and/or its affiliates. All rights reserved.