Solution Cisco Edge Computing - Communauté Cisco Fayçal Hadj

La page est créée François Humbert
 
CONTINUER À LIRE
Solution Cisco Edge Computing - Communauté Cisco Fayçal Hadj
Communauté Cisco
Solution Cisco Edge Computing
dans l’IoT et les Réseaux Industriels
Fayçal Hadj
Architect Solution IoT/IP Routing/IPv6- CCIE #1135 et Cert IoT

5 novembre 2019
Solution Cisco Edge Computing - Communauté Cisco Fayçal Hadj
Nouveautés
et prochains
événements

© 2019 Cisco and/or its affiliates. All rights reserved
                                               reserved.
Solution Cisco Edge Computing - Communauté Cisco Fayçal Hadj
Événement : Demandez-moi N’importe Quoi
Routage et Commutation : Protocoles de routage, inclut NAT et HSRP
Foire aux Questions
jusqu’au vendredi 8 nov.

avec Luis Córdova
Événement public

                                                           Insert event banner

Suivez le lien
http://bit.ly/DNQ-octb19

© 2019 Cisco and/or its affiliates. All rights reserved.
Solution Cisco Edge Computing - Communauté Cisco Fayçal Hadj
1er Concours de Contenu en français
Montrez vos capacités, partagez vos connaissances et démarquez-vous
Ouvert jusqu’au vendredi
24 novembre 2019

Publiez vos contributions
et envoyez-nous un email
Événement tout public
                                                           Insert event banner

Suivez le lien
     http://bit.ly/1CC-fr2019

© 2019 Cisco and/or its affiliates. All rights reserved.
Solution Cisco Edge Computing - Communauté Cisco Fayçal Hadj
Évaluez le contenu de la Communauté Cisco
                                             Discussions, Documents, Blogs et Vidéos
     Aidez-nous à identifier les contenus de qualité et à reconnaître l’effort des
                 membres de la Communauté Cisco en français.

                        Identifiez les experts                                 Repérez les solutions

  Apprenez à mieux utiliser la plateforme                   Suivez le lien
  et exploiter toutes ses ressources.                        http://bit.ly/PilotVideoFR
© 2019 Cisco and/or its affiliates. All rights reserved.
Solution Cisco Edge Computing - Communauté Cisco Fayçal Hadj
Reconnaissance aux Top Contributeurs

  Devenez un Top Contributeur
   pour le mois de novembre !
La reconnaissance aux Top Contributeurs est
conçue pour reconnaître et remercier ceux qui
ont collaboré avec nous en fournissant des
contenus techniques de qualité ainsi que les
participants plus actifs qui ont permis à notre
communauté de devenir un des Top sites pour
les passionnés de la technologie de Cisco.

Suivez le lien
   http://bit.ly/FRCC-SpotlightAwards
© 2019 Cisco and/or its affiliates. All rights reserved.
Solution Cisco Edge Computing - Communauté Cisco Fayçal Hadj
Participez avec nous et posez des questions
La présentation comprendra aussi quelques questions du public.
Nous vous invitons cordialement à participer activement aux questions que
vous pourrez poser pendant cette séance sur le panneau à droite « Q&R ».

                                      Résolvez vos doutes et partagez votre opinion

© 2019 Cisco and/or its affiliates. All rights reserved.
Solution Cisco Edge Computing - Communauté Cisco Fayçal Hadj
Merci d'être avec
nous aujourd’hui !
Téléchargez la présentation sur
                   http://bit.ly/WEBsld-nov19

© 2019 Cisco and/or its affiliates. All rights reserved.
Solution Cisco Edge Computing - Communauté Cisco Fayçal Hadj
Les experts de la
Communauté Cisco

                          Fayçal Hadj
   Senior Solution Architect IoT
                     chez Cisco France
               CCIE #1135 et Certifié IoT
                                                           Présentateur

© 2019 Cisco and/or its affiliates. All rights reserved.
Solution Cisco Edge Computing - Communauté Cisco Fayçal Hadj
Introduction

© 2019 Cisco and/or its affiliates. All rights reserved.
Le futur du développement se
 déplace en bordure du réseau
“ Environ 10% des données générées par les entreprises
sont créées et traitées en dehors d’un centre de données
centralisé ou dans un Cloud. D’ici 2025, le Gartner prévoit
que ce chiffre sera de 75% ! ”
https://www.gartner.com/smarterwithgartner/what-edge-computing-means-for-infrastructure-and-operations-leaders/

© 2019 Cisco and/or its affiliates. All rights reserved.
Agenda
                    Introduction et Cas d’usage
                      du Edge Computing

                    Portefeuille Cisco IOT

                    Edge Computing :
                      Implémentation Cisco

                    Démo : déploiement d’un
                     broker MQTT
© 2019 Cisco and/or its affiliates. All rights reserved.
Agenda
                    Introduction et Cas d’usage
                      du Edge Computing

© 2019 Cisco and/or its affiliates. All rights reserved.
Démarche IoT habituelle d’un client
                                                                                            L’Edge computing est
                                                                                      incontournable dans l’IoT industriel
Impact business à partir des
  données générées par les                                                                          Des applications utilisées en
                  capteurs                                                                          environnement industriel
                                                                                          30%       auront des exigences fortes
                                                                                                    en terme de latence et de
                                                                                                    bande passante

                                                     Surveillance et                         Des très grandes Entreprises
                                                     contrôle                       40%      intégreront du Edge computing
                                                                                             dans leurs projets IoT d’ici 2021
                                                     Maintenance prédictive

                                                                                     Des données seront stockées, traitées,
                         Déploiement
                                                                                     analysées et utilisées une fois proches ou
                         et connexion                                         45%
                                                                              45%    uniquement quand elles seront présentes a
                         de capteurs                                                 la périphérie des réseaux … d’ici 2020
 © 2019 Cisco and/or its affiliates. All rights reserved.
Cisco IoT Edge: la seule stratégie IOT Edge
complément intégrée
                                                                                                                      Management
                                                                    App & Analytics        App & Analytics
                                                                                                                     Data Management
                                                                          Cloud                 On-Prem
       SIMPLE : Déployable à grande                                      Provider                 DC
                                                                                                                     App Management

       échelle et complément sécurisé                                                                                GW Management

           Edge          IoT                                         Cyber Vision          Edge Data             ISV Apps
         Ready IoT
       FLEXIBLE : Outillage pour
                        Edge                               toutes
         Networking      SW
       les solutions disponibles                                                    IOx - Edge Compute Infra

                                                                        IoT GW - Ready IoT networking/compute portfolio

       Ecosystème : Adopté par plusieurs
       de nos partenaires Cloud, plateforme
       et Applications

© 2019 Cisco and/or its affiliates. All rights reserved.
Cas d'utilisation de l'IoT activés par IOx

                                                    Amélioration de               Informations
Surveillance à distance                                                       opérationnelles et          Efficacité opérationnelle     Surveillance distribuée à
                                                     l'efficacité des                                                                      l'échelle (Distributed
   (Remote Monitoring)                             processus (Process        maintenance prédictive       et innovation (Operational
                                                                              (Operational Insights and    Efficiencies & Innovation)       Monitoring at Scale)
                                                  Efficiency Improvements)
                                                                               Predictive Maintenance)

 Remote monitoring of                             Factory line error          Machine insights with       Real-time Telemetry for       Distributed power / line
  power generators,                             detection & predictive             low TCO                 operational efficiency              monitoring
    Solar plants                                      analytics

                                                                                                                                              IR809
  IR809           IOx                                   IR829     IOx               IE4000       IOx               IR829       IOx            (POC) IOx

  © 2019 Cisco and/or its affiliates. All rights reserved.
Cybersécurité pour les environnements
              industriels

                                                                                                  Data
                                                                                                Analytics

                                                                                     Data
                                                                                   Collection

            Iox based                                                  Iox based
                                                           Iox based
             sensors                                                    sensors
                                                            sensors

