Doli cert-manager 1.0

Nëse i pyesim një inxhinier të përvojës dhe të mençur, çfarë mendon për cert-manager dhe pse të gjithë e përdorin, ai do të thotë, me një frymëzim të ngrohtë: "Të gjithë e përdorin, sepse nuk ka alternativa të arsyeshme. Miqtë tanë janë të shqetësuar dhe vuajnë, por vazhdojnë të jetojnë me këtë kaktus. Pse e duam? Sepse punon. Pse nuk e duam? Sepse vazhdimisht dalin versione të reja, të cilat sjellin veçori të reja. Dhe kështu na duhet të përditësojmë grupin përsëri e përsëri. Versionet e vjetra ndalen së funksionuari, sepse ka një komplot dhe një magji misterioze të madhe."

Por zhvilluesit e sigurojnë se me cert-manager 1.0 gjithçka do të ndryshojë.

Të besojmë?

Doli cert-manager 1.0

Cert-manager Ă«shtĂ« kontrolluesi "i lindur" pĂ«r menaxhimin e certifikatave nĂ« Kubernetes. Me tĂ«, mund tĂ« lĂ«shosh certifikata nga burime tĂ« ndryshme: Let’s Encrypt, HashiCorp Vault, Venafi, çifte çelĂ«sash pĂ«r nĂ«nshkrimin dhe certifikata vetĂ«-nĂ«nshkruara. Ai gjithashtu lejon mbajtjen e çelĂ«save tĂ« vlefshĂ«m pĂ«r njĂ« periudhĂ« tĂ« caktuar, si dhe pĂ«rpiqet tĂ« azhurnojĂ« automatikisht certifikatat nĂ« kohĂ«n e caktuar para skadimit tĂ« tyre. Cert-manager Ă«shtĂ« i bazuar nĂ« kube-lego dhe gjithashtu pĂ«rdor disa teknika nga projekte tĂ« tjera tĂ« ngjashme, si kube-cert-manager.

Shënimet për lëshimin

Me version 1.0 ne japim njĂ« shenjĂ« besimi pas tre vitesh zhvillimi tĂ« projektit cert-manager. GjatĂ« kĂ«saj kohe, ai ka evolucionuar ndjeshĂ«m nĂ« funksionalitet dhe stabilitet, por mĂ« sĂ« shumti – nĂ« komunitet. Sot shohim se shumĂ« njerĂ«z e pĂ«rdorin atĂ« pĂ«r tĂ« mbrojtur klasterĂ«t e tyre Kubernetes, si dhe po e implementojnĂ« nĂ« pjesĂ« tĂ« ndryshme tĂ« ekosistemit. NĂ« 16 lĂ«shimet e fundit, janĂ« rregulluar njĂ« mori gabimesh. Dhe ajo qĂ« duhej prishur – Ă«shtĂ« prishur. Disa pĂ«rmirĂ«sime nĂ« ndĂ«rveprimin me API e kanĂ« bĂ«rĂ« tĂ« lehtĂ« pĂ«rdorimin pĂ«r pĂ«rdoruesit. Ne kemi zgjidhur 1500 probleme nĂ« GitHub me njĂ« numĂ«r tĂ« madh kĂ«rkesash pĂ«r bashkim nga 253 anĂ«tarĂ« tĂ« komunitetit.

Duke lëshuar 1.0 ne shpallim zyrtarisht se cert-manager është një projekt i pjekur. Ne gjithashtu premtojmë të mbajmë të përputhshme API-në tonë. v1.

Një falënderim i madh për të gjithë ata që na kanë ndihmuar të bëjmë cert-manager gjatë këtyre tre viteve! Le të bëhet versioni 1.0 i pari nga shumë arritje të mëdha në të ardhmen.

