Search This Blog

lundi 18 janvier 2016

Administration des Windows Containers

Bonjour à tous

Nous allons voir aujourd’hui la gestion des Windows Containers, c’est-à-dire l’administration en générale, comme le contrôle de la mémoire, l’affectation de cartes réseaux etc.

Avant de commencer, je vous rappelle que j’ai réalisé un premier article sur les Windows containers, qui vous montre la création et surtout vous présente le concept des Windows containers.




J’ai ici 3 containers comme on peut le voir :




Qu’on peut également représenter comme ceci :




Avant de commencer, je vais lister les commandes PowerShell qui sont disponibles pour le module « Container » :



Vous pouvez faire toutes ces opérations au niveau de votre container :

  •           Vérification de la mémoire
  •           Vérification du stockage
  •           Vérification de la carte réseaux
  •           Changer de repository
  •           Changer la quantité de la mémoire (RAM)
  •           Etc …

Quelques exemples :

Vérification de la mémoire :

La vérification de l’état de la RAM au niveau des Windows containers, se fait de la manière suivante :



Vérification au niveau du stockage :


Carte réseaux :

Avec la commande suivante vous allez obtenir les informations concernant la carte réseau du container, ici en l’occurrence c’est le contain01, on peut voir sur quel switch virtuel est connecté, ainsi que le nom du container Host.



Voici l’endroit où sont stockés les containers images : 

C:\ProgramData\Microsoft\Windows\Images


Ce qui correspond à nos deux Container images :


Allons au niveau du container « Contain01 » et vérifions son adresse IP, pour cela, nous devons nous connecter dessus via PowerShell Direct comme ceci :












On voit qu’il a une IP en 172.16.0.2, cette IP est liée au switch virtuel de type NAT.

Nous allons créer un deuxième switch de type Nat avec le réseau suivant : 172.17.0.0 /16


Nous allons maintenant connecter notre container « Contain01 » à ce nouveau switch virtuel


Pour cela, on doit d’abord créer une autre carte réseaux « NIC » une fois celle-ci crée et reliée au switch VSW01 « Nat » on connecte également le container au nouveau Switch « VSW01 »


Et voilà, la carte réseau NIC est connectée au nouveau Switch « VSW01 » donc le container « Contain01 » est connecté au Switch « VSW01 » :

Mon container " Contain01" correspond à l'ID 1E0523D9 .... comme on le voit sur le champs "ID":



Vous pouvez également renommer votre Windows Container en utilisant la commande suivante « Set-Container », nous allons renommer notre Windows Container « Contain01 » en « NewContainer » pour cela, je vais d’abord lister mes Windows Containers que j’ai créé avec « Get-Container » : On peut le voir j’ai toujours mes 3 Windows Containers.



Je vais donc renommer mon Container « Contain01 » comme ceci : On peut voir mon nouveau nom changé en « NewContainer »:


Cela se représente comme ceci :


Voilà, c’est terminé pour aujourd’hui :)  Nous verrons la prochaine fois un cas concret d’utilisation de Windows container avec une ferme de serveur Web IIS.

Cordialement,
Seyfallah Tagrerout
Microsoft MVP 

vendredi 15 janvier 2016

Azure Automation PowerShell ISE add-on

Bonjour à tous,

Aujourd'hui l'équipe de Microsoft Azure vient d’annoncer un nouvel Add-on pour Azure Automation, cela vous permettra dans votre ISE de développer et d’écrire vos RunBook pour l'automatisation dans Azure.

Pour la partie installation rien de plus simple.

Installation de l'Add-on ISE :

Install-Module AzureAutomationAuthoringToolkit -Scope CurrentUser 

Permettre à votre ISE de charger automatiquement cet Add-on

Install-AzureAutomationIseAddOn


Une fois ces deux commandes tapées, vous devez avoir ceci sur votre Powershell ISE:


Cliquez ensuite sur "Sign in" afin de vous connecter sur votre Plateforme Azure et de récupérer vos RunBooks etc :


