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

Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

CiscoConnectМосква, 2017

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

Page 2: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Программируемость коммутаторов для ЦОД Cisco Nexus

Александр Скороходов

Инженер-консультант

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

Page 3: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Цели сессииДля двух типов аудитории

Для сетевых администраторов:

• Показать, как программируемость сети может сделать их работу проще и эффективнее

• Продемонстрировать возможности расширения функциональности

• Перестать бояться программирования

• Помочь найти общий язык с программистами ;)

Для программистов:

• Показать возможности использования Nexus как открытой программируемой платформы

• Описать ключевой инструментарий программирования для работы с сетевым оборудованием Cisco для ЦОД

• Помочь найти общий язык с сетевыми администраторами ;)

Для сетевых администраторов и программистов:

Возможность объединения усилий в рамках DevOps модели разработки,

внедрения и эксплуатации

Page 4: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Источние: исследование Cisco, 2016

Традиционные подходы не успевают за требованиями «цифрового бизнеса»

Зачем автоматизировать сеть?

Затрат на

эксплатацию сети

уходит на

диагностику и

устранение проблем

75%

Нарушений политики безопасности из-за

«человеческого фактора»

70%

Сетевых изменений выполняются

вручную

95%

Page 5: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Что даёт программируемость?

Экономия времени

Кастомизация Новые возможности

Снижение числа ошибок

Page 6: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Модели эксплуатации сети

Управление отдельными устройствами

• CLI

• Порты, VLAN, протоколы...

• Привычно

• Хорошо документировано

• Медленно – “несколько недель на создание VLAN???”

• Подвержено ошибкам

• Классические NMS мало помогают

• Сеть воспринимается как тормоз ИТ!

Чем будет заниматься сетевой инженер будущего ?

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

программирование

• Скрипты, API, Chef/Puppet…

• «Управлять коммутаторами

так же, как серверами»

• DevOps модель

• Высокая скорость

развертывания и внесения

изменений

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

управления разными

элементами среды

• Новый набор навыков

• Кто будет отвечать за сеть?

Оркестрация и управление

по политикам

• Системы оркестрации

• ACI: OpFlex, Group-based

Policy…

• Развёртывание и

эксплуатация сети в контексте

приложения/сервиса

• «Сеть как сервис»

• Единая точка

программируемости

• Новый набор навыков

• Миграция?

Page 7: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Спектр технологий программируемости и расширения функциональных возможностей

Bash +

netdevices

Guest

Shell

Открытая

системаЗакрытая

система

Сторонние

RPM

Скриптинг на Python

POAP/

PXE EEMNX-API

CLINX-APIREST

Puppet/

Chef/AnsibleCLI

Page 8: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Open NX-OSЗагрузка образа ОС: iPXE

VTEP VTEP VTEP VTEP

Использование существующей ИТ

инфраструктуры (PXE/iPXE) для

поддержки NX-OS

Загрузчик в BIOS на основе gPXE

Загрузка NX-OS с сервера по

HTTP/HTTPS или TFTP с поддержкой

IPv4 и IPv6

Добавлена настройка в NX-OS CLI для

выбора источника загрузки: <bootflash>

(GRUB) или <pxe> (GPXE)

Boot Server(DHCP & HTTP/TFTP)NX-OS Image Repository

DHCP DISCOVER(v4/v6)

IP Address & File/Image URL

TFTP GET FILE/HTTP URL

http://n9k-dk9….bin..

Validate Image Checksum & Boot

Page 9: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Script Server

Коммутатор Nexus

DHCP Server

Download Script file onto the switch and execute the script

DHCP Discover phase:Get IP Address, GatewayScript server Script file

Download Configuration License Software images onto the switch

2

3

4

Default Gateway

1Power up Phase: Start Power On Auto-Provisioning Process

License, Configuration and Software Server

5

Reboot if needed. Switch up and running the downloaded image

and config

POAP (Power-on Auto Provisioning)Быстрое развёртывание коммутаторов

Сокращение времени и трудоёмкости

первоначального развёртывания

Автоматизация, стандартизация и

воспроизводимость конфигураций

Использует DHCP и TFTP

(альтернатива: USB)

Скрипт на Python или TCL script –