Lëshimi 1.0 është një lëshim stabil me disa drejtim të prioritizuar:

  • v1 API;

  • Ekipa kubectl cert-manager status, pĂ«r ndihmĂ« nĂ« analizimin e problemeve;

  • PĂ«rdorimi i API-ve mĂ« tĂ« reja dhe tĂ« stabilizuara tĂ« Kubernetes;

  • PĂ«rmirĂ«sim tĂ« regjistrimit;

  • PĂ«rmirĂ«sime ACME.

Para paraqitjejeve, sigurohuni që të lexoni shënimet e azhurnimit.

API v1

Versioni v0.16 punonte me API v1beta1. Kjo solli disa ndryshime strukturore, dhe përmirësoi dokumentacionin për fushat e API. Versioni 1.0 mbështetet në këtë të gjitha me API v1. Ky API është i pari ynë stabil, përveç kësaj ne kemi dhënë tashmë garantita për përputhshmëri, por me API v1 ne premtojmë të mbajmë përputhshmërinë në vitet në vijim.

Ndryshimet e bëra (shënim: mjetet tona për konvertim do të kujdesen për gjithçka për ju):

Certifikata:

  • emailSANs tani quhet emailAddresses

  • uriSANs — uris

Këto ndryshime shtojnë përputhshmërinë me SAN të tjerë (emrat alternativë të subjekteve, shënim i përkthyesit), si dhe me API e Go. Ne po heqim këtë term nga API ynë.

Përditësimi

NĂ«se pĂ«rdorni Kubernetes 1.16+ — webhooks konvertuese do t'ju lejojnĂ« tĂ« punoni nĂ« tĂ« njĂ«jtĂ«n kohĂ« dhe pa probleme me versionet e API v1alpha2, v1alpha3, v1beta1 dhe v1. Me ndihmĂ«n e tyre do tĂ« jeni nĂ« gjendje tĂ« pĂ«rdorni versionin e ri tĂ« API pa ndryshuar ose ripĂ«rtrirĂ« burimet tuaja tĂ« vjetra. Ne fort rekomandojmĂ« tĂ« azhurnoni manifestet nĂ« API v1, pasi versionet e mĂ«parshme do tĂ« shpallen sĂ« shpejti tĂ« tĂ«ra. PĂ«rdoruesit legacy e versionit cert-manager do tĂ« kenĂ« ende qasje vetĂ«m nĂ« v1, hapat pĂ«r azhurnim mund tĂ« gjenden kĂ«tu.

Ekipa kubectl cert-manager status

Me përmirësime të reja në zgjerimin tonë për kubectl ka bërë më të lehtë eksplorimin e problemeve të lidhura me mosdhënien e certifikatave. kubectl cert-manager status tani jep shumë më tepër informacion rreth asaj që po ndodh me certifikatat, dhe gjithashtu tregon fazën e dhënies së certifikatës.

Pas instalimit të zgjerimit mund të nisni kubectl cert-manager status certificate, që do të rezultojë në kërkimin e certifikatës me emrin e specifikuar dhe çdo burim të lidhur, për shembull CertificateRequest, Secret, Issuer, si dhe Order dhe Challenges në rastin e përdorimit të certifikatave nga ACME.

Shembulli i zgjidhjes së certifikatës që ende nuk është gati:

$ kubectl cert-manager status certificate acme-certificate

Emri: acme-certificate
Të dhëna: default
Krijuar në: 2020-08-21T16:44:13+02:00
Kushtet:
  Gatshëm: False, Arsye: DoesNotExist, Mesazh: Po nxirret certifikata pasi Sekreti nuk ekziston
  Nxirje: True, Arsye: DoesNotExist, Mesazh: Po nxirret certifikata pasi Sekreti nuk ekziston
Emrat DNS:
- example.com
Ngjarjet:
  Lloji    Arsye     Mosha   Nga          Mesazh
  ----    ------     ----  ----          -------
  Normal  Nxirje    18m   cert-manager  Po nxirret certifikata pasi Sekreti nuk ekziston
  Normal  Gjeneruar  18m   cert-manager  Ruajti çelësin e ri privat në burimin e përkohshëm të Sekretit "acme-certificate-tr8b2"
  Normal  Kërkuar  18m   cert-manager  Krijuar burimin e ri të Kërkesës për Certifikatën "acme-certificate-qp5dm"
Lëshues:
  Emri: acme-issuer
  Lloji: Lëshues
  Kushtet:
    Gatshëm: True, Arsye: ACMEAccountRegistered, Mesazh: Llogaria ACME u regjistrua me serverin ACME
gabim kur u gjet Sekreti "acme-tls": sekretet "acme-tls" nuk u gjetën
Nuk Para: 
Nuk Pas: 
Koha e Rinovimit: 
Kërkesa për Certifikatë:
  Emri: acme-certificate-qp5dm
  Të dhëna: default
  Kushtet:
    Gatshëm: False, Arsye: Pendim, Mesazh: Duke pritur lëshimin e certifikatës nga rendi default/acme-certificate-qp5dm-1319513028: "pendim"
  Ngjarjet:
    Lloji    Arsye        Mosha   Nga          Mesazh
    ----    ------        ----  ----          -------
    Normal  RendiKrijuar  18m   cert-manager  Krijuar burimi i rendit default/acme-certificate-qp5dm-1319513028
Rendi:
  Emri: acme-certificate-qp5dm-1319513028
  Shteti: pendim, Arsye:
  Autoritetet:
    URL: https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/97777571, Identifikuesi: example.com, Shteti fillestar: pendim, Wildcard: false
Sfida:
- Emri: acme-certificate-qp5dm-1319513028-1825664779, Lloji: DNS-01, Token: J-lOZ39yNDQLZTtP_ZyrYojDqjutMAJOxCL1AkOEZWw, ÇelĂ«si: U_W3gGV2KWgIUonlO2me3rvvEOTrfTb-L5s0V1TJMCw, Shteti: pendim, Arsye: gabim nĂ« marrjen e llogarisĂ« tĂ« shĂ«rbimit clouddns: sekreti "clouddns-accoun" nuk u gjet, Procesi: true, Paraqitur: false

Ekipi gjithashtu mund të ndihmojë për të mësuar më shumë rreth përmbajtjes së certifikatës. shembulli i detajit për certifikatën e lëshuar nga Letsencrypt:

$ kubectl cert-manager status certificate example
Emri: example
[...]
Sekreti:
  Emri: example
  Vendi i Lëshuesit: SHBA
  Organizatë e Lëshuesit: Let's Encrypt
  Emri i Përgjithshëm i Lëshuesit: Let's Encrypt Authority X3
  PĂ«rdorimi i ÇelĂ«sit: NĂ«nshkrimi digjital, Enkriptimi i ÇelĂ«sit
  PĂ«rdorime tĂ« Zgjatura tĂ« ÇelĂ«sit: Autentikimi i Serverit, Autentikimi i Klientit
  Algoritmi i ÇelĂ«sit Publik: RSA
  Algoritmi i Nënshkrimit: SHA256-RSA
  ID e ÇelĂ«sit tĂ« Subjektit: 65081d98a9870764590829b88c53240571997862
  ID e ÇelĂ«sit tĂ« Autoritetit: a84a6a63047dddbae6d139b7a64565eff3a8eca1
  Numri Serial: 0462ffaa887ea17797e0057ca81d7ba2a6fb
  Ngjarjet:  
Nuk Para: 2020-06-02T04:29:56+02:00
Nuk Pas: 2020-08-31T04:29:56+02:00
Koha e Rinovimit: 2020-08-01T04:29:56+02:00
[...]

Përdorimi i API-ve më të fundit dhe të stabilizuar të Kubernetes