Vous devez voir la fenêtre d'authentification s'ouvrir, saisissez votre login afin que vous puissiez être redirigé..

 


Une fois redirigé vers cette fenêtre, saisissez le mot de passe de votre compte Azure:


Et voila, je suis connecté à mon Azure: 


Allez dans l’onglet "RunBooks" afin de visualiser vos Runbooks présents sur votre Azure:

et voila, je retrouve les RunBooks que j'ai sur ma plateforme Azure.




Je peux à travers ce nouvel Add-ON :

  • Tester les RunBooks
  • Les publier
  • Créer de nouveau RunBooks
  • Télécharger les RunBooks présents dans mon Azure afin qu'ils soient également en local sur ma machine
  • Editer les RunBooks 

Téléchargement d'un RunBook vers ma machine local:

Pour cela, il suffit de sélectionner le Runbook que vous souhaitez télécharger, et cliquez sur "Download" comme ceci:

Remarquez avant de faire le Download qu"ISE vous informe si votre RunBook est sauvegardé en local ou dans le cloud (Azure), ici on voit bien qu'il est dans le Cloud (Cloud Only) , nous allons donc cliquez sur "Download" 

Ps: Vous pouvez pas ouvrir un RunBook si celui ci n'est pas téléchargé sur votre machine local, c'est pour cela que je vous fait faire cette manipulation.



Voila le RunBook téléchargé, vous pouvez voir que le sync status change, et il vous dit qu'il est en "In Sync" ça veut dire à la fois présent dans Azure et en local dans votre machine.



Allons vérifier sa présence dans notre machine local:

Pour cela, sur votre ISE, dans l'onglet configuration, vous avez le premier champs qui mentionne le chemin des RunBooks, par défaut il se trouve dans: C:\Users\seyf\AutomationWorkspace 

Et voici le RunBook "Stop-AllAzureVM.ps1"  que j'ai téléchargé depuis mon Azure:



Editer un RunBook:

Pour éditer un RunBook, c'est simple, allez sur le RunBook que vous souhaitez modifier et cliquez sur "Open" et ce dernier s'ouvrira en tant que script dans votre Powershell ISE comme ceci:


Tester un RunBook:

Sélectionnez le RunBook que vous souhaitez tester et cliquez sur "Test Draft In Azure"


Voici le résultat de mon Hello World




Créer un RunBook:







Effacer un RunBook:

Sélectionnez le RunBook que vous souhaitez effacer et cliquez su Delete: (je vais effacer mon RunBook Hello World)




Vous aurez ensuite deux choix, soit l'effacer de votre machine local, soit l'effacer d'Azure et de votre machine local, je choisi ici de l'effacer que de ma machine Local





Vérification:

Et voila, le RunBook est effacé de ma machine Local, car son Sync Status est passé en "Cloud Only":



Et sur ma machine local, mon RunBook "Hello World" est supprimé également: 






Cordialement,
Seyfallah Tagrerout
Microsoft MVP 

mercredi 13 janvier 2016

Windows Containers

Bonjour,

Nous allons voir aujourd’hui les Windows containers au sein de Windows Server 2016, cet article aura plusieurs parties, nous allons commencer déjà par les bases des Windows containers, on verra ensuite leur mise en place avec un cas très concret 

Les Windows containers et Hyper-V containers proviennent des technologies de virtualisation linux, propulsés également par Docker.

Par ailleurs Windows Server 2016 dispose du moteur et client docker en vue du partenariat avec Microsoft.

Les Windows containers sont conçus pour le Cloud, ainsi qu’à la rapidité de déploiement d’applications et de mise en service, ils offrent également une isolation applicative. Il facilitent également l’intégration des applications.

Ps : Tout se fait en PowerShell, (la création, l’administration etc), pas d’interface graphique pour le moment pour gérer les Windows Containers.

Schéma de fonctionnement:

Serveur physique :


Voici tout d’abord une visualisation simple d’un serveur physique avec Windows Server 2016 installé dessus :



Hyperviseur (Hyper-V) :