есть шаблон на cisco.com

Конфигурационный файл и образ

NX-OS

Выполняется при пустой конфигурации

или настройке «boot poap enable»

На всех семействах Nexus

(N3K/N5K/N7K/N9K)

Page 10: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

DCNM on CCOhttp://www.cisco.com/go/dcnm

POAP (Power-on Auto Provisioning)Упрощение внедрения с помощью DCNM...

Page 11: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Упрощение внедрения POAP

Графический интерфейс

Готовый сервер в виде .OVA

Возможность генерации конфигураций на основе топологии, шаблонов и скриптов

Инструмент с открытым исходным кодом –возможности доработки, расширения и интеграции

https://github.com/datacenter/ignite

POAP (Power-on Auto Provisioning)...или с помощью Ignite

Nexus 3/9k only

Page 12: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Embedded Event Manager (EEM)«Программирование без программирования»

Отслеживает события и инициирует

действия

Поддерживается в IOS, IOS-XR и NX-OS

Политики по умолчанию работают «в фоне»

для поддержания здоровья коммутатора

Примеры событий:

Изменения оборудования (замена модуля)

Изменения статуса интерфейса

Команды администратора

Syslog сообщения

Диагностированные отказы (GOLD)

Примеры действий:

Отправка SNMP Trap

Генерация Syslog сообщения

Запуск скрипта на Python

event manager applet writer

event cli match “copy running-config startup-config”

action 1 syslog msg hi

action 2 cli copy running

bootflash:/autoconfig/running.latest

action 3 cli guestshell run sudo su - temp -c

'/home/temp/tester.py'

EEM

f = os.popen('mv -f /bootflash/autoconfig/running.latest/bootflash/autoconfig/running')

who = f.read()

f.close

print "Result:", who

