{"id":1118,"date":"2021-10-10T14:36:59","date_gmt":"2021-10-10T13:36:59","guid":{"rendered":"https:\/\/www.netexpertise.eu\/fr\/?p=1118"},"modified":"2021-11-13T09:15:33","modified_gmt":"2021-11-13T08:15:33","slug":"renouveler-un-certificat-letsencrypt-automatiquement-sur-kubernetes","status":"publish","type":"post","link":"http:\/\/www.netexpertise.eu\/fr\/docker\/kubernetes\/renouveler-un-certificat-letsencrypt-automatiquement-sur-kubernetes.html","title":{"rendered":"Renouveler un Certificat LetsEncrypt Automatiquement sur Kubernetes"},"content":{"rendered":"\n<h2>Installer cert-manager<\/h2>\n\n\n\n<p><a href=\"https:\/\/cert-manager.io\/docs\/\" target=\"_blank\" rel=\"noreferrer noopener\">Cert-manager<\/a> est un chart Helm apportant ses propres ressources que vous pouvez installer sur un cluster Kubernetes. Il aide \u00e0 l&rsquo;automatisation des certificats, leur renouvellement et leur gestion. C&rsquo;est une v\u00e9ritable valeur ajout\u00e9e lorsque vous fa\u00eetes appel \u00e0 des fournisseurs de certificat qui offrent des APIs permettant d&rsquo;automatiser ces traitements. De plus, il vaut mieux renouveler les certificats LetsEncrypt automatiquement puisqu&rsquo;ils ne sont valides que pour une p\u00e9riode de 3 mois.<br><br>cert-manager est disponible sur le d\u00e9p\u00f4t Helm Jetstack, ajoutez-le \u00e0 votre liste de repo comme ceci:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">helm repo add jetstack https:\/\/charts.jetstack.io\nhelm repo update<\/code><\/pre>\n\n\n\n<p><br>Cert-manager tourne dans son propre namespace, donc cr\u00e9ez-le tout d&rsquo;abord, et installez le chart Helm cert-manager<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">kubectl create namespace cert-manager\nhelm install cert-manager \\\n     --namespace cert-manager jetstack\/cert-manager \\\n     --set installCRDs=true<\/code><\/pre>\n\n\n\n<p><em>&#8211;set installCRDs=true<\/em> indique \u00e0 cert-manager d&rsquo;installer les custom ressources tels que les certificaterequests, les certificates ou encore les clusterissuers.<\/p>\n\n\n\n<h2><br>Cluster Issuer LetsEncrypt<\/h2>\n\n\n\n<p>Un cluster issuer va contenir les informations d&rsquo;un fournisseur de certificat. Si vous souhaitez obtenir vos certificats SSL sign\u00e9s par LetsEncrypt, vous devrez appliquer ce fichier yaml au cluster Kubernetes:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"yaml\" class=\"language-yaml\">apiVersion: cert-manager.io\/v1\nkind: ClusterIssuer\nmetadata:\n  name: letsencrypt-prod\nspec:\n  acme:\n    email: it@company.xxx\n    privateKeySecretRef:\n      name: letsencrypt-prod\n    server: https:\/\/acme-v02.api.letsencrypt.org\/directory\n    solvers:\n    - http01:\n        ingress:\n          class: public-iks-k8s-nginx<\/code><\/pre>\n\n\n\n<p><br>LetsEncrypt appartient \u00e0 la cat\u00e9gorie des issuers <a href=\"https:\/\/cert-manager.io\/docs\/configuration\/acme\/\" target=\"_blank\" rel=\"noreferrer noopener\">ACME<\/a>, ce qui signifie qu&rsquo;ils ont la confiance des navigateurs web. Il fournit un certificat apr\u00e8s avoir v\u00e9rifi\u00e9 que vous \u00eates le propri\u00e9taire du domaine. La v\u00e9rification peut se faire de 2 fa\u00e7ons: soit une entr\u00e9e DNS TXT ou un challenge HTTP. Kubernetes dessert du HTTP donc la plupart choisiront le challenge HTTP01. Cela se d\u00e9finit dans la section solvers.<br><br>La seconde information importante est la classe. cert-manager va regarder les ingresses dont la classe correspond et leur fournira un certificat SSL. L&rsquo;annotation classe des ingresses publics <a href=\"\/fr\/tag\/ibmcloud\">IBM Cloud<\/a> s&rsquo;appelle public-iks-k8s-nginx, vous devez donc la param\u00e9trer dans la configuration du cluster issuer. V\u00e9rifiez votre ingress pour adapter \u00e0 vos propres besoins.<\/p>\n\n\n\n<h2><br>D\u00e9finition de l&rsquo;Ingress<\/h2>\n\n\n\n<p>Maintenant que vous avez un cluster issuer et que cert-manager est install\u00e9, vous devrez leur sp\u00e9cifier \u00e0 quel ingress ils doivent fournir des certificates. Cela se fait avec les annotations de l&rsquo;ingress.<br>Sp\u00e9cifiez le cluster issuer dans l&rsquo;annotation <em>cert-manager.io\/cluster-issuer<\/em> tout simplement.<br>Comme vu pr\u00e9c\u00e9demment, l&rsquo;annotation <em>kubernetes.io\/ingress.class<\/em> est fix\u00e9e \u00e0 <em>public-iks-k8s-nginx<\/em> sur IKS. Entrez ce qui convient dans votre setup.<br>Ajoutez <em>acme.cert-manager.io\/http01-edit-in-place<\/em> selon que vous vouliez un ingress s\u00e9par\u00e9 pour le challenge HTTP ou qu&rsquo;il fasse partie de l&rsquo;ingress existant.<br><br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"yaml\" class=\"language-yaml\">apiVersion: networking.k8s.io\/v1\nkind: Ingress\nmetadata:\n  name: app-ingress\n  labels:\n    name: app-ingress\n  annotations:\n    acme.cert-manager.io\/http01-edit-in-place: \"true\"\n    cert-manager.io\/cluster-issuer: letsencrypt-prod\n    kubernetes.io\/ingress.class: public-iks-k8s-nginx\nspec:\n  tls:\n  - hosts:\n    - www.netexpertise.eu\n    secretName: letsencrypt-netexpertise\n\n  rules:\n  - host: www.netexpertise.eu\n    http:\n      paths:\n      - path: \/\n        pathType: Prefix\n        backend:\n          service:\n            name: app-backend-app\n            port:\n              number: 80<\/code><\/pre>\n\n\n\n<h2><br>Renouveler les Certificats LetsEncrypt<\/h2>\n\n\n\n<p>Cert-manager va cr\u00e9er ingress, service et pod dans votre namespace qui fournira une page web pour le challenge HTTP. Ils dispara\u00eetront d\u00e8s que le certificat LetsEncrypt a \u00e9t\u00e9 renouvel\u00e9 et d\u00e9livr\u00e9 dans le secret d\u00e9fini dans secretName.<br><br>Si vous rencontrez un probl\u00e8me, vous pouvez jeter un oeil aux logs des diff\u00e9rents pods dans le namespace cert-manager, ainsi que dans le statut de la ressource certificate. Un <em>kubectl describe cert<\/em> devrait donner toutes les informations n\u00e9cessaires.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Installer cert-manager Cert-manager est un chart Helm apportant ses propres ressources que vous pouvez installer sur un cluster Kubernetes. Il aide \u00e0 l&rsquo;automatisation des certificats, leur renouvellement et leur gestion. C&rsquo;est une v\u00e9ritable valeur ajout\u00e9e lorsque vous fa\u00eetes appel \u00e0 des fournisseurs de certificat qui offrent des APIs permettant d&rsquo;automatiser ces traitements. De plus, il [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false},"categories":[459],"tags":[430,396,453,461,464,30],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Netexpertise - Renouveler un Certificat LetsEncrypt Automatiquement sur Kubernetes<\/title>\n<meta name=\"description\" content=\"Cr\u00e9ez et renouvelez un certificat SSL LetsEncrypt avec Cert Manager sur IBM Cloud Kubernetes Services et autres fournisseurs automatiquement\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.netexpertise.eu\/fr\/docker\/kubernetes\/renouveler-un-certificat-letsencrypt-automatiquement-sur-kubernetes.html\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Netexpertise - Renouveler un Certificat LetsEncrypt Automatiquement sur Kubernetes\" \/>\n<meta property=\"og:description\" content=\"Cr\u00e9ez et renouvelez un certificat SSL LetsEncrypt avec Cert Manager sur IBM Cloud Kubernetes Services et autres fournisseurs automatiquement\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.netexpertise.eu\/fr\/docker\/kubernetes\/renouveler-un-certificat-letsencrypt-automatiquement-sur-kubernetes.html\" \/>\n<meta property=\"og:site_name\" content=\"Netexpertise\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-10T13:36:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-13T08:15:33+00:00\" \/>\n<meta name=\"author\" content=\"dave\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@netexpertise\" \/>\n<meta name=\"twitter:site\" content=\"@netexpertise\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/docker\/kubernetes\/renouveler-un-certificat-letsencrypt-automatiquement-sur-kubernetes.html\",\"url\":\"http:\/\/www.netexpertise.eu\/fr\/docker\/kubernetes\/renouveler-un-certificat-letsencrypt-automatiquement-sur-kubernetes.html\",\"name\":\"Netexpertise - Renouveler un Certificat LetsEncrypt Automatiquement sur Kubernetes\",\"isPartOf\":{\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/#website\"},\"datePublished\":\"2021-10-10T13:36:59+00:00\",\"dateModified\":\"2021-11-13T08:15:33+00:00\",\"author\":{\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/e398f0307e2b167f6b884c4953be2632\"},\"description\":\"Cr\u00e9ez et renouvelez un certificat SSL LetsEncrypt avec Cert Manager sur IBM Cloud Kubernetes Services et autres fournisseurs automatiquement\",\"breadcrumb\":{\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/docker\/kubernetes\/renouveler-un-certificat-letsencrypt-automatiquement-sur-kubernetes.html#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/www.netexpertise.eu\/fr\/docker\/kubernetes\/renouveler-un-certificat-letsencrypt-automatiquement-sur-kubernetes.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/docker\/kubernetes\/renouveler-un-certificat-letsencrypt-automatiquement-sur-kubernetes.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"http:\/\/www.netexpertise.eu\/fr\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Renouveler un Certificat LetsEncrypt Automatiquement sur Kubernetes\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/#website\",\"url\":\"http:\/\/www.netexpertise.eu\/fr\/\",\"name\":\"Netexpertise\",\"description\":\"Syst\u00e8mes \/ R\u00e9seaux \/ DevOps\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/www.netexpertise.eu\/fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/e398f0307e2b167f6b884c4953be2632\",\"name\":\"dave\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/1.gravatar.com\/avatar\/1129916e1f4955bd632f27f836f64e55?s=96&d=mm&r=g\",\"contentUrl\":\"http:\/\/1.gravatar.com\/avatar\/1129916e1f4955bd632f27f836f64e55?s=96&d=mm&r=g\",\"caption\":\"dave\"},\"sameAs\":[\"http:\/\/www.netexpertise.eu\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Netexpertise - Renouveler un Certificat LetsEncrypt Automatiquement sur Kubernetes","description":"Cr\u00e9ez et renouvelez un certificat SSL LetsEncrypt avec Cert Manager sur IBM Cloud Kubernetes Services et autres fournisseurs automatiquement","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/www.netexpertise.eu\/fr\/docker\/kubernetes\/renouveler-un-certificat-letsencrypt-automatiquement-sur-kubernetes.html","og_locale":"fr_FR","og_type":"article","og_title":"Netexpertise - Renouveler un Certificat LetsEncrypt Automatiquement sur Kubernetes","og_description":"Cr\u00e9ez et renouvelez un certificat SSL LetsEncrypt avec Cert Manager sur IBM Cloud Kubernetes Services et autres fournisseurs automatiquement","og_url":"http:\/\/www.netexpertise.eu\/fr\/docker\/kubernetes\/renouveler-un-certificat-letsencrypt-automatiquement-sur-kubernetes.html","og_site_name":"Netexpertise","article_published_time":"2021-10-10T13:36:59+00:00","article_modified_time":"2021-11-13T08:15:33+00:00","author":"dave","twitter_card":"summary_large_image","twitter_creator":"@netexpertise","twitter_site":"@netexpertise","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/www.netexpertise.eu\/fr\/docker\/kubernetes\/renouveler-un-certificat-letsencrypt-automatiquement-sur-kubernetes.html","url":"http:\/\/www.netexpertise.eu\/fr\/docker\/kubernetes\/renouveler-un-certificat-letsencrypt-automatiquement-sur-kubernetes.html","name":"Netexpertise - Renouveler un Certificat LetsEncrypt Automatiquement sur Kubernetes","isPartOf":{"@id":"http:\/\/www.netexpertise.eu\/fr\/#website"},"datePublished":"2021-10-10T13:36:59+00:00","dateModified":"2021-11-13T08:15:33+00:00","author":{"@id":"http:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/e398f0307e2b167f6b884c4953be2632"},"description":"Cr\u00e9ez et renouvelez un certificat SSL LetsEncrypt avec Cert Manager sur IBM Cloud Kubernetes Services et autres fournisseurs automatiquement","breadcrumb":{"@id":"http:\/\/www.netexpertise.eu\/fr\/docker\/kubernetes\/renouveler-un-certificat-letsencrypt-automatiquement-sur-kubernetes.html#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.netexpertise.eu\/fr\/docker\/kubernetes\/renouveler-un-certificat-letsencrypt-automatiquement-sur-kubernetes.html"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/www.netexpertise.eu\/fr\/docker\/kubernetes\/renouveler-un-certificat-letsencrypt-automatiquement-sur-kubernetes.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"http:\/\/www.netexpertise.eu\/fr"},{"@type":"ListItem","position":2,"name":"Renouveler un Certificat LetsEncrypt Automatiquement sur Kubernetes"}]},{"@type":"WebSite","@id":"http:\/\/www.netexpertise.eu\/fr\/#website","url":"http:\/\/www.netexpertise.eu\/fr\/","name":"Netexpertise","description":"Syst\u00e8mes \/ R\u00e9seaux \/ DevOps","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.netexpertise.eu\/fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"http:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/e398f0307e2b167f6b884c4953be2632","name":"dave","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"http:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/image\/","url":"http:\/\/1.gravatar.com\/avatar\/1129916e1f4955bd632f27f836f64e55?s=96&d=mm&r=g","contentUrl":"http:\/\/1.gravatar.com\/avatar\/1129916e1f4955bd632f27f836f64e55?s=96&d=mm&r=g","caption":"dave"},"sameAs":["http:\/\/www.netexpertise.eu"]}]}},"_links":{"self":[{"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/posts\/1118"}],"collection":[{"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/comments?post=1118"}],"version-history":[{"count":0,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/posts\/1118\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/media?parent=1118"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/categories?post=1118"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/tags?post=1118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}