J’en avais parlé dans un article précédent, Jelastic est un fournisseur de services cloud associant PaaS et CaaS dans un même package destiné aux hébergeurs, aux entreprises de télécommunication, aux entreprises et aux développeurs. Jelastic Cloud permet de créer en quelques clics des environnements de développement sur mesure avec des ressources totalement extensibles. Je pars du catalogue Jelastic Cloud Union pour selectionner un fournisseur en ligne pour la réalisation de mon test :
J’utilise ici le fournisseur Suisse Infomaniak avec ces caractéristiques :
Je peux alors créer un nouvel environnement :
Je profite de la possibilité offerte par la plateforme Jelastic de provisionner un cluster Kubernetes :
avec ce type de structure :
et ce type de cinématique :
A noter que Jelastic fournit le paquet JPS basé sur un manifeste d’installation en JSON. Ce fichier est utilisé pour décrire les processus de création de l’environnement, le déploiement et la configuration des applications, l’allocation des ressources et l’établissement des limites de mise à l’échelle pour chaque serveur dans un environnement :
Le fichier JPS relatif à l’installation de Kubernetes est présent sur Github :
Je provisionne donc un cluster Kubernetes composé d’un noeud maître et de deux noeuds workers :
Le cluster est déployé avec le token d’accès nécessaire à la connexion au tableau de bord de Kubernetes :
que je peux utiliser immédiatement :
Je peux visualiser la structure du cluster dans le tableau de bord de la plateforme Jelastic Cloud :
Je bénéficie à la console du noeud maître :
et des statistiques relatives aux ressources consommées pour ces noeuds :
Pour profiter du client Kubectl sur ma station, j’expose l’endpoint du noeud maître publiquement :
et je récupère le fichier Kubeconfig en connexion SSH :
Une fois récuperé, je peux utilisé Kubectl sur ma station pour lancer des commandes sur le cluster Kubernetes :
Un service Helloworld utilisant l’Ingress controller avec Traefik est déjà présent :
Certains ports étant ouverts par défaut pour ce cluster dans Jelastic :
Jelastic fourni un outil en ligne de commande pour notamment visualiser ses ressources :
Sur le cloud Outscale, je provisionne comme d’habitude une instance Rancher Server que je vais lier à ce cluster Kubernetes dans Jelastic :
Je peux alors importer ce cluster dans Rancher :
Je dispose là encore d’une console shell pour invoquer mes commandes dans ce cluster via le portail de Rancher Server :
Je vais rajouté à ce cluster un noeud virtuel via le fournisseur Virtual Kubelet offert par le biais d’Azure Container Instances. Pour rappel, les nœuds virtuels sont construits sur le projet open-source Virtual Kubelet (VK). VK a été lancé lors de KubeCon 2017 afin d’entamer une conversation avec la communauté sur la manière dont l’API Kubernetes pourrait être étendue pour déployer et gérer des conteneurs dans des environnements informatiques non traditionnels comme ACI :
Je me base pour cela sur les instructions fournies par ce dépôt sur github :
Helm est déjà préinstallé dans ce cluster et je fournis la configuration du RBAC :
et j’installe ce noeud virtuel avec Helm :
Le noeud virtuel est présent et actif :
On obtient une structure finale de ce type :
Je lance un déploiement test d’une image de test Helloworld pour ce noeud virtuel :
L’image apparaît en exécution dans un POD dans Rancher Server :
avec une adresse IP publique déjà attribuée et que j’utilise pour visualiser la page web de test :
Le container est bien en exécution dans ce noeud virtuel :
Je réalise un autre test avec le traditionnel démonstrateur FC Agent :
avec ce manifest :
Le déploiement apparaît dans Rancher :
Là également une adresse IP publique (fournie par l’intermédiaire d’ACI) me permet d’accéder au démonstrateur FC Agent :
Le tout est présent dans le portail Azure avec Azure Container Instances :
Il est possible également de procéder à un déploiement régulier de ce démonstrateur dans le cluster Kubernetes sur la base des noeuds de la plateforme Jelastic :
que je scale à 4 pods :
je n’ai pu qu’à exposer ce déploiement et à utiliser l’Ingress Controller avec traefik :
et par l’endpoint public fourni par défaut dans la plateforme Jelastic, j’accède au démonstrateur FC Agent :
Je peux utiliser le NodePort pour y accéder également via la configuration de ports dans le portail de la plateforme Jelastic :
A partir du démonstrateur en exécution sur le noeud virtuel et celui en exécution dans le cluster provisionné dans Jelastic, je peux lancer un gestionnaire de trafic (un serveur Nginx en mode LoadBalancer) via le marketplace présent avec ce fournisseur Suisse :
Le gestionnaire de trafic déployé, je récupère l’endpoint public qui pointe donc sur l’IP publique dans ACI et l’endpoint public par défaut dans le cluster Kubernetes au sein de la plateforme Jelastic :
Le test terminé, je peux simplement supprimer le noeud virtuel :
Il est possible d’aller plus loin notamment en mettant cette fois-çi un noeud virtuel “Windows” comme expliqué dans cet article précédent :
Jelastic continue à évoluer au fur et à mesure de ses nouvelles versions et fonctionnalités …