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ë?

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:
v1API;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:
emailSANstani quhetemailAddressesuriSANsâ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 .
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 . 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 .
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 , e cila do tĂ« zhvillohet mĂ« 28-30 Shtator, dhe , 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 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
