Cela peut paraitre étonnant, mais un projet assez Fun se fait connaitre via les réseaux sociaux, en environnement de virtualisation (certes sommaire), pour virtualiser … sous votre iOS préféré. Un iPad, iPhone.
Oui, vous ne rêvez pas…Sur ces mobiles ou tablettes nous voyons développer des tâches de choses assez farfelus et innovateurs. Mais là…joker !
Rien de très spécifique, puisqu’il s’agit d’embarquer un QEMU et Spice. C’est amusant, de voir un Windows sous un iOS, certes. Mais finalement il y a t’il un intérêt ?
Si vous y trouver un intéret dans un développement le projet GitHub ici.
Que vous soyez développeur ou que vous manipuliez du Docker voici un outil intéressant qui dépasse les 200 000 téléchargements à ce jour. Portainer.io est mise à disposition en version OpenSource est une boite à outils permettant la gestion de vos conteneurs Docker et ainsi de créer, gérer et réaliser la maintenance via une interface WebUI unique. Dans sa dernière version, Portanier supporte IPV6 et est actuellement en version 2.4.6 et s’interface avec Kubernetes.
Vous pouvez tester cet outil en démo sur le site de Portainer.
Portainer oui mais pour qui ?
Portainer est compatible avec les versions suivantes de Docker : Docker > 1.9 Cet outil peut être géré sur Docker Swarm, Docker Kubernetes, Docker sur Azur.
Architectures compatibles:
Portainer peut être déployé sur les plates-formes suivantes :
Linux plateforme amd64
Linux plateforme Arm
Linux plateforme arm64
Linux plateforme ppc64le
Linux plateforme s390x
Windows plateforme amd64
Darwin plateforme amd64 (MacOS)
Installation de Portainer à l’aide de Docker
L’ensemble du projet est disponible sur le Github du projet, mais n’est pas nécessaire.
Portainer est composé de deux éléments, le Portainer Server et le Portainer Agent. Les deux éléments fonctionnent comme des conteneurs pod Docker sur un moteur Docker ou dans un cluster Swarm, ou encore un Cluster K8s. Lié à Docker, il existe de nombreux scénarios de déploiement possibles. Le scénario présenté est celui le plus couramment utilisé. (si votre configuration n’est pas répertoriée, voir portainer.readthedocs.io pour des options supplémentaires).
Il faut notez que le mode de déploiement recommandé de l’outil est d’utiliser l’agent Portainer. Vous devez donc déployer Portainer Server sur un cluster swarm ou autonome, soit LINUX Docker host/single node ou Windows Docker Host fonctionnant en mode “Linux containers”).
Utilisez les commandes suivantes de Docker pour déployer le Portainer Server ; notez que l’agent n’est pas nécessaire sur les hôtes autonomes, mais qu’il offre des fonctionnalités supplémentaires s’il est utilisé (voir le scénario du portainer et de l’agent ci-dessous):
Il vous suffit ensuite, d’accéder au port 9000 du moteur Docker où fonctionne portainer à l’aide de votre navigateur préféré.
Remarques
Le port 9000 est le port général utilisé par Portainer pour l’accès à l’interface utilisateur. Le port 8000 est utilisé exclusivement par l’agent EDGE pour la fonction de tunnel inverse. Si vous ne prévoyez pas d’utiliser l’agent edge, vous n’avez pas besoin d’exposer le port 8000 vers votre réseau.
L’option -v /var/run/docker.sock:/var/run/docker.sock ne peut être utilisée que dans les environnements Linux. Vous pouvez déployer Portainer Server sur un Host Docker WINDOWS autonome (en exécutant des conteneurs Windows) mais attention il doit-être de version build Windows 1803 ou plus récent.
Il vous suffit ensuite, d’accéder au port 9000 du moteur Docker où fonctionne Portainer à l’aide de votre navigateur.
Remarque: l’option -v \.\pipe\docker_engine:\\\.\ peut être utilisée dans les environnements Windows 1803+ Container uniquement. Gérer un cluster LINUX Swarm avec Portainer Server et le Portainer Agent.
Pour déployer Portainer et un Portainer Agent pour gérer un cluster Swarm, vous pouvez directement déployer Portainer en tant que service dans votre cluster Docker. Il est à noter que cette méthode déploiera automatiquement une seule instance du serveur Portainer et l’agent Portainer comme un service global sur chaque nœud de votre cluster.
Il vous suffit ensuite et comme à l’habitude d’accéder au port 9000 du moteur Docker où fonctionne Portainer à l’aide de votre navigateur.
Gérer un cluster WINDOWS Swarm avec Portainer Server et l’agent Portainer
Pour déployer Portainer et l’agent Portainer pour gérer un cluster Swarm sous Windows 2016 (1803) ou Windows 2019 (10903), vous pouvez déployer Portainer directement en tant que service dans votre cluster Docker. Notez que cette méthode déploiera automatiquement une seule instance du serveur Portainer, et déploiera l’agent Portainer en tant que service global sur chaque nœud de votre cluster. A peu près à l’identique que sous Linux.
Il vous suffit d’accéder ensuite au port 9000 du moteur Docker où fonctionne portainer à l’aide de votre navigateur.
Il est important de noter qu’il faut s’assurer que les ports réseaux requis sont exposés sur les hôtes Docker dans votre cluster AVANT de déployer la pile (et redémarrez votre hôte après avoir ajouté les règles).
Pour déployez Portainer Agent sur un cluster LINUX Swarm distant en tant que service d’essaimage, exécutez cette commande sur un nœud de gestion dans le cluster distant.
Pour déployer l’agent Portainer sur un serveur docker SINGLE Windows Server 2016 ( ou ultérieur) fonctionnant comme un nœud Swarm (pour les déploiements multi-noeuds, veuillez consulter les configurations avancées)
Note : les options ci-dessus ne font que déployer l’agent, vous devez vous connecter à l’agent à partir d’une instance existante de Portainer Server. Pour d’autres scénarios de déploiement, et pour connaître les conseils et les techniques de déploiement avancées, consultez la documentation complète de Portainer.
Portainer est libre d’utilisation
… mais le support ne l’est pas, voici les modèles de supports facturables:
Je profite de la fin du confinement qui n’en finit plus de finir pour continuer de jouer avec ma récente découverte : Terraform. Comme j’en parlais dans de précédents articles, la force de Terraform vient d’une part de sa capacité à pouvoir “dialoguer” avec différents fournisseurs de Cloud, d’autre part de rendre trivial la “scalabilité” de l’infra. On peut parfaitement en cas de montée de charge sur une application, décider de créer par exemple, un serveur supplémentaire dédié au cache (un slave Redis).
Maintenant que l’on a notre code pour l’infra, il est temps de passer à la partie provision des vms. Pour cela, comme je vous le disais, j’utilise Ansible. Pourquoi ? Parce qu’il est de plus en plus inclus dans l’écosystème RedHat, que la communauté autour du projet est très vivante et que l’on n’a aucun de mal à trouver des infos. Je vous rappelle que ce code met à disposition des serveurs dans un réseau isolé. Je vous montre l’arborescence des rôles et playbooks en fonction de mon architecture :
Aujourd’hui, je vais vous exposer un de mes POC. Je voulais installer Nexcloud sur Fedora server et pour plus de sécurité et plus d’efficacité, séparer les middlewares et les applications sur ces différents serveurs. Je pars sur 3 serveurs, on peut faire évoluer le code pour en ajouter plus, notamment Redis en master-slave, Mariadb en Master/Slave et un loadbalancer nginx. Je mets en ligne un de mes premiers codes Terraform fonctionnel. Il est plus simple à comprendre mais pas super optimisé/industrialisé. Dans des articles ultérieurs, je mettrai des codes Terraform pour de l’infra scalable, c’est plus sexy. J’ai essayé dans les playbooks ansible d’adapter les règles SElinux pour que l’application Nextcloud fonctionne en mode enforcing, et ça passe: c’est toujours mieux avec. Un truc sympa à faire également au niveau sécu, serait de relier le chiffrement de Nextcloud à la puce TPM émulée du serveur, dans le même registre je n’ai pas mis de rôle pour le durcissement des souches Fedora. Tout un programme…
Les changements massifs de composants techniques des enveloppes de VM (GuestOS ou Invité), sont assez rare en production. Mais il peu arriver, lié à divers problématiques d’incompatibilités de drivers vs O.S., de devoir changer massivement ce dernier.
Nous utilisons des cookies sur notre site Web pour vous offrir l'expérience la plus pertinente en mémorisant vos préférences et des visites répétées. En cliquant sur «Accepter», vous consentez à l'utilisation de TOUS les cookies.
Ce site Web utilise des cookies pour améliorer votre expérience pendant que vous naviguez sur le site Web. Parmi ces cookies, les cookies classés comme nécessaires sont stockés sur votre navigateur car ils sont essentiels au fonctionnement des fonctionnalités de base du site Web. Nous utilisons également des cookies tiers qui nous aident à analyser et à comprendre comment vous utilisez ce site Web. Ces cookies ne seront stockés dans votre navigateur qu'avec votre consentement. Vous avez également la possibilité de désactiver ces cookies. Mais la désactivation de certains de ces cookies peut avoir un effet sur votre expérience de navigation.
Les cookies fonctionnels aident à exécuter certaines fonctionnalités telles que le partage du contenu du site Web sur les plates-formes de médias sociaux, la collecte de commentaires et d’autres fonctionnalités tierces.
Les cookies de performance sont utilisés pour comprendre et analyser les principaux indices de performance du site Web, ce qui contribue à offrir une meilleure expérience utilisateur aux visiteurs.
Cookie
Description
YSC
Ces cookies sont définis par Youtube et sont utilisés pour suivre les vues des vidéos intégrées.
Les cookies analytiques sont utilisés pour comprendre comment les visiteurs interagissent avec le site Web. Ces cookies aident à fournir des informations sur les mesures du nombre de visiteurs, du taux de rebond, de la source du trafic, etc.
Les cookies publicitaires sont utilisés pour fournir aux visiteurs des publicités et des campagnes marketing pertinentes. Ces cookies suivent les visiteurs sur les sites Web et collectent des informations pour fournir des publicités personnalisées.
Cookie
Type
Durée
Description
IDE
1 an et 24 jours
Utilisé par Google DoubleClick et stocke des informations sur la façon dont l'utilisateur utilise le site Web et toute autre publicité avant de visiter le site Web. Ceci est utilisé pour présenter aux utilisateurs des publicités qui les concernent en fonction du profil de l'utilisateur.
test_cookie
15 minutes
Ce cookie est défini par doubleclick.net. Le but du cookie est de déterminer si le navigateur de l'utilisateur prend en charge les cookies.
VISITOR_INFO1_LIVE
5 mois et 27 jours
Ce cookie est défini par Youtube. Utilisé pour suivre les informations des vidéos YouTube intégrées sur un site Web.
Les cookies nécessaires sont absolument essentiels au bon fonctionnement du site Web. Ces cookies assurent les fonctionnalités de base et les fonctions de sécurité du site Web, de manière anonyme.
Cookie
Type
Durée
Description
__cfduid
1 month
Le cookie est utilisé par les services cdn comme CloudFare pour identifier les clients individuels derrière une adresse IP partagée et appliquer les paramètres de sécurité par client. Il ne correspond à aucun identifiant d'utilisateur dans l'application Web et ne stocke aucune information personnellement identifiable.
cookielawinfo-checkbox-performance
1 an
Ce cookie est défini par le plugin GDPR Cookie Consent. Le cookie est utilisé pour stocker le consentement de l'utilisateur pour les cookies dans la catégorie «Performance».