Nous avons ici quelque chose de classique qu’on connait depuis de nombreuses années maintenant, un hyperviseur avec des quelques VMs dessus.




Windows Container :

Nous allons donc rentrer dans le vif du sujet et vous présenter les Windows Containers, cette représentation vous permettra de mieux les comprendre.

Nous avons un serveur physique, avec Hyper-V dessus, vous pouvez créer un ou plusieurs Windows containers directement au niveau de l’OS Windows Server 2016, On peut également créer des Windows containers au niveau des VMs qui sont hébergés dans notre hyperviseur Hyper-V.




Hyper-V Containers :


Les Hyper-V containers offrent une meilleure isolation que les Windows Containers, voici comment ont peu les représenter :



Mise en place des Windows Containers

Nous allons voir comment mettre en place les Windows Containers sur Windows Server 2016 TP de manière très simple.

Commencer par l’installation de la Feature « Container » comme ceci :



 Vérification :


Image Container :


Afin de déployer les Windows containers, vous aurez besoin d’images containers, les Windows containers se déploient à l’aide de ces images Containers. Ces images containers incluent bien entendu un Os, et peuvent également inclure des applications, des services pré installés etc.

Nous avons deux types d’images containers :

  •           Base OS Images : c’est une image livrée directement par Microsoft
  •           Container images : c’est une image crée comme modèle via l’image de base « Bas OS Images »

Pour commencer, veuillez installer le package Provider comme ceci :

Install-PackageProvider ContainerProvider -Force


Une fois terminée, vous devez donc télécharger les images « Base OS Images » containers, vous avez deux versions :

  •           Une image NanoServer
  •           Une image WindowsServerCore


Pour installer les deux images, vous devez lancer la commande suivante :

Install-ContainerImage -Name NanoServer -Version 10.0.10586.0





Le paramètre « Version » est optionnel, si vous ne le mettez pas, le serveur vous installera la dernière version de l’image container.

Faites la même chose pour la version « WindowsServerCore » :


Pour cette version, cela prendre environ 1h, en fonction de votre débit bien entendu J

Vous pouvez également télécharger l’image Wim via ce lien : http://aka.ms/ContainerOSImage

Une fois téléchargée, placez la dans un dossier C:\Images par exemple, et installez là avec la commande suivante :


Install-ContainerOsImage -wimPath C:\images\CBaseOs_th2_release_10514.0.150808-1529_amd64fre_ServerDatacenterCore_en-us.wim


Une fois que vous avez installé vos images containers, vous devez vérifier leur présence par la commande suivante :
    
Get-ContainerImage 
               

On voit bien nos deux images installées:

 

Avec l’installation de la feature « Container » nous avons avec un module PowerShell qui apporte plusieurs commandes afin de vous aider à mettre en place les Windows containers, pour obtenir toutes les commandes disponibles pour le module « Containers » passer la commande suivante : Get-Commande -Module Containers


Et vous avez toutes la listes de commandes PowerShell nécessaires pour les Windows Containers.



Création d’un Windows Container :

Nous allons voir par une méthode simple la création de Windows containers, 3 Windows containers seront crées ici:
  •          Contain01
  •           Contain02
  •           Contain03



Voici comment je représente ces trois containers qu’on va créer ensemble selon ma propre compréhension, ce qui permet de mieux les visualiser et de mieux comprendre ce nouveau concept de container





Nous allons passer à la création de ces 3 container avec la commande Powershell suivante «  New-Container »



Explication de la commande de création:

-Name : le Nom du container

-ContainerImageName : vous l'aurez compris, on va chercher l’image container qu’on a installée auparavant, nos containers sont basés sur cette image.

-SwitchName : C’est le switch virtuel auquel le container sera connecté afin d’avoir une connexion réseaux, ça fera l’objet d’un article à part pour mieux vous expliquer les switches virtuels avec les Windows Containers.


Vérification de la création des 3 containers avec la commande suivante « Get-Container », les voici présents ici :



 Vous pouvez les mettre en route avec la commande suivante : « Start-Container -Name » comme ceci : remarquez que leur état doit passer en « Running » :