© 2019 Cisco and/or its affiliates. All rights reserved.
Agenda

                    Portefeuille Cisco IOT

© 2019 Cisco and/or its affiliates. All rights reserved.
Portefeuille Cisco IOT
      Commutateurs
                                                           Passerelles IOT      Routage Industriel                 Wifi Industriel & LoRa
       Industriels
                                                              New
                                              New

                                    New                                   New                                          New

                                                                                                                          Gestion et
 Sécurité Industrielle                                     IoT Embarqué         Edge Computing
                                                                                                                         Automatisation

                                      New                           New

                                                                                                                   F i eld Network Director, Industrial Network
                                                                                                                              Di r ector, Kinetic GMM
                                                                                Ki n etic EFM & DCM, IOx, IC3000
© 2019 Cisco and/or its affiliates. All rights reserved.
Portefeuille Cisco IOT
       Commutateurs
                                                             Passerelles IOT          Routage Industriel                 Wifi Industriel & LoRa
        Industriels
                                                                  New
                                          IOx
                                            New
                                                             IOx                          IOx
                                                                                IOx

                                                           IOx
                                    IOx
                                    New                                         New                                           IOx
                                                                                                                             New

                                                                                                                                Gestion et
 Sécurité Industrielle                                           IoT Embarqué         Edge Computing
                                                                                                                               Automatisation

                                                                                                     IOx
                                      New                                 IOx
                                                                        New

                                                                                                                         F i eld Network Director, Industrial Network
                                                                                                                                    Di r ector, Kinetic GMM
                                                                                      Ki n etic EFM & DCM, IOx, IC3000
© 2019 Cisco and/or its affiliates. All rights reserved.
Passerelle de computing Industrielle Cisco
IC3000                      Matériel
                                                           • 4 Core Intel Rangeley 1.2 GHz (I-temp)
                                                           • 8-GB DRAM (soldered dow n)

                                                           • mSATA SSD 128 GB

                                                           • SD card slot for additional storage
                                                           • Compact DIN rail unit design

                                                           • 2 Gigabit Ethernet Copper ports and 2 SFP Fiber ports

                                                           • Dedicated management and console ports
                                                           • 2 USB ports
                                                           • Alarm I/O

                                                           Sécurité
                                                           • Hardw are based anti-counterfeit, anti-tamper chip

                                                           • Hardw are root of trust for secure boot of trusted Cisco Linux kernel

                                                           Roadmap
                                                           • Standalone mode of management

                                                           • App signing infrastructure

                                                           • USB Provisioning of box
© 2019 Cisco and/or its affiliates. All rights reserved.
Agenda

                    Edge Computing :
                      Implémentation Cisco

© 2019 Cisco and/or its affiliates. All rights reserved.
IOx : Vision Cisco du Edge Computing
Seul framework du marché pour développer des Appliances réseau pour faire du Edge Computing

                                                              Solution de bout en bout

                                                              •   App Development
                 Container                                    •   App Hosting
                                                              •   Management                      Edge infrastructure pour
                                                              •   Sécurité                        • IoT
 Guest           Virtual
 Shell                                                        •   Distribution/Control            • Enterprise
                Machine
                                                              •   Fog Services                    • SP

                                                Uniform    Manageable             Secure   Distribution

© 2019 Cisco and/or its affiliates. All rights reserved.
Cisco IOx
Cisco IOx est un Framework simple et puissant qui permet aux développeurs et aux opérateurs
industriels de déployer à large échelle et de manière distribuées des applications (actuelles ou
nouvelles) dans des infrastructures IoT et de créer de la valeur business à partir des données
générées par des capteurs ou des infrastructures industrielles.
                                                           Les 3 composants d IOx

                  Matériels                                    Outillage            Gestion des applications

                        OT
                                                                                              FND

                         IOx

                                      CAT 9K
                                                                                              GMM
               ASR1K

                     ISR-4K

                          IT
© 2019 Cisco and/or its affiliates. All rights reserved.
Type d’Application
     Les types d applications supportées dans IOx sont :

         ▪ Applications de type PaaS : applications développées en utilisant des langages dynamiques
           comme Java, Ruby, Python etc.
         ▪ Application de type Container Linux (LxC) : ces Applications utilisent du code tiers en partie
           dépendants de librairies natives (file system complet sans le Kernel) le tout packagé en une
           seule archive.
         ▪ Application de type Docker : assez proches des application type Containers Linux, la
           différence étant que le développeur peut utiliser les outils docker pour générer le file
           system.
         ▪ Applications de type VM : applications packagées sous forme de machines virtuelles, elles
           contiennent le kernel, le file system racine, les librairies et le code de l’application en un
           seul package.

© 2019 Cisco and/or its affiliates. All rights reserved.
Matrice des Produits IT

© 2019 Cisco and/or its affiliates. All rights reserved.
Matrice des Produits Industriels

© 2019 Cisco and/or its affiliates. All rights reserved.
Matrice des Produits Industriels
Détails

© 2019 Cisco and/or its affiliates. All rights reserved.
IOx
Plateformes/Architectures

© 2019 Cisco and/or its affiliates. All rights reserved.
IOx Architecture
IOx est présenté sous forme de machine virtuelle avec IOS alors qu’il est
supporté nativement dans IOS-XE.

                                                      IOS                               IOS-XE

                                                                                                 Catalyst 9000
                                                                                                   ISR4000
                                                                                                  ASR1000
                 IR829                CGR1120              IR510   IE4000   IR1101   IE3400
                                      CGR1240

© 2019 Cisco and/or its affiliates. All rights reserved.
Quelle est l’architecture logicielle
                                                           que propose Cisco pour faire du
                                                           Edge computing ?
                                                           A.   IOS-XE
 Sondage Q1                                                B.   IOS-XR
                                                           C.   Linux
                                                           D.   IOX

© 2019 Cisco and/or its affiliates. All rights reserved
                                               reserved.
IOx
Outillage

© 2019 Cisco and/or its affiliates. All rights reserved.
Rôle de CAF (Cisco Application Framework)
  ▪   Gère le cycle de vie des applications IOx
        ▪    Install / Uninstall / Upgrade, Activate / Deactivate, Start / Stop
        ▪    Gère la configuration spécifique des applications
  ▪   Inclus un WebUI Local Manager
  ▪   Expose des API northbound                            Fog Director      ioxclient             Browser

        ▪    Ioxclient : CLI pour développeurs
        ▪    Fog Director : Gestion consolidée                                       Local Manager
                                                                Northbound API
                                                                                       Web GUI

                                                                           App Controller
                                                                Cisco Application Hosting Environment
                                                                                (CAF)

© 2019 Cisco and/or its affiliates. All rights reserved.
ioxclient (CLI)
Vue développeur

© 2019 Cisco and/or its affiliates. All rights reserved.
Qu’est-ce qu’ioxclient?
 ▪   ioxclient est un outil de commande en ligne qui fait partie du SDK IOx.

 ▪   Un utilitaire qui assiste le développeur en fournissant un CLI disponible pour :
      - gérer le cycle de vie de l’application [install, activate, deactivate, uninstall, start, stop, upgrade etc.,]

      - déboguer l’application [view and manage application logs]

      - déboguer les services fournis par IOx

      - gérer les cartriges utilisés pour les applications en PaaS

      - gérer la plateforme IOx [view platform information, health, platform logs, techsupport snapshots, network
     information etc.]

      - Interagir avec CAF et les différentes API REST

      - Créer différents profiles qui vont permettre de gérer toutes les plateformes IOx disponibles

© 2019 Cisco and/or its affiliates. All rights reserved.
Profiles ioxclient

    FHADJ-M-K149:ioxclient_1.2.1.0_darwin_amd64 fhadj$ ./ioxclient profiles show

    Active Profile :                              fhadj

    Profile Name :                           fhadj

                       Host IP:                  192.168.1.1

                       Host Port:                     8443

                       Auth Keys:                     aW94OmNpc2Nv

                       Auth Token:

                       Api Prefix:                         /iox/api/v2/hosting/
                       URL Scheme:                         https