f = os.popen('cd /bootflash/autoconfig;

/bootflash/git add running')

who = f.read()

f.close

print "Result:", who

Python

Page 13: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Встроенный интерпретатор Python

# python

Python 2.7.2 (default, Mar 6 2012, 15:51:12)

[GCC 3.4.3 (MontaVista 3.4.3-25.0.143.0800417 2008-02-22)] on

linux2

Type "help", "copyright", "credits" or "license" for more

information.

Loaded cisco NxOS lib!

>>>

Interactive Python Shell

# python bootflash:showBuffer.py

Mon Jan 30 19:26:36 UTC 2012

|------------------------------------------------------------

|

Total Instant Usage 0

Remaining Instant Usage 46080

Max Cell Usage 0

Switch Cell Count 46080

|------------------------------------------------------------

|

Mon Jan 30 19:26:38 UTC 2012

#

Run Python Script

• Почему Python?• Простота изучения• Выразительность• Интерактивный режим и

скриптинг• Огромный выбор модулей• «Язык DevOps»

• Варианты использования Python на Nexus:

• NX-OS CLI• EEM• Guest shell• Bash shell

• Полезные встроенные модули:• cli• cisco

• Возможность создавать «суперкоманды»

Page 14: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

NX-API CLIПрограммный доступ к CLI современными средствами

• Взаимодействие с CLI устройства через HTTP / HTTPS• Обмен в JSON или XML формате для удобства программирования

Show Clock NXAPI Web Server

(NGINX)

[{"jsonrpc": "2.0","method": "cli","params": {"cmd": "show clock","version": 1

},"id": 1

}]

{"jsonrpc": "2.0","result": {"body": {"simple_time": "15:00:37.762 PST Mon Aug 18 2014\n"

}},"id": 1

}

HTTP / HTTPS

Switch# conf tSwitch(config)# feature nxapiSwitch(config)# exit

Page 15: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг
Page 16: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

NX-API CLIВстроенная в коммутатор «песочница» (Sandbox)

• Удобная «стартовая площадка» с Web-интерфейсом для сетевых администраторов, интересующихся скриптингом/автоматизацией

• Генерация «обёртки» для CLI команд, отправка коммутатору по HTTP/HTTPSи показ возвращаемых структурированных результатов (JSON/XML)

• Генерация готового кода на Python!

• Встроенная документация

Page 17: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

REST API для доступа к объектной модели управления Nexus

Автоматизация управления с использованиемопераций (CRUD) над иерархией объектов (MIT)

Асинхронное управление средствами модели:

BGP, VLAN, LACP, ACL, QoS, UDLD, CDP, MAC, DHCP, DNS, RBAC, AAA,SVI, Logging, NTP, VRRP

Возможность подписки на уведомления о событиях на уровне объекта или ветви иерархии с помощью Websockets

Преимущества использования объектной модели

Ускорение разработки ПО

Повышение качества ПО

Интеграция в ООП

Инструментарий NX toolkit для интеграции с Python (https://github.com/datacenter/nxtoolkit)

CLI REST JSON RPC SNMP

BGP LACP ACL QoSVLAN

Sys

Dom-yDom-x

BGP ACL

• …

MIT

Config

Faults &

Events

Stats

Data Models (Logical / Concrete)

Operational

Data

DME Processes

Data Management Engine

Object Store REST API(HTTP/HTTPS)

NX-API REST (MDP)Программируемость и автоматизация с помощью объектной модели

Page 18: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

DEVNET-2101 18

Page 19: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Сравнение NX-API CLI и NX-API REST

Page 20: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

System

BgpEntity BgpInstance BgpDomain BgpPeer

BgpLocalASN

BgpPeerAf

BgpPeerEntry

L1PhysIf

ethpmPhysIf ethpmPortCap

L1Load

L1StormControl

Хранение конфигурационной и операционной информации

Единая структура объектов в БД

Симметричный API

sys/bgp/inst/dom-default/peer-[192.168.0.2]sys/phys-[eth1/1]/phys/portcap

NX-API REST: объектная модель

Документацияhttps://developer.cisco.com/site/nx-os/docs/

Page 21: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Отличия в подходе NX-API REST (MDP)На примере настройки BGP

CLI POST: отправка CLI команды (NX-API CLI)

POST: отправка BGP объекта(NX-API REST)

router bgp 11

router-id

1.1.1.1

POST http://Switch-IP/ins

{'content-

type':'application/json-

rpc'}.json()

{ "jsonrpc": "2.0",

"method": "cli",

"params": {

"cmd": "config t",

"version": 1 }, "id": 1},

{ "jsonrpc": "2.0",

"method": "cli",

"params": {

"cmd": "router bgp

11",

"version": 1 },"id":

1},

{ "jsonrpc": "2.0",

"method": "cli",

"params": {

"cmd": "router-id

1.1.1.1",

"version": 1}, "id":

2}]

POST http://Switch-

IP/api/mo/sys/bgp/inst.json

{ "bgpInst" : {

"children" : [{

"bgpDom" : { 11

"attributes" : {

"name":"default",

"rtrId" :

"1.1.1.1"

}

}

}

]

}

}

Page 22: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

NX-API-REST

gRPC Agent

RestconfAgentNGINX

Data Management Engine

NetconfAgent

Object Store

Telemetry Agent

Telemetry Receiver

NetconfClient

BGP LACP ACL QoSVLAN

Transaction Commit Status: Success/Raise

Fault

Model Transformation (YANG)

RestconfClient

gRPC Client

Data Encoder

DME Models YANG Models

Управление NXOS с использованием моделейРасширение набора подходов

Page 23: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Industry definition

Определы стандартом (IETF, ITU, OpenConfig,

etc)

Пример: ietf-diffserv-policy.yang

(IETF Diffserv data model)

Cisco NXOS Specific

Документированы в рамках объектной модели NX-OS как

набор XML объектов

Открытые

модели

NXOS Device DME модели

Модели данных:

открытые и специфичные для NX-OS

Открытые модели – подмножество функций моделей NX-OS

Cisco NXOS Specific

Определяются с с помощью YANG

Непосредственная интеграция с NSO

NXOS YANG модели

Page 24: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Web-based UI Превращение CLI команд в обращения к DME/YANG модели Облегчение принятия основанных на моделям NX-API REST и NETCONF/YANG интерфейсов

Варианты ‘nx-api rest’ и ‘nx yang’ для

генерации обращений к

соответствующим моделям

Ввод команд CLI

Преобразование команды CLI в NX-API REST JSON объект

(Выполняется на устройстве)

Отправляемый NX-API JSON объект

Генерация фрагментов кода на Python для отправки команд с использованием NX-API REST

POST для отправки NX-API JSONобъекта на коммутатор

24

NX-API REST/YANGВстроенная в коммутатор «песочница» (Sandbox)

Page 25: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Data Management Engine

Object Store

Telemetry Agent

BGP LACP ACL QoSVLAN

Transaction Commit Status: Success/Raise

Fault

Data Encoder

Потоковая телеметрия в NX-OSОбзор архитектуры

Collector

gRPC Agent

RestconfAgentNGINX

NetconfAgent

Model Transformation (YANG)

gRPC/GBP

Subscription

Periodic or on-change

Page 26: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Guest Shell

• Защищённая среда выполнения на

основе CentOS7 с возможностью

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

• Быстрая разработка/прототипирование

Скриптинг (Python)

Инструментарий Linux

API на уровне устройства

• Защита целостности NX-OS

Изолированное user space

Изоляция сбоев

Ограничение ресурсов

• Использование “guestshell resize” для

управления доступных Guest Shell

ресурсов (процессор/память/диск)

Защищённая среда Linux на коммутаторе

Network OS

Guestshell

Open Application Container

Linuxapplications

Page 27: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Bash Shell

(conf t)# feature bash-shell

(conf t)# run bash

bash$ id

uid=2002(admin) gid=503(network-admin) groups=503(network-admin)

bash$ sudo su

bash# id

uid=0(root) gid=0(root) groups=0(root)

• Доступ к Linux ОС самого коммутатора

• Полный доступ к оборудованию/интерфейсам

• Ядро Linux: Wind River 3.4.43. Distribution: Yocto 1.2

• Доступ только для пользователей NX-OS с ролями dev-ops или network-admin

Page 28: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Open NX-OSИспользование средств Linux для работы с интерфейсами

Порты коммутатора доступны для настройки и иcпользования как интерфейсы Linux сервера. Примеры:

ifconfig для изменения MTU интерфейса:

# ifconfig Eth2-1 mtu 9000

tcpdump для диагностики:

# tcpdump -w file.pcap -i Eth1-1

ethtool для получения детальной статистики:

# ethtool –S Eth1-1

ip route для добавления статического маршртута

# ip route add 203.0.113.0/24 via 198.51.100.2 dev Eth2-1

Отображение VRF в Linux namespaces

# ip netns

management

default

Page 29: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Open NX-OSУправление пакетами для NX-OS/Guestshell средствами YUM/RPM

•Возможность устанавливать сторонние программные компоненты на уровне Guestshell или NX-OS

•Средства мониторинга (Ganglia, Splunk, tcollector)

•Агенты управления конфигурациями (Chef/Puppet)

•Сторонние реализации протоколов маршртизации (Quagga)

•ПО собственной разработки

•Возможность патчинга/обновления компонент NX-OS с помощью rpm/yum

•Управление фоновыми процессами (демонами) с помощью стандартных механизмов Linux

•Встроенная поддержка YUM

Package as RPM

C app with

standard Linux

constructs

Open Embedded

64 bit Build

Environment

Cisco/Local

Repository

RPM local

repository

RPM upload

YUM Install

Linux Daemon

Linux Kernel

• Raw Socket

• Netdevs

• Libpcap

init.d

Monitoring

server

ASIC

Build Server Target Switch

Page 30: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Open NX-OS Разработка своих приложений

• Разработка и развёртывание собственных приложений:• SDK доступен с сайта Cisco, детали – в «Nexus 9000

Programmability Guide» • Установка SDK на Linux сервере разработки

(Fedora/Ubuntu/CentOS)• Компиляция/сборка и формирование пакетов на

сервере разработки, распространение и установка с использованием центального или локального репозитория

• Установка своих или сторонних приложений:• Непосредственно в NX-OS Linux (Yocto/Poky)• В среде Guestshell на базе CentOS7

Local RepositoryServer(YUM)

yum install app.rpm

http://repo-server/app.rpm

Respository

Page 31: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

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

Декларативное управление: указание желаемого состояния

Часть DevOps подхода – «инфраструктура как код»

Основное применение – управление серверами, но используется и для других элементов инфраструктуры

Разные подходы к реализации:

С использованием агентов:

Chef, Puppet, CFEngine, SaltStack

Без использования агентов

Ansible, Salt SSH

CM Tool Nexus 3k/9K Nexus 5/7K

6.1 7.2

7.0 7.3

7.0 7.3

Page 32: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Puppet/Chef Master Server

Native Linux Service/etc/init.d/puppet.d & chef.d

NX-OS

Cisco Puppet/Chef Agent

Open NX-OS Агенты Рuppet/Chef для коммутаторов Nexus

NX-APICisco Puppet/Chef Module(Incl Utility

GEMs)

Linux Software Repository Server

Yum/RPM install puppet/chef.rpm

• Агенты для Puppet/Chef доступны на Puppet Forge/ Chef Supermarket

• Инсталляция агента в Guest shell или в Bash shell• Установка модулей Puppet/Chef для Cisco на Puppet Master

/ Chef Server• Агент на коммутаторе периодически опрашивает сервер

для обновления и выполняет действия по приведению в желаемое состояние

Page 33: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Интеграция с PuppetПровайдеры/типы Cisco для Puppet

• Поддержка NX-OS native (50) и netdev (21) типов - самая широкая поддержка в индустрии!

• Расширяемость путём добавления CLI команд используя cisco_command_config

Модули с поддержкой Cisco :Puppet Open-Source:https://github.com/cisco/cisco-network-puppet-module

Puppet Enterprise:https://forge.puppet.com/puppetlabs/ciscopuppet

Демо Puppet на YouTube:https://youtu.be/NALrL0oZtDg

Page 34: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Интеграция с ChefПровайдеры Cisco для Chef

• Текущий набор модулей для Chef

• Расширяемость путём добавления CLI команд используя cisco_command_config

Модули с поддержкой Cisco :Chef Open-Source:https://github.com/cisco/cisco-network-chef-cookbookChef Enterprise:https://supermarket.chef.io/cookbooks/cisco-cookbook

Демо Chef на YouTube:https://youtu.be/e-otCss_YNA

Page 35: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Ansible

Ansible опирается на push модель без использование агентов

Использует шаблоны на базе YAML и Jinja2

Может использовать CLI (SSH) или NX-API

Использование модулей nxos-ansible, или Core Ansible

Ansible Server

Playbooks

Server sends config when playbook is run

NX-API (HTTP/S)CLI (SSH)

Nexus

No agentfeature nxapi

Unlike server configuration Ansible does not execute Python on-box

Page 36: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

36

Интеграция с AnsibleМодули Cisco в Ansible Core

Модули для NX-OShttp://docs.ansible.com/ansible/list_of_network_modules.html#nxos

• 66 модулей для NX-OS в Ansible – самая широкая поддержка в индустрии!

• Расширяемость путём добавления CLI команд используя cisco_command_config

Демо Ansible на YouTube:https://youtu.be/JQ9Q0NwiuHM

Page 37: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Ссылки по теме

Источник Ссылка

DevNet: cайт Cisco для разработчиков по тематике NXOS (включая sandbox среду и Virtual Nexus 9000)

https://developer.cisco.com/site/nx-os/https://developer.cisco.com/site/nx-os/docs/guides/getting-started/

Репозиторий Cisco по программмируемости для ЦОД (Nexus/ACI)

http://github.com/datacenter/

Книга «Programmability and Automation with Cisco Open NX-OS»

http://www.cisco.com/c/dam/en/us/td/docs/switches/datacenter/nexus9000/sw/open_nxos/programmability/guide/Programmability_Open_NX-OS.pdf

Page 38: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

Слишком заняты, чтобы сделать свою работу эффективнее? ;)

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

Нет, спасибо!

Мы слишком заняты...

Page 39: Aleksandr Skorohodov Programmiruemosto kommutatorov …...управления разными ... система Закрытая система Сторонние RPM Скриптинг

#CiscoConnectRu#CiscoConnectRu

Спасибо за внимание!

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

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

Контакты:

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

www.facebook.com/CiscoRu

www.vk.com/cisco

www.instagram.com/ciscoru

www.youtube.com/user/CiscoRussiaMedia