Ilmus cert-manager 1.0

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?

Ilmus cert-manager 1.0

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:

  • v1 API;

  • 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:

  • emailSANs nĂŒĂŒd nimetatakse emailAddresses

  • uriSANs — 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 siin.

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 Kubernetes'i juhendist. 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 juhendit.

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 Kubernetes PĂ”hi, mis toimub 28.–30. septembril, ning Kubernetes Mega, 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 liigub 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

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster