Kui kĂŒsida kogenud tarkvarainsenerilt, mida ta arvab cert-manager'ist ja miks kĂ”ik seda kasutavad, siis spetsialist ohkab, kallistab usalduslikult ja vĂ€sinult ĂŒtleb: âKasutavad seda, kuna mĂ”istlikke alternatiive pole. Meie hiired nutavad, kuid elavad edasi selle kaktuse kĂ”rval. Miks me armastame? Sest see töötab. Miks me ei armasta? Sest pidevalt ilmuvad uued versioonid, mis kasutavad uusi funktsioone. Ja tuleb jĂ€rjest uuendada klastrit. Vanad versioonid lakavad töötamast, kuna toimub salajane ja suur mĂŒstiline ĆĄamanism.â
Aga arendajad vÀidavad, et cert-manager 1.0 muudab kÔike.
Kas usume?

Cert-manager on Kubernetes'i sertifikaatide haldajakontroller. Selle abil saab vĂ€ljastada sertifikaate erinevatest allikatest: Letâs Encrypt, HashiCorp Vault, Venafi, paarid vĂ”tmeid allkirjastamiseks ja isekirjutatud sertifikaate. See toetab ka vĂ”tmete kehtivust ja pĂŒĂŒab automaatselt uuendada sertifikaate enne nende aegumist. Cert-manager pĂ”hineb kube-legol ja kasutas sarnaste projektide, nĂ€iteks kube-cert-manager, meetodeid.
VÀljalaske mÀrkmed
Versiooniga 1.0 paneme usaldusmargi kolme aasta cert-manager'i projekti arendusele. Sel ajal on see oluliselt arenenud funktsionaalsuse ja stabiilsuse osas, kuid kĂ”ige rohkem â kogukonnas. TĂ€na nĂ€eme, kui paljud inimesed kasutavad seda oma Kubernetes'i klastrite kaitsmiseks ning rakendavad seda erinevates ökosĂŒsteemi osades. Viimases 16 vĂ€ljaandes on parandatud hulk vigu. Ja see, mis pidi purunema â on purustatud. Mitmed lĂ€henemised API-le on parandanud selle koostoimet kasutajatega. Oleme lahendanud 1500 probleemi GitHub'is ja 253 kogukonna liikme hulgast on tulnud veelgi rohkem ĂŒhendamise taotlusi.
VĂ€ljastades 1.0, kuulutame ametlikult, et cert-manager on kĂŒps projekt. Samuti lubame toetada meie API ĂŒhilduvust. v1.
Suur tÀnu kÔigile, kes on meid aidanud luua cert-manager'it nende kolme aasta jooksul! Loodame, et versioon 1.0 on esimene paljusid tulevasi suuri saavutusi.
VÀljaanne 1.0 on stabiilne vÀljund mitmete prioriteetsete suundadega:
v1API;Meeskond
kubectl cert-manager status, probleemide analĂŒĂŒsi abistamiseks;Kubernetes'i uusimate stabiilsete API-de kasutamine;
Parandatud logimine;
ACME parendused.
Enne vÀrskendamist lugege kindlasti uuenduste mÀrkmeid.
API v1
Versioon v0.16 töötas koos API-ga v1beta1. See tĂ”i endaga kaasa teatud struktuurimuudatused ning parandas API vĂ€ljade dokumentatsiooni. Versioon 1.0 toetub kĂ”ik sellele API-le v1. See API on meie esimene stabiilne versioon, samal ajal oleme me juba andnud ĂŒhilduvuse garantiisid, kuid API-ga v1 me lubame toetada ĂŒhilduvust aastaid ette.
Tehtud muudatused (mÀrkuseks: meie konverteerimistooted hoolitsevad kÔikide selle eest):
Sertifikaat:
emailSANsnĂŒĂŒd nimetatakseemailAddressesuriSANsâuris
Need muudatused lisavad ĂŒhilduvuse teiste SAN-idega (teema alternatiivsed nimed, tĂ”lkija mĂ€rkus), samuti Go API-ga. Me eemaldame selle termini meie API-st.
Upgrade
Kui kasutate Kubernetes 1.16+ â konverteerimisveebihookid vĂ”imaldavad teil samal ajal ja sujuvalt töötada API versioonidega v1alpha2, v1alpha3, v1beta1 ja v1. Nende abil saate kasutada uut API versiooni ilma, et peaksite oma vanu ressursse muutma vĂ”i ĂŒmber paigutama. Soovitame tungivalt vĂ€rskendada manifestide versioonidele API v1, kuna varasemad versioonid kuulutatakse peagi aegunuks. Kasutajad legacy cert-manager versioonidel saavad endiselt ligipÀÀsu ainult v1, vĂ€rskendamise sammud leiate .
Meeskond kubectl cert-manager status
Uute tĂ€iustustega meie laienduses on kubectl lihtsam uurida probleeme, mis on seotud sertifikaatide mittevĂ€ljastamisega. kubectl cert-manager status nĂŒĂŒd vĂ€ljastab palju rohkem teavet selle kohta, mis sertifikaatidega toimub, ning nĂ€itab sertifikaadi vĂ€ljastamise etappi.
PÀrast laienduse installimist saate kÀivitada kubectl cert-manager status certificate, mis otsib antud nimega sertifikaati ja kÔiki seotud ressursse, nÀiteks CertificateRequest, Secret, Issuer, ning Order ja Challenges ACME sertifikaatide kasutamisel.
Probleemi tÔrkeotsinguks veel valmis sertifikaadi nÀide:
$ kubectl cert-manager status certificate acme-certificate
Nimi: acme-certificate
Nimi ruumis: default
Loodud: 2020-08-21T16:44:13+02:00
Seisundid:
Valmis: False, PÔhjus: DoesNotExist, Teade: Sertifikaadi vÀljaandmine, kuna saladust ei eksisteeri
VÀljaandmine: True, PÔhjus: DoesNotExist, Teade: Sertifikaadi vÀljaandmine, kuna saladust ei eksisteeri
DNS-nimed:
- example.com
SĂŒndmused:
TĂŒĂŒp PĂ”hjus Vanus Kust Teade
---- ------ ---- ---- -------
Normaalselt VÀljaandmine 18m cert-manager Sertifikaadi vÀljastamine, kuna saladust ei eksisteeri
Normaalselt Genereeritud 18m cert-manager Salvestas uue privaatvÔtme ajutisse saladuse ressursse "acme-certificate-tr8b2"
Normaalselt NÔutud 18m cert-manager Loodi uus CertificateRequest ressurs "acme-certificate-qp5dm"
VĂ€ljaandja:
Nimi: acme-issuer
TĂŒĂŒp: VĂ€ljaandja
Seisundid:
Valmis: True, PÔhjus: ACMEAccountRegistered, Teade: ACME konto on registreeritud ACME serveris
viga saladuse "acme-tls" leidmisel: saladused "acme-tls" ei leitud
Alates:
Kuni:
Uuendamise aeg:
CertificateRequest:
Nimi: acme-certificate-qp5dm
Nimi ruumis: default
Seisundid:
Valmis: False, PÔhjus: Ootel, Teade: Ootab sertifikaadi vÀljaandmist korraldusse default/acme-certificate-qp5dm-1319513028: "ootel"
SĂŒndmused:
TĂŒĂŒp PĂ”hjus Vanus Kust Teade
---- ------ ---- ---- -------
Normaalselt TellimusLoodud 18m cert-manager Loodi Tellimuse ressurs default/acme-certificate-qp5dm-1319513028
Tellimus:
Nimi: acme-certificate-qp5dm-1319513028
Oleku: ootel, PÔhjus:
Volitused:
URL: https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/97777571, Identifikaator: example.com, Algne olek: ootel, Wildcard: false
VĂ€ljakutsed:
- Nimi: acme-certificate-qp5dm-1319513028-1825664779, TĂŒĂŒp: DNS-01, Token: J-lOZ39yNDQLZTtP_ZyrYojDqjutMAJOxCL1AkOEZWw, VĂ”ti: U_W3gGV2KWgIUonlO2me3rvvEOTrfTb-L5s0V1TJMCw, Oleku: ootel, PĂ”hjus: viga clouddns teenuse konto leidmisel: saladus "clouddns-accoun" ei leitud, Töötlemine: true, Esitamine: false
KÀsk vÔib samuti aidata koguda lisainfot sertifikaadi sisu kohta. NÀide detailide kohta Letscrypti vÀljastatud sertifikaadi jaoks:
$ kubectl cert-manager status certificate example
Nimi: example
[...]
Saladus:
Nimi: example
VĂ€ljaandja Riik: US
VĂ€ljaandja Organisatsioon: Let's Encrypt
VĂ€ljaandja Ăhine Nimi: Let's Encrypt Authority X3
VĂ”tme Kasutamine: Digitaalne allkiri, VĂ”tme krĂŒpteerimine
Laiendatud VÔtme Kasutused: Serveri autentimine, Kliendi autentimine
Avaliku VÔtme Algoritm: RSA
Allkirjastamisalgoritm: SHA256-RSA
Teema VÔtme ID: 65081d98a9870764590829b88c53240571997862
Autoriteedi VÔtme ID: a84a6a63047dddbae6d139b7a64565eff3a8eca1
Seerianumber: 0462ffaa887ea17797e0057ca81d7ba2a6fb
SĂŒndmused:
Alates: 2020-06-02T04:29:56+02:00
Kuni: 2020-08-31T04:29:56+02:00
Uuendamise aeg: 2020-08-01T04:29:56+02:00
[...]
Uute stabiilsete Kubernetes API-de kasutamine
Cert-manager oli ĂŒks esimesi, kes rakendas Kubernetes CRD-sid. See, samuti meie toetus Kubernetesi versioonidele kuni 1.11, on viinud meid selleni, et tuli toetada vananenud apiextensions.k8s.io/v1beta1 meie CRD-de jaoks, samuti admissionregistration.k8s.io/v1beta1 meie webhooks'i jaoks. Need on nĂŒĂŒd vananenud ja neid eemaldatakse Kubernetes'is alates versioonist 1.22. Meie 1.0 versiooniga pakume nĂŒĂŒd tĂ€ielikku tuge apiextensions.k8s.io/v1 ja admissionregistration.k8s.io/v1 Kubernetes 1.16 jaoks (kus need lisati) ja uuemate jaoks. Eelmiste versioonide kasutajatele pakume jĂ€tkuvalt tuge v1beta1 meie legacy versioon.
Parandatud logimine
Selles versioonis oleme uuendanud logimisraamatukogu versioonile klog/v2, mida kasutatakse Kubernetes 1.19-s. Kontrollime ka iga logi, mida kirjutame, et mÀÀrata sellele Ôige tase. Juhindus oli meil . Logimise tasemeid on viis (tÀpselt kuus, tÔlkija mÀrkus) alates Error (tase 0), mis kuvab ainult olulised vead, kuni Trace (tase 5), mis aitab tÀpselt aru saada, mis toimub. Selle muudatusega oleme vÀhendanud logide arvu, kui te ei vaja tÔrkeotsingu teavet cert-manageri töötamisel.
NĂ”uanne: vaikimisi töötab cert-manager tasemel 2 (Info), saate selle ĂŒle kirjutada, kasutades global.logLevel Helm chartis.
MÀrkus: logide vaatamine on viimase abinÔuna tÔrkeotsingul. Lisainfot leiate meie .
N.B. toimetaja: Et rohkem teada saada, kuidas see kĂ”ik Kubernetes'i all töötab, saada vÀÀrtuslikke nĂ”uandeid praktikute koolitajatelt ning kvaliteetset tehnilist tuge, saate osaleda veebiseminarides , mis toimub 28.â30. septembril, ning , mis toimub 14.â16. oktoobril.
ACME tÀiustused
Tavaliselt seostatakse cert-managerit Letâs Encrypt sertifikaatide vĂ€ljastamisega, kasutades ACME-d. Versioon 1.0 on tuntud kogukonna tagasiside alusel kahe vĂ€ikese, kuid olulise tĂ€iustuse lisamise poolest meie ACME issuerisse.
Konto vÔtme loomise keelamine
Kui kasutate ACME sertifikaate suures mahus, kasutate tĂ”enĂ€oliselt sama kontot mitmes klastris, mistĂ”ttu kehtivad teie sertifikaatide vĂ€ljastamise piirangud kĂ”igi jaoks. See oli juba vĂ”imalik cert-manageris, kui kopeerisite sekreedid, mis olid mÀÀratud privateKeySecretRef. See kasutusjuht oli piisavalt tĂ”rkevaba, kuna cert-manager ĂŒritas olla kasulik ja rÔÔmsalt lĂ”i uue konto vĂ”tme, kui seda ei leitud. SeetĂ”ttu lisasime disableAccountKeyGeneration, et kaitsta teid sellise kĂ€itumise eest, kui seate selle parameetri true â cert-manager ei loo vĂ”tit ja hoiatab teid, et kontovĂ”tit ei ole antud.
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: letsencrypt
spec:
acme:
privateKeySecretRef:
name: example-issuer-account-key
disableAccountKeyGeneration: false
Eelistatud ahel
29. september Letâs Encrypt omaenda juuresertifikaadi keskusesse ISRG Root. Ristallkirjad asendatakse Identrust. See muudatus ei nĂ”ua mingeid muudatusi cert-manageri seadetes, kĂ”ik pĂ€rast seda kuupĂ€eva vĂ€lja antud uuendatud vĂ”i uued sertifikaadid saavad uue juure CA.
Letâs Encrypt vĂ€ljastab juba sertifikaate selle CA kaudu ja pakub neid kui "alternatiivset sertifikaadi ahelat" ACME kaudu. Selles versioonis cert-manageris on vĂ”imalik mÀÀrata juurdepÀÀsu nendele ahelatele issueri seadetes. Parameetris preferredChain vĂ”ite mÀÀrata CA nime, millega sertifikaat vĂ€lja antakse. Kui teie pĂ€ringule vastav CA sertifikaat on saadaval, vĂ€ljastatakse teile sertifikaat. Pange tĂ€hele, et see on eelistatud variant, kui midagi ei leita, antakse vĂ€lja vaikimisi sertifikaat. See tagab, et te ikkagi uuendate oma sertifikaati, kui alternatiivne ahel eemaldatakse ACME issueri poolel.
Juba tÀna saab hankida sertifikaate, mille on allkirjastanud ISRG Root, jÀrgnevate kaudu:
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: letsencrypt
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
preferredChain: "ISRG Root X1"
Kui soovite jĂ€tta ahela IdenTrust â seate selle parameetri 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"
Pange tĂ€hele, et see juuresertifikaadi keskus jÀÀb peagi ajalukku, Letâs Encrypt toetab seda ahelat kuni 29. septembrini 2021.
Allikas: habr.com
