<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DevOps Archives - SENETECH</title>
	<atom:link href="https://senetech.eu/category/devops/feed/" rel="self" type="application/rss+xml" />
	<link>https://senetech.eu/category/devops/</link>
	<description>Infrastructure, cybersécurité et transformation numérique</description>
	<lastBuildDate>Sat, 24 Oct 2026 19:59:36 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://senetech.eu/wp-content/uploads/2024/06/cropped-1-32x32.png</url>
	<title>DevOps Archives - SENETECH</title>
	<link>https://senetech.eu/category/devops/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Sécuriser sa pipeline CI/CD : 7 bonnes pratiques DevSecOps</title>
		<link>https://senetech.eu/securiser-pipeline-ci-cd-bonnes-pratiques-devsecops/</link>
		
		<dc:creator><![CDATA[admin8462]]></dc:creator>
		<pubDate>Sat, 24 Oct 2026 19:59:36 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://senetech.eu/?p=3361</guid>

					<description><![CDATA[<p>Secrets, analyse du code, images Docker, droits Kubernetes : 7 bonnes pratiques DevSecOps pour sécuriser votre pipeline CI/CD, avec des exemples GitLab CI.</p>
<p>The post <a href="https://senetech.eu/securiser-pipeline-ci-cd-bonnes-pratiques-devsecops/">Sécuriser sa pipeline CI/CD : 7 bonnes pratiques DevSecOps</a> appeared first on <a href="https://senetech.eu">SENETECH</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Une pipeline CI/CD automatise la construction, les tests et le déploiement de vos applications. C’est un gain de temps considérable… mais aussi une cible de choix : elle a accès à votre code, à vos secrets et à votre production. Voici 7 bonnes pratiques DevSecOps pour la sécuriser, avec des exemples concrets sur GitLab CI et Kubernetes.</p>
<h2>1. Ne jamais stocker de secrets dans le code</h2>
<p>Mots de passe, clés d’API, jetons d’accès : rien de tout cela ne doit apparaître dans le dépôt Git, même dans un fichier de configuration « temporaire ». Dans GitLab, utilisez les <strong>variables CI/CD</strong> (Paramètres → CI/CD → Variables) en les marquant <strong>masquées</strong> (elles n’apparaissent pas dans les journaux) et <strong>protégées</strong> (elles ne sont disponibles que sur les branches protégées).</p>
<h2>2. Analyser automatiquement le code (SAST)</h2>
<p>L’analyse statique repère les failles classiques (injections, mauvaises pratiques cryptographiques…) à chaque modification, avant même la mise en production. GitLab fournit un modèle prêt à l’emploi à inclure dans votre fichier <code>.gitlab-ci.yml</code>.</p>
<h2>3. Détecter les secrets oubliés</h2>
<p>Malgré toutes les précautions, un secret finit parfois dans un commit. La détection de secrets analyse chaque modification et alerte immédiatement. Si un secret a fuité, considérez-le comme compromis : révoquez-le et remplacez-le, le supprimer de l’historique ne suffit pas.</p>
<h2>4. Surveiller les dépendances</h2>
<p>Une grande partie du code d’une application provient de bibliothèques externes. Analysez-les régulièrement pour repérer les versions vulnérables, avec les outils de votre édition de GitLab ou des outils open source comme Trivy ou OWASP Dependency-Check.</p>
<h2>5. Scanner les images Docker avant de les déployer</h2>
<p>Une image peut embarquer des paquets système obsolètes. Faites échouer la pipeline si une vulnérabilité critique est détectée :</p>
<pre><code>stages:
  - test
  - build
  - scan
  - deploy

include:
  - template: Jobs/SAST.gitlab-ci.yml
  - template: Jobs/Secret-Detection.gitlab-ci.yml

scan_image:
  stage: scan
  image:
    name: aquasec/trivy:latest
    entrypoint: [""]
  variables:
    TRIVY_USERNAME: "$CI_REGISTRY_USER"
    TRIVY_PASSWORD: "$CI_REGISTRY_PASSWORD"
  script:
    - trivy image --exit-code 1 --severity HIGH,CRITICAL "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA"</code></pre>
<h2>6. Appliquer le principe du moindre privilège</h2>
<p>Le compte utilisé par la pipeline pour déployer sur Kubernetes ne doit avoir accès qu’à ce dont il a besoin : un <code>ServiceAccount</code> dédié, limité à son namespace grâce à un <code>Role</code> plutôt qu’un <code>ClusterRole</code>. Côté GitLab, réservez les runners de déploiement aux branches protégées.</p>
<h2>7. Contrôler et tracer chaque mise en production</h2>
<p>Utilisez les <strong>environnements protégés</strong> de GitLab pour exiger une validation avant le déploiement en production, et déployez des images identifiées de façon unique (tag lié au commit ou empreinte <code>sha256</code>) plutôt que <code>latest</code>. Vous savez ainsi exactement ce qui tourne en production, et vous pouvez revenir en arrière rapidement.</p>
<h2>En résumé</h2>
<p>La sécurité n’est pas une étape finale : en l’intégrant dans la pipeline, chaque modification est vérifiée automatiquement, sans ralentir vos équipes. Ces pratiques sont accessibles à toutes les structures, de la TPE à la collectivité.</p>
<p>Vous souhaitez sécuriser vos pipelines CI/CD ou mettre en place une démarche DevSecOps ? <a href="https://senetech.eu/contacts/">Contactez-nous</a> ou écrivez-nous à <a href="mailto:contact@senetech.eu">contact@senetech.eu</a>.</p>
<p>The post <a href="https://senetech.eu/securiser-pipeline-ci-cd-bonnes-pratiques-devsecops/">Sécuriser sa pipeline CI/CD : 7 bonnes pratiques DevSecOps</a> appeared first on <a href="https://senetech.eu">SENETECH</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Automatiser le Déploiement : Mettre en Place une Pipeline CI/CD avec GitLab CI et Kubernetes</title>
		<link>https://senetech.eu/automatiser-le-deploiement-mettre-en-place-une-pipeline-ci-cd-avec-gitlab-ci-et-kubernetes/</link>
		
		<dc:creator><![CDATA[admin8462]]></dc:creator>
		<pubDate>Fri, 28 Jun 2024 16:14:59 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://senetech.eu/?p=3228</guid>

					<description><![CDATA[<p>Configurez pas à pas une pipeline CI/CD avec GitLab CI et un runner sur Kubernetes, pour construire, tester et déployer automatiquement.</p>
<p>The post <a href="https://senetech.eu/automatiser-le-deploiement-mettre-en-place-une-pipeline-ci-cd-avec-gitlab-ci-et-kubernetes/">Automatiser le Déploiement : Mettre en Place une Pipeline CI/CD avec GitLab CI et Kubernetes</a> appeared first on <a href="https://senetech.eu">SENETECH</a>.</p>
]]></description>
			<style id="elementor-post-3228">.elementor-3228 .elementor-element.elementor-element-431164e{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-3228 .elementor-element.elementor-element-8df0e83{font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:400;color:var( --e-global-color-astglobalcolor0 );}</style>							<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="3228" class="elementor elementor-3228">
				<div class="elementor-element elementor-element-431164e e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent" data-id="431164e" data-element_type="container" data-e-type="container" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-8df0e83 elementor-widget elementor-widget-text-editor" data-id="8df0e83" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Introduction</strong></p><p>GitLab CI est un outil puissant pour l&#8217;intégration continue et le déploiement continu (CI/CD). Cet article explique comment configurer une pipeline CI/CD avec GitLab CI et Kubernetes.</p><p><strong>Pré-requis</strong></p><ul><li>Un cluster Kubernetes fonctionnel.</li><li>Un projet GitLab avec accès administrateur.</li></ul><p><strong>Étapes de Configuration</strong></p><ol><li><p><strong>Configurer un Runner GitLab</strong></p><ul><li><p><strong>Créer un namespace pour GitLab Runner</strong></p><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">kubectl create namespace gitlab-runner
</code></h5></div></li><li><p><strong>Déployer GitLab Runner via Helm</strong></p><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">helm repo add gitlab https://charts.gitlab.io
helm repo update
helm install --namespace gitlab-runner gitlab-runner gitlab/gitlab-runner
</code></h5></div></li><li><p><strong>Récupérer le token du Runner</strong></p></li></ul></li></ol><p><strong>Accéder à <code>Settings</code> -&gt; <code>CI/CD</code> -&gt; <code>Runners</code> dans votre projet GitLab</strong></p><p><strong>Copier le token de l&#8217;enregistrement du runner</strong></p><p><strong>Enregistrer le Runner avec GitLab</strong></p><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">kubectl <span class="hljs-built_in">exec</span> -it -n gitlab-runner $(kubectl get pods -n gitlab-runner -l app=gitlab-runner -o jsonpath=<span class="hljs-string">'{.items[0].metadata.name}'</span>) -- gitlab-runner register \
  --non-interactive \
  --url https://gitlab.com/ \
  --registration-token &lt;YOUR_REGISTRATION_TOKEN&gt; \
  --executor kubernetes \
  --kubernetes-namespace gitlab-runner \
  --description <span class="hljs-string">"GitLab Runner"</span> \
  --tag-list <span class="hljs-string">"k8s,docker"</span> \
  --run-untagged \
  --locked=<span class="hljs-literal">false</span>
</code></h5></div><ol><li><p><strong>Configurer le pipeline GitLab CI</strong></p><ul><li><strong>Créer un fichier <code>.gitlab-ci.yml</code> dans votre projet</strong><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md">yaml<div class="flex items-center"> </div></div><div class="overflow-y-auto p-4" dir="ltr"><strong><code class="!whitespace-pre hljs language-yaml"><span class="hljs-attr">stages:</span>
  <span class="hljs-bullet">-</span> <span class="hljs-string">build</span>
  <span class="hljs-bullet">-</span> <span class="hljs-string">deploy</span>

<span class="hljs-attr">build:</span>
  <span class="hljs-attr">stage:</span> <span class="hljs-string">build</span>
  <span class="hljs-attr">script:</span>
    <span class="hljs-bullet">-</span> <span class="hljs-string">docker</span> <span class="hljs-string">build</span> <span class="hljs-string">-t</span> <span class="hljs-string">registry.gitlab.com/your-namespace/your-project:latest</span> <span class="hljs-string">.</span>
    <span class="hljs-bullet">-</span> <span class="hljs-string">docker</span> <span class="hljs-string">push</span> <span class="hljs-string">registry.gitlab.com/your-namespace/your-project:latest</span>

<span class="hljs-attr">deploy:</span>
  <span class="hljs-attr">stage:</span> <span class="hljs-string">deploy</span>
  <span class="hljs-attr">script:</span>
    <span class="hljs-bullet">-</span> <span class="hljs-string">kubectl</span> <span class="hljs-string">apply</span> <span class="hljs-string">-f</span> <span class="hljs-string">k8s/deployment.yaml</span>
</code></strong></div><div dir="ltr"> </div></div></li></ul></li><li><p><strong>Configurer l&#8217;accès à Docker Registry</strong></p><ul><li><p><strong>Ajouter des variables de CI/CD pour Docker registry dans GitLab</strong></p><ul><li><strong>Accéder à <code>Settings</code> -&gt; <code>CI/CD</code> -&gt; <code>Variables</code></strong></li><li><strong>Ajouter <code>DOCKER_REGISTRY_USER</code> et <code>DOCKER_REGISTRY_PASSWORD</code></strong></li></ul></li><li><h5><strong>Modifier le <code>.gitlab-ci.yml</code> pour utiliser ces variables</strong></h5><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><h5 class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md">yaml</h5><div class="flex items-center"> </div><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-yaml"><span class="hljs-attr">build:</span>
  <span class="hljs-attr">stage:</span> <span class="hljs-string">build</span>
  <span class="hljs-attr">script:</span>
    <span class="hljs-bullet">-</span> <span class="hljs-string">docker</span> <span class="hljs-string">login</span> <span class="hljs-string">-u</span> <span class="hljs-string">$DOCKER_REGISTRY_USER</span> <span class="hljs-string">-p</span> <span class="hljs-string">$DOCKER_REGISTRY_PASSWORD</span> <span class="hljs-string">registry.gitlab.com</span>
    <span class="hljs-bullet">-</span> <span class="hljs-string">docker</span> <span class="hljs-string">build</span> <span class="hljs-string">-t</span> <span class="hljs-string">registry.gitlab.com/your-namespace/your-project:latest</span> <span class="hljs-string">.</span>
    <span class="hljs-bullet">-</span> <span class="hljs-string">docker</span> <span class="hljs-string">push</span> <span class="hljs-string">registry.gitlab.com/your-namespace/your-project:latest</span>
</code></h5></div></li></ul></li></ol><p><strong>Conclusion</strong></p><p>En suivant ces étapes, vous aurez configuré une pipeline CI/CD avec GitLab CI et Kubernetes, automatisant ainsi le déploiement de vos applications conteneurisées.</p>								</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://senetech.eu/automatiser-le-deploiement-mettre-en-place-une-pipeline-ci-cd-avec-gitlab-ci-et-kubernetes/">Automatiser le Déploiement : Mettre en Place une Pipeline CI/CD avec GitLab CI et Kubernetes</a> appeared first on <a href="https://senetech.eu">SENETECH</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Automatiser le Déploiement : Mettre en Place une Pipeline CI/CD avec Jenkins et Kubernetes</title>
		<link>https://senetech.eu/automatiser-le-deploiement-mettre-en-place-une-pipeline-ci-cd-avec-jenkins-et-kubernetes/</link>
		
		<dc:creator><![CDATA[admin8462]]></dc:creator>
		<pubDate>Fri, 28 Jun 2024 15:52:48 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://senetech.eu/?p=3217</guid>

					<description><![CDATA[<p>Mettez en place une pipeline CI/CD avec Jenkins et Kubernetes pour construire, tester et déployer vos applications automatiquement.</p>
<p>The post <a href="https://senetech.eu/automatiser-le-deploiement-mettre-en-place-une-pipeline-ci-cd-avec-jenkins-et-kubernetes/">Automatiser le Déploiement : Mettre en Place une Pipeline CI/CD avec Jenkins et Kubernetes</a> appeared first on <a href="https://senetech.eu">SENETECH</a>.</p>
]]></description>
			<style id="elementor-post-3217">.elementor-3217 .elementor-element.elementor-element-4916276{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-3217 .elementor-element.elementor-element-b681758{font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:400;color:var( --e-global-color-astglobalcolor0 );}</style>							<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="3217" class="elementor elementor-3217">
				<div class="elementor-element elementor-element-4916276 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent" data-id="4916276" data-element_type="container" data-e-type="container" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-b681758 elementor-widget elementor-widget-text-editor" data-id="b681758" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h3>Automatiser le Déploiement : Mettre en Place une Pipeline CI/CD avec Jenkins et Kubernetes</h3><p><strong>Introduction</strong></p><p>L&#8217;intégration continue et le déploiement continu (CI/CD) sont des pratiques essentielles pour des cycles de développement rapide et fiables. Cet article guide la mise en place d&#8217;une pipeline CI/CD utilisant Jenkins et Kubernetes.</p><p><strong>Pré-requis</strong></p><ul><li>Un cluster Kubernetes fonctionnel.</li><li>Jenkins installé et configuré (soit localement, soit sur Kubernetes).</li></ul><p><strong>Étapes de Configuration</strong></p><ol><li><p><strong>Installer Jenkins sur Kubernetes</strong></p><ul><li><p>Créer un namespace pour Jenkins</p><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md"> </div><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">kubectl create namespace jenkins
</code></h5></div></li><li><p>Déployer Jenkins via Helm</p><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">helm repo add jenkinsci https://charts.jenkins.io
helm repo update
helm install jenkins jenkinsci/jenkins --namespace jenkins
</code></h5></div></li><li><p>Récupérer le mot de passe initial</p><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">kubectl <span class="hljs-built_in">exec</span> --namespace jenkins -it svc/jenkins -c jenkins -- /bin/cat /run/secrets/chart-admin-password &amp;&amp; <span class="hljs-built_in">echo</span>
</code></h5></div></li><li><p>Accéder à Jenkins</p><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><h5 class="overflow-y-auto p-4" dir="ltr"><strong><code class="!whitespace-pre hljs language-bash">kubectl --namespace jenkins port-forward svc/jenkins 8080:8080
</code></strong></h5></div></li></ul></li><li><p><strong>Configurer Jenkins pour Kubernetes</strong></p><ul><li><p>Installer les plugins nécessaires</p><ul><li>Kubernetes Plugin</li><li>Git Plugin</li><li>Pipeline Plugin</li></ul></li><li><p>Configurer Jenkins avec le plugin Kubernetes</p><ul><li>Accéder à <code>Manage Jenkins</code> -&gt; <code>Manage Plugins</code></li><li>Installer le plugin Kubernetes</li></ul></li><li><p>Configurer le cloud Kubernetes dans Jenkins</p><ul><li>Accéder à<code>Manage Jenkins</code> -&gt; <code>Manage Nodes and Clouds</code> -&gt; <code>Configure Clouds</code></li><li>Ajouter un nouveau cloud Kubernetes et configurer les détails du cluster</li></ul></li></ul></li><li><p><strong>Créer une Pipeline Jenkins</strong></p><ul><li>Créer un nouveau job de type Pipeline</li><li>Configurer le script Jenkinsfile<div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md">groovy<div class="flex items-center"> </div></div><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-groovy">pipeline {
    agent {
        kubernetes {
            yaml """
            apiVersion: v1
            kind: Pod
            spec:
              containers:
              - name: jnlp
                image: jenkins/inbound-agent:latest
                args: ['\$(JENKINS_SECRET)', '\$(JENKINS_NAME)']
              - name: docker
                image: docker:latest
                command:
                - cat
                tty: true
            """
        }
    }
    stages {
        stage('Build') {
            steps {
                container('docker') {
                    sh 'docker build -t myapp:latest .'
                }
            }
        }
        stage('Deploy') {
            steps {
                container('kubectl') {
                    sh 'kubectl apply -f k8s/deployment.yaml'
                }
            }
        }
    }
}
</code></h5></div></li></ul></li></ol><p><strong>Conclusion</strong></p><p>En suivant ces étapes, vous aurez configuré une pipeline CI/CD avec Jenkins et Kubernetes, automatisant ainsi le déploiement de vos applications conteneurisées.</p>								</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://senetech.eu/automatiser-le-deploiement-mettre-en-place-une-pipeline-ci-cd-avec-jenkins-et-kubernetes/">Automatiser le Déploiement : Mettre en Place une Pipeline CI/CD avec Jenkins et Kubernetes</a> appeared first on <a href="https://senetech.eu">SENETECH</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Guide Complet pour Installer et Configurer un Cluster Kubernetes avec kubeadm</title>
		<link>https://senetech.eu/guide-complet-pour-installer-et-configurer-un-cluster-kubernetes-avec-kubeadm/</link>
		
		<dc:creator><![CDATA[admin8462]]></dc:creator>
		<pubDate>Fri, 28 Jun 2024 11:12:13 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://senetech.eu/?p=3206</guid>

					<description><![CDATA[<p>Guide complet pour installer et configurer un cluster Kubernetes avec kubeadm : prérequis, installation et configuration, étape par étape.</p>
<p>The post <a href="https://senetech.eu/guide-complet-pour-installer-et-configurer-un-cluster-kubernetes-avec-kubeadm/">Guide Complet pour Installer et Configurer un Cluster Kubernetes avec kubeadm</a> appeared first on <a href="https://senetech.eu">SENETECH</a>.</p>
]]></description>
			<style id="elementor-post-3206">.elementor-3206 .elementor-element.elementor-element-40d5e6b{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-3206 .elementor-element.elementor-element-e2db914{font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:400;color:var( --e-global-color-astglobalcolor0 );}</style>							<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="3206" class="elementor elementor-3206">
				<div class="elementor-element elementor-element-40d5e6b e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent" data-id="40d5e6b" data-element_type="container" data-e-type="container" data-settings="{&quot;_ha_eqh_enable&quot;:false}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-e2db914 elementor-widget elementor-widget-text-editor" data-id="e2db914" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Introduction</strong></p><p>Kubernetes est devenu la norme pour l&#8217;orchestration des conteneurs dans le monde du développement logiciel. Cet article fournit un guide détaillé pour installer et configurer un cluster Kubernetes en utilisant kubeadm, un outil officiel de Kubernetes.</p><p><strong>Pré-requis</strong></p><ul><li>Trois machines (ou VMs) avec une distribution Linux (Ubuntu 20.04 LTS recommandée).</li><li>Accès root sur toutes les machines.</li><li>Connexion réseau entre les machines.</li></ul><p><strong>Étapes de l&#8217;installation</strong></p><ol><li><h3><strong>Préparation des Machines</strong></h3><ul><li><p><strong>Mettre à jour les paquets</strong></p><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md"> </div><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">sudo apt update &amp;&amp; sudo apt upgrade -y</code></h5><p> </p><div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash"></code></div></div></li><li><p><strong>Désactiver le swap</strong></p><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md">bash</div><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">sudo swapoff -a<br />sudo sed -i <span class="hljs-string">'/ swap / s/^\(.*\)$/#\1/g'</span> /etc/fstab<br /></code></h5><p> </p></div></li><li><p><strong>Configurer le kernel</strong></p><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md">bash</div><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash"><span class="hljs-built_in">cat</span> &lt;&lt;<span class="hljs-string">EOF | sudo tee /etc/modules-load.d/k8s.conf<br />br_netfilter<br />EOF</span><br /></code></h5><p> </p></div><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><h5 class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md">bash</h5><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash"><span class="hljs-built_in">cat</span> &lt;&lt;<span class="hljs-string">EOF | sudo tee /etc/sysctl.d/k8s.conf<br />net.bridge.bridge-nf-call-ip6tables = 1<br />net.bridge.bridge-nf-call-iptables = 1<br />EOF</span><br />sudo sysctl --system<br /></code></h5><p> </p></div></li></ul></li><li><h3><strong>Installation de Docker</strong></h3><ul><li><p><strong>Installer les dépendances</strong></p><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md">bash</div><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common<br /></code></h5><p> </p></div></li><li><p><strong>Ajouter le GPG key et repository Docker</strong></p><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md">bash</div><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -<br />sudo add-apt-repository <span class="hljs-string">"deb [arch=amd64] https://download.docker.com/linux/ubuntu <span class="hljs-subst">$(lsb_release -cs)</span> stable"</span><br /></code></h5><p> </p></div></li><li><p><strong>Installer Docker</strong></p><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md">bash</div><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">sudo apt update<br />sudo apt install -y docker-ce docker-ce-cli containerd.io<br /></code></h5><p> </p></div></li><li><p><strong>Configurer Docker pour Kubernetes</strong></p><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md">bash</div><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash"><span class="hljs-built_in">cat</span> &lt;&lt;<span class="hljs-string">EOF | sudo tee /etc/docker/daemon.json<br />{<br />  "exec-opts": ["native.cgroupdriver=systemd"],<br />  "log-driver": "json-file",<br />  "log-opts": {<br />    "max-size": "100m"<br />  },<br />  "storage-driver": "overlay2"<br />}<br />EOF</span><br />sudo systemctl <span class="hljs-built_in">enable</span> docker<br />sudo systemctl daemon-reload<br />sudo systemctl restart docker<br /></code></h5><p> </p></div></li></ul></li><li><h3><strong>Installation de kubeadm, kubelet et kubectl</strong></h3><ul><li><p><strong>Ajouter le GPG key et repository Kubernetes</strong></p><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -<br />sudo apt-add-repository <span class="hljs-string">"deb http://apt.kubernetes.io/ kubernetes-xenial main"</span><br /></code></h5><p> </p></div></li><li><p><strong>Installer les paquets Kubernetes</strong></p><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">sudo apt update<br />sudo apt install -y kubelet kubeadm kubectl<br />sudo apt-mark hold kubelet kubeadm kubectl</code></h5><h5 class="overflow-y-auto p-4" dir="ltr"> </h5></div></li></ul></li><li><h3><strong>Initialisation du Cluster</strong></h3><ul><li><p><strong>Sur le master node</strong></p><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">sudo kubeadm init --pod-network-cidr=10.244.0.0/16</code></h5><h5 class="overflow-y-auto p-4" dir="ltr"> </h5></div></li><li><p><strong>Configurer kubectl pour l&#8217;utilisateur non-root</strong></p><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md"><div class="flex items-center"> </div></div><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash"><span class="hljs-built_in">mkdir</span> -p <span class="hljs-variable">$HOME</span>/.kube<br />sudo <span class="hljs-built_in">cp</span> -i /etc/kubernetes/admin.conf <span class="hljs-variable">$HOME</span>/.kube/config<br />sudo <span class="hljs-built_in">chown</span> $(<span class="hljs-built_in">id</span> -u):$(<span class="hljs-built_in">id</span> -g) <span class="hljs-variable">$HOME</span>/.kube/config</code></h5><h5 class="overflow-y-auto p-4" dir="ltr"> </h5></div></li><li><p><strong>Déployer un plugin de réseau</strong></p><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md"><div class="flex items-center"> </div></div><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml</code></h5><h5 class="overflow-y-auto p-4" dir="ltr"> </h5></div></li></ul></li><li><h3><strong>Ajout de nœuds au Cluster</strong></h3><ul><li><strong>Sur chaque nœud worker</strong><br /><div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"><div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md"><p> </p><div class="flex items-center"> </div></div><h5 class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">sudo kubeadm <span class="hljs-built_in">join</span> &lt;master-node-ip&gt;:&lt;master-node-port&gt; --token &lt;token&gt; --discovery-token-ca-cert-hash sha256:&lt;<span class="hljs-built_in">hash</span>&gt;</code></h5></div></li></ul></li></ol><p><strong>Conclusion</strong></p><p>Vous avez maintenant un cluster Kubernetes fonctionnel installé et configuré avec kubeadm. Vous pouvez déployer vos applications conteneurisées et profiter des avantages de Kubernetes pour l&#8217;orchestration.</p>								</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://senetech.eu/guide-complet-pour-installer-et-configurer-un-cluster-kubernetes-avec-kubeadm/">Guide Complet pour Installer et Configurer un Cluster Kubernetes avec kubeadm</a> appeared first on <a href="https://senetech.eu">SENETECH</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