© 2019 Cisco and/or its affiliates. All rights reserved.
FHADJ-M-546P:~ fhadj$ ioxclient pr l
                                                              Profile Name : ir809
                                                              Host IP: 91.168.141.225
                                                              Host Port: 49160
                                                              Auth Keys: aW94MjpjaXNjbw==

   Gestion des Profiles IOx
                                                              Auth Token: f5e4189b-6806-4405-b2cd-3f15e57ff8de
                                                              Api Prefix: /iox/api/v2/hosting/
                                                              URL Scheme: https
                                                              RSA Key:
                                                              Certificate:
                                                              Profile Name : ir829-lora
                                                              Host IP: 91.168.141.225
                                                              Host Port: 49160
                                                              Auth Keys: aW94OmNpc2Nv
FHADJ-M-546P:~ fhadj$ ioxclient pr s                          Auth Token: 6b3fb10c-1456-4638-81c2-e12ec5a8c9b0
                                                              Api Prefix: /iox/api/v2/hosting/
                                                              URL Scheme: https
Active Profile :                  ir809                       RSA Key:
                                                              Certificate:
                                                              Profile Name : ir809-local3
Profile Name :                ir809                           Host IP: 192.168.2.1
                                                              Host Port: 8443
                                                              Auth Keys: aW94OmNpc2Nv
Host IP:         91.168.141.225                               Auth Token: f0430f9b-8c53-40a6-9ac8-0f96488c9df2
                                                              Api Prefix: /iox/api/v2/hosting/
                                                              URL Scheme: https
Host Port:           49160                                    RSA Key:
                                                              Certificate:
                                                              Profile Name : ir829-2LTE
Auth Keys:           aW94MjpjaXNjbw==                         Host IP: 91.168.141.225
                                                              Host Port: 49166
                                                              Auth Keys: aW94OmNpc2Nv
Auth Token:            f5e4189b-6806-4405-b2cd-3f15e57ff8de   Auth Token:
                                                              Api Prefix: /iox/api/v2/hosting/
                                                              URL Scheme: https
Api Prefix:            /iox/api/v2/hosting/                   RSA Key:
                                                              Certificate:
                                                              Profile Name : cgr2
                                                              Host IP: 91.168.141.225
URL Scheme:            https                                  Host Port: 49163
                                                              Auth Keys: Y2lzY286Y2lzY28=
                                                              Auth Token: 1ffcd0c4-f229-457e-8fe7-2c96a963f16b
RSA Key:                                                      Api Prefix: /iox/api/v2/hosting/
                                                              URL Scheme: https
                                                              Profile Name : ic3K-ipv6
Certificate:                                                  Host IP: 2a01:e0a:223:7870:2b8:b3ff:fe80:600
                                                              Host Port: 8443
FHADJ-M-546P:~ fhadj$                                         Auth Keys: ZGV2ZWxvcGVyOkY0eWM0bDE5NjQ=
                                                              Auth Token: c2c67ddd-628a-4729-80c9-32639c88ccb2
                                                              Api Prefix: /iox/api/v2/hosting/
                                                              URL Scheme: https
   © 2019 Cisco and/or its affiliates. All rights reserved.   RSA Key:
                                                              Certificate:
ioxclient : Gestion des applications
 FHADJ-M-546P:~ fhadj$ ioxclient application list
 Currently active profile : ir809
 Command Name: application-list
 Saving current configuration
 List of installed App :
   1. mqtt                           --->               RUNNING
   2. gps_gmm1
   3. iperf
                                     --->
                                     --->
                                                        RUNNING
                                                        RUNNING
                                                                  Docker container
 FHADJ-M-546P:~ fhadj$ ioxclient pr a ic3K-ipv6
 Active Profile : ir809
 Activating Profile ic3K-ipv6
 Saving current configuration
 FHADJ-M-546P:~ fhadj$
 FHADJ-M-546P:~ fhadj$ ioxclient app li
 Currently active profile : ic3K-ipv6
 Command Name: application-list
 Saving current configuration
 List of installed App :
   1. win10                          --->               RUNNING   Win10 VM
   2. iperf                          --->               RUNNING
   3. MQTT
   4. nodeJs
                                     --->
                                     --->
                                                        RUNNING
                                                        RUNNING
                                                                  Docker container
 FHADJ-M-546P:~                      fhadj$
© 2019 Cisco and/or its affiliates. All rights reserved.
IOxclient : Gestion des applications

     FHADJ-M-546P:~ fhadj$ ioxclient pr s
     Active Profile : ic3K-ipv6
     Profile Name : ic3K-ipv6
     Host IP: 2a01:e0a:223:7870:2b8:b3ff:fe80:600
     Host Port: 8443
     Auth Keys: ZGV2ZWxvcGVyOkY0eWM0bDE5NjQ=
     Auth Token: 85c3750a-8fb4-4882-be83-4d63b4ba11b1
     Api Prefix: /iox/api/v2/hosting/
     URL Scheme: https
     RSA Key:
     Certificate:

© 2019 Cisco and/or its affiliates. All rights reserved.
IOx Local Manager
 ▪       Application graphique embarquée qui permet de :
         - gérer le cycle de vie de l’application [install, activate, deactivate, uninstall, start, stop, upgrade]

         - déboguer l’application [view and manage application logs]

         - déboguer les services fournis par IOx

         - gérer les cartriges utilisés pour les applications en PaaS

         - gérer la plateforme IOx [view platform information, health, platform logs, techsupport snapshots, network
       information etc.,]

IR829#conf term
Enter configuration commands, one per line. End with CNTL/Z.
IR829(config)# username iox privilege 15 password 0 cisco

https://IP(v4/v6 address):8443
© 2019 Cisco and/or its affiliates. All rights reserved.
IOx Local Manager

© 2019 Cisco and/or its affiliates. All rights reserved.
IOx Local Manager

© 2019 Cisco and/or its affiliates. All rights reserved.
IOx
Management

© 2019 Cisco and/or its affiliates. All rights reserved.
Solutions de gestion IOx
                                                                                      Cisco IoT Field    Cisco Kinetics GMM
                                                                                      Network Director

                                                                            OT                                                    Cloud

                                                                         Extended
                                                           On Premise
                                                                         Enterprise                                               Device

                                                                                      Cisco DNA Center        CCP Express

                                                                        Développeur

© 2019 Cisco and/or its affiliates. All rights reserved.
                                                                                         FOG Director             Local Manager
Fog Director

© 2019 Cisco and/or its affiliates. All rights reserved.
Installation d’application directement à partir de Dockerhub

© 2019 Cisco and/or its affiliates. All rights reserved.
Fog Director

© 2019 Cisco and/or its affiliates. All rights reserved.
Qu’est-ce qui ne fait pas partie
                                                           d’IOX ?
                                                           A.   ioxclient
 Sondage Q2                                                B.   CAF
                                                           C.   Docker
                                                           D.   Local Manager

© 2019 Cisco and/or its affiliates. All rights reserved
                                               reserved.
IOx
Evolution

© 2019 Cisco and/or its affiliates. All rights reserved.
Demandes des Utilisateurs

                              Développeurs                             Opérateurs
                          ‘…Vitesse et simplicité’            ‘…Facile à installer et à maintenir’
   ‘…développé sur une plateforme robuste et               ‘…les applications doivent être simples à
                  évolutive’                                     deployer dans n’importe quel
                                                                       environnement’
 ‘… outils ouverts et basés sur des standards’
                                                                  ‘…Surveillance et Analyse’
             ‘…Stockage pour mes applications
                     containérisées’                             ‘…Disponibilité et Sécurité’
© 2019 Cisco and/or its affiliates. All rights reserved.
Workflow du Développeur à l’Opérateur
 Flexible, standard, et optimisé pour de l’IOT Edge
                            Outil de développement IOx                                            Outils de gestion IOx
                                             App dans tous les langages                           DNA-C   FND      GMM
                                             (Windows ou Linux based)
                                                                                   IOx App

                                             .OVA VM

