-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
for commit 55c9fb3
- Loading branch information
Showing
11 changed files
with
134 additions
and
84 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -45,8 +45,8 @@ | |
"image": [ | ||
"https://rix-fr.github.io/rix/pr/118/blog/cours/ansible/content/images/blog/thumbnails/Get-started-with-Ansible.jpg" | ||
], | ||
"datePublished": "20 mars 2023", | ||
"dateModified": "20 mars 2023", | ||
"datePublished": "24 octobre 2023", | ||
"dateModified": "24 octobre 2023", | ||
"author": [ | ||
{ | ||
"@type": "Person", | ||
|
@@ -225,13 +225,19 @@ <h2 class="h2--large">Ansible - Découverte et premiers pas.</h2> | |
<a href="#prerequis">Prérequis</a> | ||
</li> | ||
<li class="table-of-contents__item"> | ||
<a href="#ressources">Ressources</a> | ||
<a href="#mise-en-route">Mise en route</a> | ||
<ol class="table-of-contents__sub-level"> | ||
<li> | ||
<a href="#ansible">Ansible</a> | ||
<a href="#infrastructure">Infrastructure</a> | ||
</li> | ||
<li> | ||
<a href="#environnement-local">Environnement local</a> | ||
</li> | ||
</ol> | ||
</li> | ||
<li class="table-of-contents__item"> | ||
<a href="#aller-plus-loin-avec-les-sources">Aller plus loin avec les sources</a> | ||
</li> | ||
</ol> | ||
<div class="article-info"> | ||
<div class="author "> | ||
|
@@ -249,25 +255,54 @@ <h2 class="h2--large">Ansible - Découverte et premiers pas.</h2> | |
</span> | ||
</div> | ||
<div class="article-info__date"> | ||
<span>Publication <strong>20 mars 2023</strong></span> | ||
<span>Publication <strong>24 octobre 2023</strong></span> | ||
</div> | ||
</div> | ||
</div> | ||
<main> | ||
<body><h2 id="preambule" class="anchor-title"><a href="#preambule">Préambule</a></h2> | ||
<p>Ce cours est utilisé dans le cadre de TP au sein de l'IUT Lyon 1. Il est notamment dispensé à des étudiants peu ou pas familiers avec les stratégies d'automatisation et de déploiement des infrastructures. | ||
Bien que très axé débutants il peut également représenté une possibilité de monter « rapidement » pour certaines équipes sur les principaux fondamentaux d'Ansible afin de disposer du bagage minimal nécessaire à son utilisation.</p> | ||
Bien que très axé débutants il peut également représenté une possibilité de monter « rapidement » pour certaines équipes sur les principes fondamentaux d'Ansible afin de disposer du bagage minimal nécessaire à son utilisation.</p> | ||
<p>Il s'agit bien évidemment de supports à vocation pédagogique qui <strong>ne sont pas toujours transposables</strong> à une activité professionnelle.</p> | ||
<h2 id="prerequis" class="anchor-title"><a href="#prerequis">Prérequis</a></h2> | ||
<p>Afin d'aborder les différents concepts du cours il est recommandé de disposer:</p> | ||
<ul> | ||
<li>D'au moins deux machines virtuelles accessibles via <strong>SSH</strong> (idéalement 4);</li> | ||
<li>Docker installé sur la machine de travail (Docker Desktop pour Windows et OSX);</li> | ||
<li><strong>Docker</strong> et <strong>Docker compose</strong> installés sur la machine de travail (Docker Desktop pour Windows et OSX);</li> | ||
<li>D'une installation d'Ansible récente (2.14.3), il est également possible (et même recommandé) d'utiliser: <a href="https://github.com/manala/manala-recipes/tree/master/lazy.ansible" target="_blank">https://github.com/manala/manala-recipes/tree/master/lazy.ansible</a> comme expliqué <strong><a href="#">ici</a></strong>.</li> | ||
<li>D'une paire de clé de SSH que vous aurez pris soin de générer (voir <a href="/blog/cours/cle-ssh-principes-de-base">ici</a>) si vous n'en disposez pas déjà.</li> | ||
</ul> | ||
<p>En fonction de votre environnement de travail la mise en place des différents outils est décrite <strong><a href="#">ici</a></strong>.</p> | ||
<h2 id="ressources" class="anchor-title"><a href="#ressources">Ressources</a></h2> | ||
<h3 id="ansible" class="anchor-title"><a href="#ansible">Ansible</a></h3></body> | ||
<h2 id="mise-en-route" class="anchor-title"><a href="#mise-en-route">Mise en route</a></h2> | ||
<p>Première étape avant de pouvoir rentrer dans le vif du sujet, nous aurons besoin de mettre en place un environnement de travail dédié à nos travaux.</p> | ||
<h3 id="infrastructure" class="anchor-title"><a href="#infrastructure">Infrastructure</a></h3> | ||
<p>Pour pouvoir configurer nos serveurs, il nous faudra... des serveurs, ou plutôt des machines virtuelles pour leur facilité à être arrêter, détruites et reconstruites. | ||
N'importe quel fournisseur de cloud publique peut faire l'affaire, utilisez celui avec lequel vous avez le plus d'affinités.</p> | ||
<p>Dans le cadre de l'IUT nous utiliserons OpenStack solution OpenSource qui a fait ses preuves et qui plus est disponible dans l'enceinte de l'université. | ||
C'est donc sur cette base que je présenterai les étapes suivantes, au demeurant, parfaitement transposables chez d'autres fournisseurs.</p> | ||
<p>Nous travaillerons avec deux environnements distincts, « Staging » et « Production » qui embarqueront chacune une instance applicative (qui portera donc le code d'une application) et une instance de base de données (chargée de faire fonctionner notre serveur de base de données). | ||
Si vous êtes limité en terme de création d'instance, il est envisageable de n'avoir qu'une instance par environnement, celle-ci embarquant l'applicatif et les données.</p> | ||
<h3 id="environnement-local" class="anchor-title"><a href="#environnement-local">Environnement local</a></h3> | ||
<p>Les étapes suivantes seront donc à exécuter à partir de votre machine.</p> | ||
<h4 id="se-connecter-avec-le-client-ssh" class="anchor-title"><a href="#se-connecter-avec-le-client-ssh">Se connecter avec le client SSH</a></h4> | ||
<p>Considérant que vous remplissez les prérequis et que vous avez créé vos instances distantes nous allons pour commencer initier une « simple » connexion SSH vers notre instance.</p> | ||
<pre class="code-multiline"><code id="8f5d822d895a75c50ce49e32467e9de0">ssh [email protected]</code></pre> | ||
<p>Si vous rencontrez des soucis .. forbidden (exemple) essayer en ajoutant explicitement le chemin vers la clé.</p> | ||
<pre class="code-multiline"><code id="665e15826841b865ca528876d7f9894d">ssh -i ~/.ssh/ed25519 [email protected]</code></pre> | ||
<h4 id="configuration-du-client-ssh" class="anchor-title"><a href="#configuration-du-client-ssh">Configuration du client SSH</a></h4> | ||
<p>Afin d'éviter d'avoir à spécifier le chemin vers la clé à chaque connexion et afin d'afiner la configuration de notre client nous pouvons également définir un fichier <code class="code-inline" id="4cc0ecc8128c171b864a0cdda4b4cdea">~/.ssh/config</code> contenant les directives suivantes:</p> | ||
<pre class="code-multiline"><code id="de020e8878496ef04ac49671f6dacc38">Host 192.168.140.* | ||
Port 22 | ||
User debian | ||
IdentityFile ~/.ssh/keyfile | ||
IdentitiesOnly yes | ||
ForwardAgent yes</code></pre> | ||
<p>Celles-ci sont relativement compréhensibles, précisons tout de même pour les deux dernières:</p> | ||
<ul> | ||
<li><code class="code-inline" id="f382dcceabb5224c5f6cda7f40c496a6">IdentitiesOnly</code> indique à SSH de n'envoyer au serveur <strong>QUE</strong> la clé définie à la directive <code class="code-inline" id="9ff804472728077c3da1cd67b27fb91d">IdentityFile</code> quand bien même vous disposez d'autres clés dans votre répertoire <code class="code-inline" id="6ee1504095caefc322f5ca38b8074fd4">~/.ssh</code></li> | ||
<li><code class="code-inline" id="787f1d575c24fc4fca7057057499b6ac">ForwardAgent</code> permet d'activer le transfert d'identité vers l'agent SSH du serveur</li> | ||
</ul> | ||
<h2 id="aller-plus-loin-avec-les-sources" class="anchor-title"><a href="#aller-plus-loin-avec-les-sources">Aller plus loin avec les sources</a></h2></body> | ||
</main> | ||
<div class="article-footer" data-aos="fade-in"> | ||
<div class="author"> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -231,10 +231,10 @@ <h2 class="h2--large">Principes de base de l'utilisation de clés SSH.</h2> | |
<a href="#se-connecter-a-un-serveur-distant">Se connecter à un serveur distant</a> | ||
</li> | ||
<li class="table-of-contents__item"> | ||
<a href="#pour-aller-plus-loin">Pour aller plus loin</a> | ||
<a href="#complements">Compléments</a> | ||
</li> | ||
<li class="table-of-contents__item"> | ||
<a href="#sources">Sources:</a> | ||
<a href="#aller-plus-loin-avec-les-sources">Aller plus loin avec les sources</a> | ||
</li> | ||
</ol> | ||
<div class="article-info"> | ||
|
@@ -340,12 +340,12 @@ <h2 id="se-connecter-a-un-serveur-distant" class="anchor-title"><a href="#se-con | |
<li>Par défaut ssh <strong>parcourt les clés SSH privées disponibles</strong> dans le répertoire <code class="code-inline" id="6ee1504095caefc322f5ca38b8074fd4">~/.ssh</code> afin de les proposer au serveur auquel vous essayez de vous connecter.</li> | ||
<li>Vous optenez en retour <strong>la première fois</strong> que vous vous connectez un message vous demandant de <strong>confirmer la connexion</strong> vers le serveur distant (Host key checking).</li> | ||
</ul> | ||
<h2 id="pour-aller-plus-loin" class="anchor-title"><a href="#pour-aller-plus-loin">Pour aller plus loin</a></h2> | ||
<h2 id="complements" class="anchor-title"><a href="#complements">Compléments</a></h2> | ||
<p>Si vous disposez de plusieurs clés SSH et que vous ne souhaitez pas que l'ensemble de vos clés privées soient soumises au serveur distant vous pouvez spécifier quelle clé utiliser en utilisant l'option <code class="code-inline" id="20f011826070657b0f0092278d65ec74">-i</code>.</p> | ||
<pre class="code-multiline"><code id="1447b20008cc99325cebf30676ffa256">ssh -i ~/.ssh/id25519 [email protected]</code></pre> | ||
<p>Il est possible d'utiliser <strong>des syntaxes différentes</strong> en fonction de votre <a href="/blog/cours/utiliser-la-configuration-ssh-client">fichier de configuration SSH</a>.</p> | ||
<p>Vous pouvez ainsi agir sur les comportements par défaut de votre client SSH et notamment quel clé utiliser en fonction de tel ou tel serveur.</p> | ||
<h2 id="sources" class="anchor-title"><a href="#sources">Sources:</a></h2> | ||
<h2 id="aller-plus-loin-avec-les-sources" class="anchor-title"><a href="#aller-plus-loin-avec-les-sources">Aller plus loin avec les sources</a></h2> | ||
<ul> | ||
<li><a href="https://fr.wikipedia.org/wiki/Secure_Shell" target="_blank">https://fr.wikipedia.org/wiki/Secure_Shell</a></li> | ||
</ul></body> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.