Cert-manager ishte ndër të parët që implementoi CRD-të e Kubernetes. Kjo, si dhe mbështetja jonë për versionet e Kubernetes deri në 1.11, na çoi në nevojën për të mbështetur të vjetruarin apiextensions.k8s.io/v1beta1 për CRD-të tona, si dhe admissionregistration.k8s.io/v1beta1 për webhooks tona. Aktualisht ato janë të vjetruara dhe do të hiqen në Kubernetes nga versioni 1.22. Me 1.0 tonë tani ofrojmë mbështetje të plotë apiextensions.k8s.io/v1 dhe admissionregistration.k8s.io/v1 për Kubernetes 1.16 (ku ato u shtuan) dhe më recente. Për përdoruesit e versioneve të fundit, ne vazhdojmë të ofrojmë mbështetje v1beta1 në versionin tonë. legacy Përmirësim në regjistrim

Regjistrimi i përmirësuar

NĂ« kĂ«tĂ« version ne pĂ«rditĂ«suam bibliotekĂ«n pĂ«r regjistrimin nĂ« klog/v2, e cila pĂ«rdoret nĂ« Kubernetes 1.19. Gjithashtu, ne kontrollojmĂ« çdo regjistrim qĂ« shkruajmĂ« pĂ«r tĂ« caktuar nivelin e duhur. Ne u udhĂ«hoqĂ«m nga udhĂ«zimi nga Kubernetes. JanĂ« pesĂ« (nĂ« tĂ« vĂ«rtetĂ« — gjashtĂ«, shĂ«nim i pĂ«rkthyesit) nivele regjistrimi, duke filluar nga Gabim (niveli 0), i cili jep vetĂ«m gabimet e rĂ«ndĂ«sishme, dhe duke pĂ«rfunduar me Trace (niveli 5), i cili do tĂ« ndihmojĂ« tĂ« kuptohet saktĂ«sisht se çfarĂ« po ndodh. Me kĂ«tĂ« ndryshim, ne reduktuam numrin e regjistrimeve, nĂ«se nuk keni nevojĂ« pĂ«r informacionin e debuggimit gjatĂ« pĂ«rdorimit tĂ« cert-manager.

Këshillë: si rregull, cert-manager funksionon në nivelin 2 (Info), mund ta anashkaloni këtë duke përdorur global.logLevel në Helm chart.

Shënim: shikimi i regjistrimeve është një mjet i fundit për zgjidhjen e problemeve. Për më shumë informacion, ju lutemi referojuni udhëzues.

N.B. redaktorit: PĂ«r tĂ« mĂ«suar mĂ« shumĂ« se si funksionon ajo nĂ«n kapuçin e Kubernetes, pĂ«r tĂ« marrĂ« kĂ«shilla tĂ« vlefshme nga praktikuesit mĂ«sues, si dhe pĂ«r ndihmĂ« cilĂ«sore nga mbĂ«shtetje teknike, mund tĂ« merrni pjesĂ« nĂ« intensĂ« online Baza Kubernetes, e cila do tĂ« zhvillohet mĂ« 28-30 Shtator, dhe Kubernetes Mega, e cila do tĂ« zhvillohet mĂ« 14–16 Tetor.

Përmirësimet ACME

PĂ«rdorimi mĂ« i zakonshĂ«m i cert-manager lidhjet me lĂ«shimin e certifikatave nga Let’s Encrypt duke pĂ«rdorur ACME. Versioni 1.0 karakterizohet nga pĂ«rdorimi i feedback-ut nga komuniteti pĂ«r tĂ« shtuar dy pĂ«rmirĂ«sime tĂ« vogla, por tĂ« rĂ«ndĂ«sishme nĂ« issuer-in tonĂ« ACME.

Çaktivizimi i krijimit tĂ« çelĂ«sit tĂ« llogarisĂ«