Développeur                                  Docker containers                                                             Opérateur

                                                                          Optimisé pour l’ IoT Edge. Docker Engine natif

 Assets
 Distants

 © 2019 Cisco and/or its affiliates. All rights reserved.
Nouvelle Stratégie Cisco IOx

Best In Class Developer                                     Optimisé pour le Portfolio            Eco-système
                                                              hardware de Cisco
• Améliore l’expérience du                                    •   Nouvelles Plateformes :   • Programme de certification des
  développeur                                                         IR1101, IE 3400,        partenaires IOx (IVT)
     • Docker Developer Workflow                                      IW6300, ESR6300,
                                                                      ESS3300               • Labs IOx sur Devnet
• Améliore le monitoring de la santé                                                          (https://developer.cisco.com/ )
  des applications                                            • Architecture CPU
      • App Health Monitoring                                       • ARM, X86

 © 2019 Cisco and/or its affiliates. All rights reserved.
Améliorer l’expérience IOx des développeurs
          Phase 1:                                                Phase 2:                      Phase 3:                          Phase 4:
Découvrir & Explorer IOx                                        Expérimenter IOx         Phase de Développement           Validation des applications
                                                                                                                                et Certification

Feedback:                                                   Feedback:                    Feedback:                        Feedback:
• Documentation pas toujours                                • Pas de simulateur          • CLI trop orienté Cisco         • Pas d’outils pour la
  facile à trouver                                          • Temps d’acquisition de     • Outils de dev non standard       validation et la certification
• Pas toujours très clair                                     hardware Cisco trop long   • Pas d’outils de profiling et     des Applications
• Pas d’information spécifique                                                             de test standard
  aux plateformes

             Action:                                                Action:                       Action:                           Action:
        Cisco DevNet                                             Cisco DevNet                Docker Dev Tools                     IVT Program

• Pages DevNet re désignées                                 • Learning Labs              • Outils de dev Docker           • Programme pour la
• Prise en main par étapes                                  • Sand Box dans DevNet       • Outils de profiling Docker       validation des partenaires
                                                                                                                            Cisco
     © 2019 Cisco and/or its affiliates. All rights reserved.
IVT Objectifs
du Programme

                                                            https://marketplace.cisco.com/home

Accélérer l’adoption des
applications développées
  par nos partenaires
 Augmenter la confiance                                     https://marketplace.cisco.com/catalog/solution/147567?pid=153291
       des clients dans
        l’utilisation des
applications développées
    par nos partenaires
 © 2019 Cisco and/or its affiliates. All rights reserved.
                                                            https://marketplace.cisco.com/catalog/solution/175137?pid=175150
•    Sur quel produit Cisco, IOx n’est
                                                                pas disponible ?
                                                           A.    IR829
 Sondage Q3                                                B.    IC3000
                                                           C.    IE3300
                                                           D.    IE3400

© 2019 Cisco and/or its affiliates. All rights reserved
                                               reserved.
Agenda

                    Démo : Déploiement d’un
                     broker MQTT
© 2019 Cisco and/or its affiliates. All rights reserved.
Demo

© 2019 Cisco and/or its affiliates. All rights reserved.
MQTT : Message Queuing Telemetry Transport
•   Définition : Bus de communication publish-subscribe basé sur le protocole TCP/IP et développé en 1999 par IBM pour
    fonctionner sur des liaisons à faible bande passante.

•   Message Broker : un server qui reçoit des messages venant des clients (Publishers) et qui les routent vers d’autres clients
    (Subscribers)
    •   Quelques serveurs
        •   ActiveMQ : http://activemq.apache.org/
        •   RabbitMQ : https://www.rabbitmq.com/
        •   Microsoft Azure IoT Hub utilise MQTT
        •   Open Source Mosquitto : https://mosquitto.org/
        •   Disponible dans le cloud : mqtt://mqtt.mydevices.com
        •   https://en.wikipedia.org/wiki/Comparison_of_MQTT_implementations

•   Publisher : un client qui publie des messages en mode Pub et en utilisant des « topic »
    •   Librairy
        •   Eclipse Paho : https://www.eclipse.or g/pa ho/
        •   HiveMQ MQTT Client : https://github.com/hivemq/hivemq-mqtt-client
    •   Applications : MQTTBox http://workswithweb.com/mqttbox.html , MQTT.fx https://mqttfx.jensd.de/
    MQTT-spy https://www.eclipse.org/paho/components/mqtt-spy/
            © 2019 Cisco and/or its affiliates. All rights reserved.
•   Subscriber : un client qui reçoit des messages MQTT en s’abonnant à un « topic » MQTT
MQTTbox

MQTTBox apps
Disponible pour Linux, Mac,
Web et Windows.

Lien pour téléchargement
http://workswithweb.com/html/mqttb
ox/downloads.html

  © 2019 Cisco and/or its affiliates. All rights reserved.
Docker

     • Docker est une plateforme de conteneurisation bien connue et elle est de plus en plus
         adoptée par les développeurs et les administrateurs. Nous introduisons la possibilité
         d'utiliser l'outillage et l'écosystème Docker pour développer des applications pour IOx.
         Cela nous aide à tirer parti de la popularité de l'écosystème Docker.
     • La plupart des développeurs sont habitués à utiliser les outils Docker pour créer des
         images Docker.
     • Le hub Docker héberge diverses images de conteneur, dont certaines très minimalistes
         et adaptées aux devices de passerelle IoT. (ex. alpine, busybox etc.,)
     • Les images de base de Docker sont également prises en charge par des référentiels
         spécifiques à la distribution, aidant les développeurs à obtenir facilement les
         bibliothèques et les fichiers binaires nécessaires à leur application sans avoir à se
         soucier de les compiler à partir des sources et de résoudre les dépendances (ex. apk
         add nodejs)
     • Docker et ses outils d’écosystème sont bien documentés.

© 2019 Cisco and/or its affiliates. All rights reserved.
Démo Setup                                                                                        Docker
                                                                         NodeJs iPerf MQQT

                                                                             .3    .4    .5

                                                                                  192.168.200.2
                                                                                                   Linux
                                                                                                           IR809
                                                                            Internal G2 192.168.200.1      IR829
                                                                                                           CGR1000
                                                                                                           IR1101
                                                                                 G0
                                                                           192.168.1.1

                                                           192.168.1.2

                           Fhadj laptop

© 2019 Cisco and/or its affiliates. All rights reserved.
Ne pas oublier les règles NAT dans le router
!
                                                                                                              http for Iox Local manager
ip   nat     inside          source list NAT_ACL interface GigabitEthernet0 overload
ip   nat     inside          source static tcp 192.168.200.2 8443 interface GigabitEthernet0 8443             ssh console access
ip   nat     inside          source static tcp 192.168.200.2 22 interface GigabitEthernet0 2222
ip   nat     inside          source static tcp 192.168.200.4 8000 interface GigabitEthernet0 8000             http for NodeJs
ip   nat     inside          source static tcp 192.168.200.3 5001 interface GigabitEthernet0 5001
ip   nat     inside          source static tcp 192.168.200.5 1883 interface GigabitEthernet0 1883             Iperf
ip   ssh     server          algorithm encryption aes128-ctr aes192-ctr aes256-ctr                            MQTT
ip   ssh     client          algorithm encryption aes128-ctr aes192-ctr aes256-ctr
!

ir809#sh ip nat trans
Pro Inside global                                Inside local         Outside local       Outside global
tcp 192.168.1.1:2222                             192.168.200.2:22     ---                 ---
tcp 192.168.1.1:8443                             192.168.200.2:8443   ---                 ---
tcp 192.168.1.1:5001                             192.168.200.3:5001   ---                 ---
tcp 192.168.1.1:8000                             192.168.200.4:8000   ---                 ---
tcp 192.168.1.1:1883                             192.168.200.5:1883   192.168.1.2:64733   192.168.1.2:64733
tcp 192.168.1.1:1883                             192.168.200.5:1883   ---                 ---

 © 2019 Cisco and/or its affiliates. All rights reserved.
La principale différence entre l'utilisation de IP NAT
 Logique des règles NAT                                                       Outside Source list command (NAT dynamique) et de IP
                                                                              NAT Outside Source static command (NAT statique)
                                                                              réside dans le fait qu'il n'y a pas d'entrées dans la table
                                                                              de traduction tant que le routeur (configuré pour NAT) n'a
Command                  A ction                                              pas vérifié la traduction des critères du paquet.
IP NAT                   Traduit la source des paquets IP qui voyagent de
                                                                              Pour cette raison, les paquets doivent provenir du réseau
Outside                  l'extérieur vers l'intérieur
source list                                                                   extérieur avant que les paquets du réseau intérieur ne
                         Traduit la destination des paquets IP qui voyagent   puissent communiquer avec le routeur.
                         de l'intérieur vers l'extérieur
                                                                              Il y a deux choses importantes à noter dans cet exemple:
IP NAT Inside            Traduit la source des paquets IP qui voyagent de     ▪ Tout d'abord, lorsque le paquet voyage de l'extérieur
source list              l'intérieur vers l'extérieur
                                                                                vers l'intérieur, la traduction est effectuée en premier,
                         Traduit la destination des paquets IP qui voyagent     puis la table de routage est vérifiée pour la destination.
                         de l'extérieur vers l'intérieur                        Tandis que, lorsque le paquet voyage de l'intérieur vers
                                                                                l'extérieur, la table de routage est d'abord vérifiée pour
                                                                                la destination, puis la traduction est effectuée.

                                                                              ▪ Deuxièmement, il est important de noter quelle partie
                                                                                du paquet IP est traduite lors de l'utilisation de chacune
                                                                                des commandes ci-contre.

https://www.cisco.com/c/en/us/support/docs/ip/network-address-translation-nat/13770-1.html
 © 2019 Cisco and/or its affiliates. All rights reserved.
NAT modifications
    En raison de l’allocation dynamique des adresses aux conteneurs Docker, il est préférable
    de configurer l’allocation DHCP statique pour éviter les modifications des règles NAT.
!
ip dhcp pool NodeJS
  host 192.168.200.10 255.255.255.0
  client-identifier 0152.54dd.3ff1.10
  client-name NodeJS
!
ip dhcp pool iperf
  host 192.168.200.11 255.255.255.0
  client-identifier 0152.54dd.0805.84
  client-name iperf
!
ip dhcp pool mqtt
  host 192.168.200.12 255.255.255.0
  client-identifier 0152.54dd.4d77.8f
  client-name mqtt
!
Dont forget to add 01 before the client-identifier client-identifier 0152.54dd.4d77.8f or use show ip dhcp binding

                                                    ir829#sh ip dhcp b
                                                    Bindings from all pools not associated with VRF:
                                                    IP address     Client-ID/        Lease expiration   Type
                                                               Hardware address/
                                                               User name
    © 2019   Cisco and/or its affiliates. All rights192.168.200.12
                                                     reserved.         0152.54dd.4d77.8f Infinite          Manual
Vérification pour la configuration DHCP Statique
                                             Configuration                                                      Debug ip dhcp server events
ip dhcp pool iperf
                                                                                      *Apr   2 16:39:27.333: DHCPD: Sending notification of DISCOVER:
 host 192.168.200.11 255.255.255.0
 client-identifier 0152.54dd.a43b.20                                                  *Apr   2 16:39:27.333:    DHCPD: htype 1 chaddr 5254.dda4.3b20
 client-name iperf
                                                                                      *Apr   2 16:39:27.333:    DHCPD: remote id 020a0000c0a8c80112000000
IR800#sh ip dhcp b                                                                    *Apr   2 16:39:27.333:    DHCPD: circuit id 00000000
Bindings from all pools not associated with VRF:
IP address          Client-ID/              Lease expiration        Type              *Apr   2 16:39:27.333: DHCPD: Seeing if there is an internally specified pool
                    Hardware address/
                                                                                      class:
                    User name
192.168.2.10        0138.c986.35f3.17       Infinite                Manual            *Apr   2 16:39:27.333:    DHCPD: htype 1 chaddr 5254.dda4.3b20
192.168.200.10      0152.54dd.645c.43       Infinite                Manual
192.168.200.11      0152.54dd.a43b.20       Infinite                Manual            *Apr   2 16:39:27.333:    DHCPD: remote id 020a0000c0a8c80112000000
192.168.200.13      0152.54dd.cf7f.b7       Infinite                Manual
                                                                                      *Apr   2 16:39:27.333:    DHCPD: circuit id 00000000
IR800#sh run | b ip http secure-server
no ip http secure-server                                                              *Apr   2 16:39:27.333: DHCPD: Found Manual/Static binding
!
ip nat inside source list NAT_ACL interface GigabitEthernet0 overload                 *Apr   2 16:39:27.345: DHCPD: Sending notification of ASSIGNMENT:
ip nat inside source static tcp 192.168.200.10 8000 interface GigabitEthernet0 8000   *Apr   2 16:39:27.345:   DHCPD: address 192.168.200.11 mask 255.255.255.0
ip nat inside source static tcp 192.168.200.11 5001 interface GigabitEthernet0 5001
ip nat inside source static tcp 192.168.200.3 8443 interface GigabitEthernet0 8443    *Apr   2 16:39:27.345:    DHCPD: htype 1 chaddr 5254.dda4.3b20
ip nat inside source static tcp 192.168.200.3 22 interface GigabitEthernet0 2222
                                                                                      *Apr   2 16:39:27.345:    DHCPD: lease time remaining (secs) = 4294967295
ip nat inside source static tcp 192.168.200.13 1883 192.168.2.1 1883 extendable
ip nat inside source static tcp 192.168.200.13 1883 192.168.100.1 1883 extendable     *Apr   2 16:39:56.093: DHCPD: checking for expired leases.

                                          Local Manager                                                             Application testing

                                                                                               FHADJ-M-K149:src fhadj$ ./iperf -c 192.168.2.1
                                                                                               ------------------------------------------------------------
                                                                                               Client connecting to 192.168.2.1, TCP port 5001
                                                                                               TCP window size: 129 KByte (default)
                                                                                               ------------------------------------------------------------
                                                                                               [ 4] local 192.168.2.10 port 60414 connected with 192.168.2.1 port 5001
                                                                                               [ ID] Interval  Transfer Bandwidth
                                                                                               [ 4] 0.0-10.0 sec 125 MBytes 105 Mbits/sec
       © 2019 Cisco and/or its affiliates. All rights reserved.                                FHADJ-M-K149:src fhadj$
Sinon il y a IPv6…DHCPv6 voire SLAAC
                                                                       IPv4                                                                                              IPv6 Dhcp
                                                                                                                                                    !
!                                                                                                                                                   ipv 6 unicast-routing                     IPv6 routing
ip dhcp excluded-address 192.168.200.1
                                                                   !                                                                                ipv 6 dhcp pool GuestOS
ip dhcp excluded-address 192.168.1.1                                                                                                                 address pref ix 2001:1::/64
                                                                   interface GigabitEthernet1                                                       !
ip dhcp excluded-address 192.168.100.1
!                                                                    ip address dhcp                                                                interf ace GigabitEthernet0
ip dhcp pool GuestOS                                                                                                                                 duplex auto
 network 192.168.200.0 255.255.255.0                                 ip nat outside                                                                  speed auto
 def ault-router 192.168.200.1                                                                                                                       ipv 6 address 2001:2::1/64
                                                                     ip virtual-reassembly in                                                        ipv 6 enable                                  IPv6
 dns-serv er 8.8.8.8
                                                                                                                                                    !                                         addressing
!                                                                  !
ip dhcp pool Users                                                                                                                                  interf ace GigabitEthernet2
 network 192.168.1.0 255.255.255.0                                 interface GigabitEthernet2                                                        duplex auto
 dns-serv er 8.8.8.8                                                                                                                                 speed auto
                                             DHCP                                                                                                    ipv 6 address 2001:1::1/64
!                                                                    ip address 192.168.200.1 255.255.255.0
                                                +                                                                                                    ipv 6 enable
ip dhcp pool Users-fixe
                                      IPv4 addressage                ip nat inside                                                                   ipv 6 nd pref ix 2001:1::/64 300 300 no-autoconfig IPv6
 host 192.168.1.10 255.255.255.0
 client-identifier 0138.c986.35f3.17                                                                                                                 ipv 6 nd managed-config-flag                       dhcp
                                                                     ip virtual-reassembly in                                                        ipv 6 dhcp server GuestOS
 client-name f hadj-laptop
!                                                                  !                                                                                !
ip dhcp pool iperf
 host 192.168.200.14 255.255.255.0                                                                                                                                      IPv6 SLAAC
 client-identifier 313a.303a.3532.3a35.343a.6464.3a63.353a.6534.3a38.63
                                                               !
 client-name iperf                                                                                                                                  !
                                                               !                                                                                                                          IPv6 routing
!                                                                                                                                                   ipv 6 unicast-routing
                                                               ip nat inside source list NAT_ACL interface GigabitEthernet0 overload
ip dhcp pool iox                                                                                                                                    !
                                                               ip nat inside source static tcp 192.168.200.8 8443 interface GigabitEthernet0 8443   interf ace GigabitEthernet0
 host 192.168.200.2 255.255.255.0
 client-identifier 0102.0001.908b.05                           ip nat inside source static tcp 192.168.200.8 22 interface GigabitEthernet0 2222      duplex auto
 client-name iox                                               ip nat inside source static tcp 192.168.200.2 1883 interface GigabitEthernet0 1883    speed auto
!                                                              !                                                                                     ipv 6 address 2001:2::1/64
ip dhcp pool mqtt                                                                                                                                    ipv 6 enable                            IPv6
                                                               ip route 0.0.0.0 0.0.0.0 GigabitEthernet0
 host 192.168.200.13 255.255.255.0                                                                                         NAT                      !                                     addressing
                                                               !                                                                                    interf ace GigabitEthernet2
 client-identifier 313a.303a.3532.3a35.343a.6464.3a33.353a.3664.3a64.33
 client-name mqtt                                              ip access-list standard NAT_ACL                                                       duplex auto
!                                                               permit 192.168.200.0 0.0.0.255                                                       speed auto
!                                                              !                                                                                     ipv 6 address 2001:1::1/64
         © 2019 Cisco and/or its affiliates. All rights reserved.                                                                                    ipv 6 enable
                                                                                                                                                    !
Utilisation de MQTTBox
                                                           1xPublisher and 2xSubscribers

© 2019 Cisco and/or its affiliates. All rights reserved.
Configuration MQTTBox

3 informations : nom du client ( au choix) , adresse du brocker , transport
© 2019 Cisco and/or its affiliates. All rights reserved.
Création d un application IOx en 7 étapes
 1.           Téléchargement à partir de docker-hub
 2.           Téléchargement des fichiers dockerfile et docker-entrypoint.sh
 3.           Construction du container docker (commande docker build)
 4.           Construction du package.yaml
 5.           Construction du package.tar (commande ioxclient docker package)
 6.           Installation/activation/démarrage de l’application (ioxclient/LM/FD)
 7.           Ajout de la règle NAT dans IOS

© 2019 Cisco and/or its affiliates. All rights reserved.
Création du répertoire MQTT
 /Users/fhadj/Documents/8_Tests/IOX/ioxclient/64bits/ioxclient_1.8.0.1_darwin_amd64/mqtt

 FHADJ-M-546P:mqtt fhadj$ ls -al

 total 6208

 drwxr-xr-x                     10 fhadj                   staff   320   3 nov 02:05 .

 drwxr-xr-x@ 18 fhadj                                      staff   576   2 nov 22:21 ..

© 2019 Cisco and/or its affiliates. All rights reserved.
1. Récupération de l’image docker sur https://hub.docker.com
  FHADJ-M-K149:MQTT fhadj$ docker pull eclipse-mosquitto
  Using default tag: latest
  latest: Pulling from library/eclipse-mosquitto
  0a8490d0dfd3: Pull complete
  e75f87f0f26d: Pull complete
  68e1df508734: Pull complete
  Digest: sha256:9fa2640d6c9c4750a3458307d1ec87651d2018511a5daf4810294e5e7d5dceff
  Status: Downloaded newer image for eclipse-mosquitto:latest

  FHADJ-M-K149:MQTT fhadj$ ls -al
  total 16
  drwxr-xr-x                    3 fhadj              staff    102 23 jan 23:25 .
  drwxr-xr-x                  17 fhadj               staff    578 23 jan 22:27 ..
  -rw-r--r--@                   1 fhadj              staff   6148 23 jan 23:25 .DS_Store

© 2019 Cisco and/or its affiliates. All rights reserved.
2. Téléchargement du dockerfile et du docker-entrypoint.sh
https://github.com/eclipse/mosquitto/blob/53616be0e296f6186f52c791e241c76d53380078/docker/1.4.10/Dockerfile

FROM alpine:3.5
MAINTAINER David Audet 

LABEL Description="Eclipse Mosquitto MQTT Broker"

RUN apk --no-cache add mosquitto=1.4.10-r2 && \
    mkdir -p /mosquitto/config /mosquitto/data /mosquitto/log && \
    cp /etc/mosquitto/mosquitto.conf /mosquitto/config && \
    chown -R mosquitto:mosquitto /mosquitto

COPY docker-entrypoint.sh /
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["/usr/sbin/mosquitto", "-c", "/mosquitto/config/mosquitto.conf"]

 /Users/fhadj/Documents/8_Tests/IOX/ioxclient/64bits/ioxclient_1.8.0.1_darwin_amd64/mqtt
 FHADJ-M-546P:mqtt fhadj$ ls -al
 total 6208
 drwxr-xr-x 10 fhadj staff        320 3 nov 02:05 .
 drwxr-xr-x@ 18 fhadj staff       576 2 nov 22:21 ..
 -rwxrwxrwx   1 fhadj staff        30 2 nov 22:24 docker-entrypoint.sh
 -rw-r--r--   1 fhadj staff       467 2 nov 22:22 dockerfile
© 2019 Cisco and/or its affiliates. All rights reserved.
3. Création du container docker
FHADJ-M-K149:MQTT fhadj$ docker build -t eclipse-mosquitto .
Sending build context to Docker daemon 10.24 kB
Step 1/7 : FROM alpine:3.5
 ---> 88e169ea8f46
Step 2/7 : MAINTAINER David Audet 
 ---> Using cache
 ---> c4240308872c
Step 3/7 : LABEL Description "Eclipse Mosquitto MQTT Broker"
 ---> Using cache
 ---> b9683015c5d9
Step 4/7 : RUN apk --no-cache add mosquitto=1.4.10-r2 &&     mkdir -p /mosquitto/config /mosquitto/data /mosquitto/log &&   cp
/etc/mosquitto/mosquitto.conf /mosquitto/config &&     chown -R mosquitto:mosquitto /mosquitto
 ---> Using cache
 ---> 7d30cb04180e
Step 5/7 : COPY docker-entrypoint.sh /
 ---> edf5c02d0bbd
Removing intermediate container d134d584a0ca
Step 6/7 : ENTRYPOINT /docker-entrypoint.sh
 ---> Running in 58d47d4b1f8e
 ---> 3d146dedfa7a
Removing intermediate container 58d47d4b1f8e
Step 7/7 : CMD /usr/sbin/mosquitto -c /mosquitto/config/mosquitto.conf
 ---> Running in 6c7c79eb4a21
 ---> 9e212da59e2f
Removing intermediate container 6c7c79eb4a21
Successfully built 9e212da59e2f

/Users/fhadj/Documents/8_Tests/IOX/ioxclient/64bits/ioxclient_1.8.0.1_darwin_amd64/mqtt
FHADJ-M-546P:mqtt fhadj$ ls -al
total 6208
drwxr-xr-x 10 fhadj staff        320 3 nov 02:05 .
drwxr-xr-x@ 18 fhadj staff       576 2 nov 22:21 ..
-rw-r--r--   1 fhadj staff        58 3 nov 00:22 .package.metadata
-rwxrwxrwx   1 fhadj staff        30 2 nov 22:24 docker-entrypoint.sh
-rw-r--r--   1 fhadj staff       467 2 nov 22:22 dockerfile

FHADJ-M-546P:mqtt3 fhadj$ docker images
REPOSITORY                      TAG                          IMAGE ID       CREATED        SIZE
  © 2019 Cisco and/or its affiliates.
eclipse-mosquitto               latestAll rights reserved.   5be6a9e5a8da   5 weeks ago    5.75MB
alpine                          3.9                          5cb3aa00f899   8 months ago   5.53MB
alpine                          3.5                          f80194ae2e0c   9 months ago   4MB
4. Création du Package.yaml
/Users/fhadj/Documents/8_Tests/IOX/ioxclient/64bits/ioxclient_1.8.0.1_darwin_amd64/mqtt

FHADJ-M-546P:mqtt fhadj$ ls -al
                                                                                                     descriptor-schema-ver sion: "2.2"
total 6208
                                                                                                     info:
drwxr-xr-x           10 fhadj            staff             320    3 nov 02:05 .                        name: MQTT Message Brockerp
                                                                                                       description: "Simple Docker Style app that runs a mqtt server"
drwxr-xr-x@ 18 fhadj                     staff             576    2 nov 22:21 ..                       version: "1.0"
                                                                                                       author-link: "http://www.cisco.com"
-rw-r--r--@            1 fhadj           staff             6148   3 nov 00:54 .DS_Store                author-name: "Cisco Systems"

-rw-r--r--             1 fhadj           staff              58    3 nov 00:22 .package.metadata      app:
                                                                                                      # Indicate app type (vm, paas, lxc etc.,)
-rwxrwxrwx             1 fhadj           staff              30    2 nov 22:24 docker-entrypoint.sh    cpuarch: "x86_64"
                                                                                                      type: docker
-rw-r--r--             1 fhadj           staff             467    2 nov 22:22 dockerfile              resources:
                                                                                                        profile: c1.small
-rw-r--r--@            1 fhadj           staff             531    3 nov 00:22 package.yaml              network:
                                                                                                         -
                                                                                                           interface-name: eth0
                                                                                                           ports:
                                                                                                               tcp: [1883]

                                                                                                     # Specify runtime and startup
                                                                                                      startup:
                                                                                                        rootfs: rootfs.tar
                                                                                                        target: ["/usr/sbin/mosquitto"]

© 2019 Cisco and/or its affiliates. All rights reserved.
5. Création de l’image/package IOx
FHADJ-M-546P:mqtt2 fhadj$ ioxclient docker package eclipse-mosquitto:latest .
Currently active profile : default
Command Name: docker-package
Using the package descriptor file in the project dir
Validating descriptor file package.yaml with package schema definitions
Parsing descriptor file..
Found schema version 2.2
Loading schema file for version 2.2
Validating package descriptor file..
File package.yaml is valid under schema version 2.2
Generating IOx package of type docker with rootfs consisting of layers
Removing emulation layers in docker rootfs, if any
The docker image is better left in it's pristine state
Replacing symbolically linked layers in docker rootfs, if any
No symbolically linked layers found in rootfs. No changes made in rootfs
Parsing Package Metadata file : /Users/fhadj/Documents/8_Tests/IOX/ioxclient/64bits/ioxclient_1.8.0.1_darwin_amd64/mqtt/mqtt2/.package.metadata
Updated package metadata file : /Users/fhadj/Documents/8_Tests/IOX/ioxclient/64bits/ioxclient_1.8.0.1_darwin_amd64/mqtt/mqtt2/.package.metadata
No rsa key and/or certificate files to sign the package
Checking if package descriptor file is present..
Skipping descriptor schema validation..
Created Staging directory at : /var/folders/hx/cgnwdd296cl55299mq6x5ghr0000gn/T/167215132
Copying contents to staging directory
Creating an inner envelope for application artifacts
Including rootfs.tar
Generated /var/folders/hx/cgnwdd296cl55299mq6x5ghr0000gn/T/167215132/artifacts.tar.gz
Calculating SHA1 checksum for package contents..
Parsing Package Metadata file : /private/var/folders/hx/cgnwdd296cl55299mq6x5ghr0000gn/T/167215132/.package.metadata
Updated package metadata file : /private/var/folders/hx/cgnwdd296cl55299mq6x5ghr0000gn/T/167215132/.package.metadata
Root Directory : /private/var/folders/hx/cgnwdd296cl55299mq6x5ghr0000gn/T/167215132
Output file: /var/folders/hx/cgnwdd296cl55299mq6x5ghr0000gn/T/260379851
Path: .package.metadata
SHA1 : 3745384a4054163fbf1c6fdc847bd170b4ed4208
Path: artifacts.tar.gz
SHA1 : 2a267e631e7f36d467f58a1b0323e3cae6af8a54
Path: envelope_package.tar.gz
SHA1 : ed9ea3155b4e08dbc220d82f8ebb9333439a95a4
Path: package.yaml
SHA1 : e386f91a2e7e7a2b6815a51a60a24ea407cf0997
Generated package manifest at package.mf
Generating IOxCisco
       © 2019   Package..
                    and/or its affiliates. All rights reserved.
Package docker image eclipse-mosquitto:latest at /Users/fhadj/Documents/8_Tests/IOX/ioxclient/64bits/ioxclient_1.8.0.1_darwin_amd64/mqtt/mqtt2/package.tar
Visualisation du package.tar

FHADJ-M-546P:mqtt fhadj$ ls -al
total 6208
drwxr-xr-x 11 fhadj staff        352                       3   nov   02:20   .
drwxr-xr-x@ 18 fhadj staff       576                       2   nov   22:21   ..
-rw-r--r--@ 1 fhadj staff       6148                       3   nov   00:54   .DS_Store
-rw-r--r--   1 fhadj staff        58                       3   nov   00:22   .package.metadata
-rwxrwxrwx   1 fhadj staff        30                       2   nov   22:24   docker-entrypoint.sh
-rw-r--r--@ 1 fhadj staff        467                       2   nov   22:22   dockerfile
-rw-r--r--   1 fhadj staff 2926592                         3   nov   00:22   package.tar
-rw-r--r--@ 1 fhadj staff        531                       3   nov   00:22   package.yaml

© 2019 Cisco and/or its affiliates. All rights reserved.
6. Installation/activation/démarrage de l’App MQTT

© 2019 Cisco and/or its affiliates. All rights reserved.
© 2019 Cisco and/or its affiliates. All rights reserved.
7. Ajouter la règle NAT dans IOS
!
ip nat inside source list NAT_ACL interface GigabitEthernet0 overload
ip nat inside source static tcp 192.168.200.3 8443 interface GigabitEthernet0 8443
ip nat inside source static tcp 192.168.200.3 22 interface GigabitEthernet0 2222
ip nat inside source static tcp 192.168.200.4 1883 interface GigabitEthernet0 1883
ip route 0.0.0.0 0.0.0.0 GigabitEthernet0
ip route 0.0.0.0 0.0.0.0 Cellular0
ip scp server enable
!
ip access-list standard NAT_ACL
  permit 192.168.200.0 0.0.0.255
!
interface GigabitEthernet0
  ip address 192.168.2.1 255.255.255.0
  ip nat outside
  ip virtual-reassembly in
  duplex auto
  speed auto
!
interface GigabitEthernet2
  ip address 192.168.200.1 255.255.255.0
  ip nat inside
  ip virtual-reassembly in
  duplex auto
  speed auto
!© 2019 Cisco and/or its affiliates. All rights reserved.
Tests du brocker MQTT avec MQTTBox
                                                           1xPublisher and 2xSubscribers

© 2019 Cisco and/or its affiliates. All rights reserved.
Configuration MQTTBox

3 informations : nom du client ( au choix) , adresse du brocker , transport
© 2019 Cisco and/or its affiliates. All rights reserved.
Troubleshooting

© 2019 Cisco and/or its affiliates. All rights reserved.
Se connecter au container en CLI création de la clef publique
                                                                                                       -----BEGIN RSA PRIVATE KEY-----

                                                                                                       MIICXQIBAAKBgQDJY33clmk2m3/CjFwxcHhg9Yt6Rrn14jlSYtZ5UViDbyhqNNe0

                                                                                                       09RTgdlCj3wYbdYzPV02uKnFDf0YgUlJC2V/EP/J4Zfmf7ZGmgWaa0zBaImK5vN4

                                                                                                       BOcknM0wQTGlkFEcc5nUVbqMnL8VGMclNsJpKFUxm1Z1qXQ1hMDeU5SGWwIDAQAB

                                                                                                       AoGAKrEZrFqCYV4jflWM8boa+sryz3AQ2ewkJK/pMXyqG+rDkYg0NhQ1zaIYMYED

                                                                                                       WJZoMyKOERyieLCXd8togsCUujOtdPsw96hanC33FpnAgylM4UMjfMvzcIzVsv33

                                                                                                       51XOSvaqwSMRjvPbIS+M/b5iXroDHbAn5ZKC8GKV5sL+kfECQQDwkaxAJl7N6sTk

                                                                                                       nw7QFGn2ZAcW+6s/mcQ6IWGqKggCnEq5AT8lXaESs9pBgNLb3niNu5/PdbEmmeOG

FHADJ-M-546P:mqtt fhadj$ ls -al                                                                        41s06w5TAkEA1k5yYXxi1eM68KfIhwXDJwoH0d7Z/i4+raAu2zpy3VWTodYAhtzf
total 6208
drwxr-xr-x 10 fhadj staff        320                          3   nov   02:53   .                      pX92tvOGmxYdAT0Xmt78OboTYxO3eLTW2QJBAIzj48uWLUPP0QxMEzLOIdjJcFWH
drwxr-xr-x@ 21 fhadj staff       672                          3   nov   03:01   ..
-rw-r--r--@ 1 fhadj staff       6148                          3   nov   02:53   .DS_Store              gx22gnPBBR/RietteV2sWz0Y/rKjXpmqRtO6EUSAs/Gebee7jMN89/egCj0CQQCm
-rw-r--r--   1 fhadj staff        58                          3   nov   00:22   .package.metadata
-rwxrwxrwx   1 fhadj staff        30                          2   nov   22:24   docker-entrypoint.sh   NuXD8oN9vOXj7V48Sx3XU5JJFn0hBaEbbReqdSTNwifk52Q1NW5IoBnlP+/wrTAF
-rw-r--r--@ 1 fhadj staff        467                          2   nov   22:22   dockerfile
-rw-------@ 1 fhadj staff        887                          3   nov   02:10   mqtt.pem               2+pI9hXOeCG9QHeWqTvRAkAV59buQQYdQyHx38oxtj1vkSRiF+jdUlKlUkxJyFPk
drwx------   7 fhadj staff       224                          3   nov   02:52   package
-rw-r--r--@ 1 fhadj staff 2926592                             3   nov   00:22   package.tar            O/fMomKo3Ppwpz6IG9nZr1Y7ZCgDbygJm6OmaUn21AjE
-rw-r--r--@ 1 fhadj staff        531                          3   nov   00:22   package.yaml
FHADJ-M-546P:mqtt fhadj$                                                                               -----END RSA PRIVATE KEY-----

                                                                                                       FHADJ-M-546P:mqtt fhadj$ chmod 600 mqtt.pe
   © 2019 Cisco and/or its affiliates. All rights reserved.
Vérification du fonctionnement de l’application
  FHADJ-M-546P:mqtt fhadj$ ssh -p 2222 -i mqtt.pem appconsole@192.168.2.1

  / # ps -af

  PID           USER                 TIME            COMMAND

           1 mosquitt                     0:13 /usr/sbin/mosquitto

       151 root                           0:00 /bin/sh

       152 root                           0:00 ps -af

  / #

  / # exit

  Connection to 192.168.2.1 closed.

  FHADJ-M-546P:mqtt fhadj$

 © 2019 Cisco and/or its affiliates. All rights reserved.
URLs

© 2019 Cisco and/or its affiliates. All rights reserved.
Documentation
 •   IOx
     •   https://developer.cisco.com/docs/iox/#!introduction-to-iox

 •   IOx Lab
     •   https://developer.cisco.com/docs/iox/#!introduction-to-iox

 •   SandBox
     •   https://developer.cisco.com/docs/iox/#!sandbox
 •   Communauté de support technique
     •   https://community.cisco.com/t5/cisco-iox-discussions/bd-p/4673j-disc-dev-iot-iox

 •   Support
     •   https://developer.cisco.com/site/support/
 •   Forum
     •   https://developer.cisco.com/docs/iox/#!troubleshooting-guide

 © 2019 Cisco and/or its affiliates. All rights reserved.
Documentation
 •   ioxclient
     •   https://developer.cisco.com/media/iox-dev-guide-11-28-16/ioxclient/ioxclient-reference/

 •   Fog Director installation and user guide
     •   https://www.cisco.com/c/en/us/td/docs/routers/access/800/software/guides/iox/fog-
         director/reference-guide/1-1/fog_director_ref_guide.html

 •   Fog Director API documentation
     •   https://developer.cisco.com/docs/iox/#!fog-director-api-documentation/cisco-fog-director-rest-api

 •   Cisco Marketplace
     •   https://marketplace.cisco.com/home

 © 2019 Cisco and/or its affiliates. All rights reserved.
Dissipez vos
doutes

                                                           Utilisez le panneau « Q&R » pour
                                                                  poser vos questions
© 2019 Cisco and/or its affiliates. All rights reserved
                                               reserved.
Cisco Community – Demandez-moi …
Cisco et le Edge Computing dans l’IOT et les Réseaux Industriels
Foire aux Questions
Jusqu’au 15 Nov. 2019

avec Fayçal Hadj
Événement public

                                                           Insert event banner

Suivez le lien
http://bit.ly/AMA-nov19

© 2019 Cisco and/or its affiliates. All rights reserved.
La communauté est disponible dans d’autres langues
 Si vous parlez anglais, espagnol, portugais, russe, chinois ou japonais, vous pouvez participer aussi
 dans les autres communautés Cisco.

                  Cisco Community
                      Anglais                                                     Сообщество Cisco
                                                                                       Russe

Comunidad de Cisco
    Espagnol

                                                                                  シスコ コミュニティ
                     Comunidade da Cisco                                             Japonais
                         Portugais                          思科服务支持社区
                                                              Chinois
 © 2019 Cisco and/or its affiliates. All rights reserved.
Nous vous invitons à nous suivre dans les réseaux
sociaux et à partager nos prochains événements

                        Cisco Community
                        ▪    Facebook/CiscoSupportCommunity
                        ▪    Twitter @cisco_support
                        ▪    YouTube ciscosupportchannel
                        ▪    LinkedIn Cisco Community
                             https://w ww.linkedin.com/show case/3544800/

                        ▪    Instagram ciscosupportcommunity
                             https://w ww.instagram.com/ciscosupportcommunity/

© 2019 Cisco and/or its affiliates. All rights reserved.
Votre avis nous
intéresse !

Veuillez remplir le sondage qui
apparaîtra sur votre écran à la fin
de cette présentation.
© 2019 Cisco and/or its affiliates. All rights reserved
                                               reserved.
Merci pour votre participation !

© 2019 Cisco and/or its affiliates. All rights reserved.
Vous pouvez aussi lire