28 Apr 2016 in
Docker
|
Microsoft Azure
The Technical Preview 5 of Windows Server 2016 has been released yesterday, and it comes with a lot of new cool things for Windows containers and Docker !
To get started with this new preview, you have two solutions:
- Download it from this page and run it where you want.
- Deploy a new VM in Azure from the MarketPlace
[Environment]::SetEnvironmentVariable(“Path”, $env:Path + “;C:\Program Files\Docker”, [EnvironmentVariableTarget]::Machine)
read more
25 Apr 2016 in
Azure Container Service
|
Docker
|
Microsoft Azure
Microsoft has announced the general availability of Azure Container Service (ACS) that allows to deploy in an easy way a cluster of virtual machines that can host containers.
If you have not heard about Azure Container Service yet, you may want watch these videos first:
Azure Container Services supports two different orchestrators for the cluster
- Docker Swarm: It uses the native Docker stack so you can directly use Docker commands to deploy Docker containers.
- DC/OS: a datacenter operating system that can run containers in different formats, inluding Docker images. DC/OS is also used to deploy and run well known distributed systems like HDFS, Spark, Kafka, Cassandra… and is used at scale by organizations like AirBnb, Twitter, Netflix…
In this blog post, I will explain how you can use Azure Container Service to deploy in a few steps a Docker Swarm based cluster in Azure but if you want to deploy a DC/OS one, the procedure is very similar.
read more
29 Mar 2016 in
Docker
|
Microsoft Azure
Maybe you have missed the last annoucements that have been made about Docker last week, but there are few things that may interest you if you’re running Windows or working with Microsoft Azure !
read more
12 Jan 2016 in
DevOps
I have just started to publish a new blog post series that will detail how we implemented DevOps practices like Continuous Integration, Tests, Continuous Deployment and Release Management, Tests in Production on the Vorlon.JS project, using Visual Studio Team Services and Microsoft Azure.
VorlonJS is a node.js based tool for web developers that allows you to remotely test, inspect and debug a web application. Because it’s not easy to use traditional web debugging tools “F12-like” on devices such as mobile or embedded devices, Vorlon.JS offers a way to improve the debug experience, using a remote Dashboard.
The series starts here.
Enjoy, and don’t hesitate to provide any feedback !
read more
12 Oct 2015 in
Docker
|
Microsoft Azure
Docker Swarm est un outil qui permet d’orchestrer le déploiement de conteneurs Docker au sein d’un cluster. L’idée étant d’exécuter des commandes Docker comme vous le feriez sur un hôte Docker classique, mais de distribuer automatiquement ces commandes sur les différents nœuds du cluster.
Azure Resource Manager (ARM) permet - entre autre - de déployer une solution composée de plusieurs machines et/ou services Microsoft Azure, depuis le portail Preview à partir d’un fichier JSON qui en décrit la structure. De nombreux templates sont à votre disposition sur GitHub, pour vous aider à démarrer plus vite ou à construire les vôtres. (Si vous n’êtes pas encore familier avec ARM, je vous invite à lire templates sont à votre disposition sur GitHub)
Récemment, un template qui permet de déployer un cluster Docker Swarm a été rendu disponible (ici). Il permet de déployer deux groupes de haute disponibilité au sein d’un même réseau virtuel :
- Un pour les masters Swarm (au total 3), derrière un load balancer - Un pour les nœuds Swarm (nombre de machines à définir au moment du déploiement du template), également derrière un load balancer, mais non exposé sur Internet
Vous trouverez une description complète du cluster qui est déployé par le template sur la page GitHub, directement.
Avant de le déployer, il faut vous assurer de posséder une clé SSH, pour pouvoir vous y connecter ensuite. Si vous êtes sur Linux ou MacOS X, cette étape est un détail. Si vous êtes sous Windows, je vous invite à télécharger Git for Windows, qui vous permettra d’installer automatiquement des outils vous permettant la génération de cette clé, puis d’établir ensuite une connexion SSH depuis la ligne de commande.
Une fois installé, il vous suffit de lancer Git Bash, de taper la commande suivante, et de vous laisser guider :
> ssh-keygen.exe
Une clé privée et une clé publique seront alors générée et placées pour vous dans le dosser .ssh
de votre répertoire utilisateur. La clé publique vous sera demandée lors de la création du cluster Swarm.
Rendez-vous sur la page du template sur GitHub et cliquez sur le bouton Deploy to Azure
.
Lorsque cela vous est demandé, authentifiez-vous avec votre compte Azure, et vous devriez alors vous retrouver sur une page vous demandant la saisie de différents paramètres :
Concrètement, il vous faut saisir :
- le nom d’un compte de stockage à créer - le nom d’utilisateur / administrateur qui pourra se connecter au cluster - votre clé publique SSH (à préfixer avec ssh-rsa ) - Le nombre de nœuds Swarm que vous souhaitez créer
Choisissez / créez un groupe de ressources dans lequel le cluster doit être déployé, acceptez les conditions et validez en cliquant sur le bouton Créer.
Une fois le déploiement terminé, vous devriez voir les différents éléments qui ont été créés pour vous :
Le template a été configuré de manière à ce que les noeuds du cluster Swarm ne soient pas directement accessibles sur Internet (pas d’IP publique). Pour vous y connecter, il faut donc passer par l’un des master (port 2200, 2201 ou 2202) sur le DNS -manage..cloudapp.azure.com. Par exemple, si vous avez choisi le nom DNS **swarmcluster** à la création et que vous avez déployé le cluster dans le data center **West Europe**, vous pouvez alors vous connecter au master grâce à la commande :
ssh -A nom_utilisateur@swarmcluster-manage.westeurope.cloudapp.azure.com
Vous pouvez alors ensuite exécuter la commande suivante pour récupérer des infos sur les nœuds Docker qui sont disponibles :
docker -H tcp://localhost:2375 info
Il ne vous reste plus qu’à déployer des conteneurs dans le cluster. A chaque fois que vous allez demander le déploiement d’un conteneur, Swarm va automatiquement sélectionner un nœud du cluster dans lequel le déployer. Par exemple, si vous tapez 2 fois la commande suivante :
docker -H tcp://localhost:2375 run -d -p 80:80 nginx
Puis :
docker -H tcp://localhost:2375 ps -a
Vous pourrez alors constater que deux conteneurs basés sur l’image Nginx ont été démarrés, sur deux nœuds différents du cluster:
Le tour est joué, votre cluster Docker Swarm est en ligne !
A+
Julien
read more