NĂ«se po pĂ«rdorni certifikata ACME nĂ« sasi tĂ« mĂ«dha, ndoshta po pĂ«rdorni tĂ« njĂ«jtĂ«n llogari nĂ« disa klasterĂ«, kĂ«shtu qĂ« kufizimet tuaja pĂ«r lĂ«shimin e certifikatave do tĂ« pĂ«rfshijnĂ« tĂ« gjitha. Kjo ka qenĂ« e mundur tashmĂ« nĂ« cert-manager duke kopjuar sekretin e specifikuar nĂ« privateKeySecretRef. Ky rast pĂ«rdorimi ishte mjaft problematik, pasi cert-manager pĂ«rpiqej tĂ« ishte i dobishĂ«m dhe me entuziazĂ«m krijonte njĂ« çelĂ«s tĂ« ri llogarie nĂ«se nuk e gjente atĂ«. Prandaj, ne e shtuam disableAccountKeyGeneration, pĂ«r t'ju mbrojtur nga njĂ« sjellje e tillĂ« nĂ«se vendosni kĂ«tĂ« parametrin nĂ« e vĂ«rtetĂ« — cert-manager nuk do tĂ« krijojĂ« çelĂ«sin dhe do t'ju njoftojĂ« se nuk Ă«shtĂ« ofruar njĂ« çelĂ«s llogarie.

apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
  name: letsencrypt
spec:
  acme:
    privateKeySecretRef:
      name: example-issuer-account-key
    disableAccountKeyGeneration: false

Zinxhiri i preferuar

29 Shtator Let’s Encrypt do tĂ« kalojĂ« nĂ« qendrĂ«n e saj tĂ« certifikimit tĂ« rrĂ«njĂ«s ISRG Root. Çertifikatat me nĂ«nshkrime tĂ« kryqĂ«zuara do tĂ« zĂ«vendĂ«sohen me Identrust. Ky ndryshim nuk kĂ«rkon ndryshime nĂ« parametrat e cert-manager, tĂ« gjitha çertifikatat e pĂ«rditĂ«suara ose tĂ« reja qĂ« lĂ«shohen pas kĂ«saj date do tĂ« pĂ«rdorin CA-nĂ« e re tĂ« rrĂ«njĂ«s.

Let’s Encrypt tashmĂ« po nĂ«nshkruan çertifikatat me kĂ«tĂ« CA dhe i ofron ato si "zinxhir alternativ çertifikatash" pĂ«rmes ACME. NĂ« kĂ«tĂ« version tĂ« cert-manager, ka mundĂ«sinĂ« pĂ«r tĂ« caktuar qasje nĂ« kĂ«to zinxhirĂ« nĂ« parametrat e lĂ«shuesit. NĂ« parametĂ«r preferredChain mund tĂ« specifikoni emrin e CA-sĂ« qĂ« do tĂ« pĂ«rdoret pĂ«r tĂ« lĂ«shuar çertifikatĂ«n. NĂ«se do tĂ« jetĂ« e disponueshme njĂ« çertifikatĂ« CA qĂ« korrespondon me kĂ«rkesĂ«n, ajo do t'ju lĂ«shojĂ« çertifikatĂ«n. Ju lutemi vini re se ky Ă«shtĂ« opsioni i preferuar; nĂ«se nuk gjendet asnjĂ«, do tĂ« lĂ«shohet njĂ« çertifikatĂ« e parazgjedhur. Kjo do tĂ« garantojĂ« qĂ« ju do tĂ« pĂ«rfshini pĂ«rditĂ«simin e çertifikatĂ«s tuaj pas heqjes sĂ« zinxhirit alternativ nga lĂ«shuesi ACME.

Sot tashmë mund të merrni çertifikata të nënshkruara ISRG Root, si:

apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
  name: letsencrypt
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    preferredChain: "ISRG Root X1"

NĂ«se preferoni tĂ« mbani zinxhirin IdenTrust — vendosni kĂ«tĂ« parametrin nĂ« DST Root CA X3:

apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
  name: letsencrypt
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    preferredChain: "DST Root CA X3"

Vini re se ky qendĂ«r certifikimi i rrĂ«njĂ«s sĂ« besimit do tĂ« dalĂ« nĂ« skadencĂ« sĂ« shpejti, Let’s Encrypt do ta mbajĂ« kĂ«tĂ« zinxhir aktiv deri mĂ« 29 Shtator 2021.

Burimi: habr.com

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster