AKS, ACS, Serverless et Rancher ...

AKS, ACS, Serverless et Rancher ...

Karim  October 30, 2017


La preview de Rancher 2.0 est disponible mettant à l'honneur Kubernetes =>


avec la possibilité de gérer des clusters Kubernetes depuis Rancher

Server. Depuis Outscale, je lance 3 instances CentOS dans lequel je vais

déporter le moteur Docker sur un volume séparé qui portera les

containers :


























Et mon dashboard est disponible :















Parallèlement avec l'annonce de la disponibilité des clusters

Kubernetes managés avec AKS (Azure Kubernetes Service), je lance en

ligne de commande très rapidement un cluster que je vais raccordé à

Rancher Server :

















et je procède au raccordement via un fichier de manifeste fourni par Rancher Server :












J'y ajoute également un autre cluster mais qui tourne lui dans ACS (Azure Container Service) mais que je dois gérer moi-même :












J'ai donc la visualisation des différents noeuds de clusters Kubernetes dans la console de Rancher Server :


















Je rajoute un cluster Kubernetes mais cette fois-çi local à Outscale :





















et je récupère via une console locale le client kubectl permettant de lancer des requètes dans ce cluster :





















Je peux monitorer le tout via Weave et son portail Weave Cloud :
























Et en complément, avec la preview de Kubernetes dans DCOS (Mesos/Marathon), je peux également le lier à Rancher :















La mécanique d'accès à ce lsuetr dans Kubernetes est assez particulière (mais on est encore en preview) :












Des architectures nouvelles autour de GraphQL et du stockage objet

avec Minio apparaissent et qui intègrent du serverless avec OpenFaaS par

exemple :














Je teste le déploiement d'un cluster Minio distribué avec des volumes persistants dans mon cluster Kubernetes dans Azure :












Via l'Ingress Controller, je récupère l'URL d'accès à mon serveur

Minio et je charge dans mon bucket le répertoire de mon chatbot FC :











Via MinFS, je crée un point de montage dans une instance et je peux

l'exposer avec Caddy (comme avec le blob store dans Azure Storage) :

















Je termine par la création (comme j'ai pu le faire plusieurs fois

auparavant) d'un cluster Mesos/Marathon via Rancher encore une fois en

repartant de 3 instances avec encore une fois des volumes dédiés aux

containers dans Outscale :











avec encore une fois un contrôle du cluster depuis un dashboard de Rancher Server :
























et depuis Marathon je peux lancer mes services test :


















via Traefik comme d'habitude :












Je peux déja tester une forme de Serverless via Chromeless qui

automatise les tests dans Chrome avec des fonctions à la demande :








Dernier test de Serverless avec Fission (vu précedemment) :












encore une fois dans le cluster Kubernetes dans Azure :












exemple avec création d'une fonction qui va interroger l'API publique de Marathon :












A suivre ! ...




Très cordialement,

---

https://s31.postimg.org/qsi9ip3l7/vcard.png


De : BENAHMED, Karim (DSI/MITECH)

Envoyé : lundi 23 octobre 2017 17:06

Objet : RE: Carte ESP8266, Mongoose OS et IoT Remote device management ... 

Bonjour,


Pour info !


http://telegra.ph/Test-IoT-Serverless-Physical-Web-IA-et-Chatbot-FC-10-23


Test: IoT, Serverless, Physical Web, IA et Chatbot FC ...

Karim   October 23, 2017





Bonjour,






C'est un peu la conclusion de tout ce chapitre autour du chatbot dans

le cloud avec ce petit test qui va utiliser localement une carte RPi3.





Je vais réutiliser la plateforme Resin.io pour gérer une potentielle

flotte d'objets connectés avec une forme d'intégration et déploiement

continus :











Je commence par installer Resin CLI pour dialoguer avec ResinOS :









qui contient un moteur Docker :















Je récupère l'image de ResinOS et je la flashe sur ma SDCard :









avec cette manip comme expliqué précedemment :












Avec les paramêtres réseau préconfigurés dans l'image, j'arrive à scanner ma carte localement :









Ma carte apparaît sur le dashboard de contrôle de Resin.io :












avec sa localisation :









Je commence par adapter le Dockerfile situé sur le dépôt git de la PWA du chatbot FC :









Et je pousse le tout vers le dépôt Git spécifique à mon compte dans la plateforme Resin.io :















Et je vois par les logs, la disponibilité de mon service via cette carte RPi3 :












Avec l'adresse IP de la carte, je peux déjà tester mon service :









et via l'endpoint en HTTPS fourni par la plateforme Resin.io, j'accède à ce service depuis Internet :












Via Resin CLI, je teste la connectivité vers ma carte :












Cet endpoint peut me servir à réaliser une appli Desktop multiplateforme via Nativefier et Electron :















J'en profite pour coupler ma carte RPi3 avec une carte ESP32

(beaucoup plus puissante que la carte ESP8266) qui peut me servir ici de

relais avec un serveur local pour un utilisateur connecté à proximité

par exemple :











Pour cela je vais utiliser MongooseOS comme plateforme :












Je paramêtre la section réseau pour permettre la connectivité sur mon réseau local de la carte ESP32 :









et je paramêtre un serveur web avec une page index.html en redirection vers le chatbot FC qui devient disponible :












Je peux également en profiter de manière alternative pour tester un

de mes beacons qui va propager via le protocole Eddystone l'URL d'un

endpoint pointant vers le chatbot FC (selon les principes du Physical

Web) comme exposé lors de la conférence OGP :

















Je pars donc d'un beacon Estimote :









que je paramêtre via la console cloud Estimote et une appli android locale :









Et j'y ajoute mon endpoint en short URL :















Je teste la présence de ce beacon avec ce signal du protocole Eddystone URL avec mon smartphone :









et j'ai bien la notification qui apparaît sur mon smartphone m'invitant à utiliser ce service du chatbot :












et je peux vérifier qu'il fonctionne bien sur mon smartphone :















De même, pour initier du serverless, je peux utiliser un webhook qui

va lier ce chatbot au sein de ma carte RPi3 vers l'API cognitive QnA

Maker en complément de Dialogflow (anciennement API.ai) :











On peut observer le score indiquant bien un processus d'apprentissage

lié à du Machine Learning en backend avec cet API cognitive :








Je vais comme le dernière fois utiliser des fonctions Azure Proxies

pour pointer vers cet API cognitive et ainsi recréer un nouveau webhook

dans Dialogflow :











et je substitue la valeur de l'API :












Je teste avec mon client Postman que cela répond bien :









avec encore le score affiché pour la fiabilité de la réponse apportée :









avec cette fois-çi un monitoring détaillé autour de l'utilisation ce ces fonctions proxies :












et preuve que le terme Serverless peut être en réalité un faux-ami,

il y a quand même de manière automatique un serveur utilisé pour émettre

cette fonction et l'exécuter (mais qui est sensé se supprimer après

usage ce celles-çi):








et les traces de l'exécution des fonctions à des fins de debugging :









Enfin pour terminer, dans le cadre de l'Open Container Initiative et des travaux de Docker autour de Moby :


















je teste son intégration dans le monde de l'IoT avec le projet Balena :









et que l'on devrait retrouver par défaut dans ResinOS :









Je repars d'une carte ARM 32 Bits avec l'installation de Balena dans Ubuntu 16.04 préinstallé :









Au préalable, je crée l'image locale de mon container de chatbot FC toujours avec Balena :












et mon image est disponible localement (je peux aussi l'envoyer vers un Docker Registry) :







et avec Caddy encore une fois et la liaison HTTPS automatisée via

Let's Encrypt, je créé un endpoint d'accès qui me permettra de

l'utiliser en PWA :



et cette PWA est consommable encore une fois (avec ce chatbot) :



C'est donc un test qui a permis de faire la liaison entre Cloud, IoT,

Physical Web, Fonctions à la demande (Serverless) et l'IA via ce

chatbot et les API cognitives ...


Merci de m'avoir lu encore une fois !!!




Report Page