Repository des containers

Une fois crés, allons voir l’emplacement de ces Windows containers dans notre Host, pour cela, tapez la commande suivante « Get-ContainerHost » :


Vous avez le nom de votre serveur, (bon ici je ne l’ai pas renommé, ce n'est pas bien x) ) et vous avez également « ContainerImageRepositoryLocation » remontez d'un cran et allez dans le dossier "Container" qui est l'endroit de stockage des containers crées, allons faire un tour dans ce dossier :



Pour chaque container vous allez avoir les fichiers et dossiers suivants :

  •           Un dossier nommé avec le GUID du container dans lequel vous allez trouver un dossier « Hives » et dans ce dossier, on trouve les registry du container en question
  •           Un disque virtuel VHDx
  •           Un fichier de configuration. VMCX 
  •           Un VMRS qui correspond au Runtime du container


Nous allons nous concentrer sur notre container « Contain01 », afin de trouver son GUID, tapez la commande suivante :  (Get-Container contain01).Id


Grâce au GUID obtenu pour le "Contain01" nous allons pouvoir l'identifier dans le repository des containers, le voici en rouge avec les explications en bleu.


Dans le dossier, on va trouver le dossier « Hives » comme ceci :



Voici le contenu du dossier Hives :



Administration en PowerShell de votre Windows Container

Avec PowerShell direct, nous allons pouvoir administrer un Windows Container de manière très simple, voici la commande qu’il faut passer afin de se connecter sur un des containers qu’on a créés auparavant.
Enter-Pssession -ContainerName Contain01 -RunAsAdministrator



Et voilà nous sommes directement en PowerShell direct sur notre Windows Container « Contain01 » et on peut l’administrer en PowerShell de manière classique, remarquez par exemple la commande passer « Ipconfig » afin de savoir ses paramètre TCP/IP.


On peut par exemple installer IIS dessus comme ceci :


Vérification : avec un get-WindowsFeature


Voilà, c’est terminé pour aujourd’hui, nous verrons la prochaine fois l’administration des Containers au niveau mémoire, carte réseaux etc

@bientôt
Seyfallah Tagrerout
Microsoft MVP

lundi 11 janvier 2016

Mon année 2015

Bonjour à tous,

Je souhaite juste partager avec vous mon incroyable année 2015 sur le plan professionnel, ce fut une très belle année pour moi, remplie notamment de contributions Microsoft sur mon blog ainsi que ma chaîne YouTube.



2015 en quelques chiffres:




Quelques moments fort en image de 2015:

Ma nomination en tant que MVP Hyper-V le 1er Juillet 2015: (Moment unique ....)


Dans le campus de Microsoft Corp à Redmond lors du MVP Summit en novembre 2015: (Le rêve ...)




En session technique ==> Windows Server 2016  Décembre 2015 au campus d'YNOV à Aix en provence


 Lors des Techdays  quand j’étais encore MSP :



Je tiens à remercier la communauté Microsoft , Martine Thiphaine et toutes les personnes qui me suivent sur ce blog.

Pour me retrouver:



    @bientôt

    Bonne année 2016

    Bonjour à tous,



    Je vous souhaite à tous une très bonne année 2016, que cette nouvelle année vous apporte la santé, le bonheur et la réussite dans vos projets personnels et professionnels.

    Cette année sera marquée par plusieurs axes innovants, donc c'est tout à fait naturel que mes publications suivent ces innovations notamment au niveau du Cloud et Cloud Hybride.

    Je vous prépare plusieurs contributions pour l'année 2016 autour de plusieurs thèmes:


    • Microsoft Azure 
    • Azure Stack
    • Windows Server 2016 
    • Les infrastructures Hyper-Convergées 

    Plusieurs formats de contributions:


    Restez à l’affût :), 2016 s’annonce plus remplie et plus riche que 2015.

    @très bientôt et je vous remercie encore de votre fidélité !

    Cordialement,
    Seyfallah Tagrerout
    Microsoft MVP 
    < >