Ger hûn ji endezyarek xwedî ezmûn û jîr bipirsin ka ew çi difikire li ser rêveberê cert-rêveberê û çima her kes wê bikar tîne, pispor dê axînekê bide wî, bi nepenî wî hembêz bike û bi westayî bêje: "Her kes wê bikar tîne, ji ber ku alternatîfên maqûl tune. Mişkên me digirîn, xwe diqelînin, lê bi vî kaktusî re jiyana xwe didomînin. Çima em hez dikin? Ji ber ku ew dixebite. Çima em hez nakin? Ji ber ku guhertoyên nû bi berdewamî têne derxistin ku taybetmendiyên nû bikar tînin. Û hûn neçar in ku komê dîsa û dîsa nûve bikin. Û guhertoyên kevn dev ji xebatê berdidin, ji ber ku komployek û şamanîzmek nepenî ya mezin heye."
Lê pêşdebiran îdîa dikin ku bi cert-rêveber 1.0 her tişt wê biguhere.
Ma em jê bawer bikin?

Gerînendeyê Cert kontrolkerek rêveberiya sertîfîkayê ya Kubernetes e. Ew dikare ji bo derxistina sertîfîkayên ji çavkaniyên cihêreng were bikar anîn: Werin em Şîfre bikin, HashiCorp Vault, Venafi, cotên mifteyê îmzekirin û xwe-îmzakirî. Di heman demê de ew dihêle hûn bişkokan nûve bikin û hewl dide ku bixweber sertîfîkayan di demek diyarkirî de berî ku biqedin nûve bikin. Cert-manager li ser bingeha kube-lego-yê ye, û di heman demê de hin teknîkên ji projeyên din ên bi vî rengî, wekî kube-cert-manager, bikar tîne.
Release Notes
Bi guhertoya 1.0 re me di sê salên pêşkeftina projeya cert-rêveberê de nîşanek pêbaweriyê danî. Di vê demê de, ew di fonksîyon û aramiyê de, lê ya herî zêde di civakê de, pir pêş ketiye. Îro em dibînin ku gelek kes wê bikar tînin da ku komên xwe yên Kubernetes ewle bikin, û her weha wê di beşên cihêreng ên ekosîstemê de bicîh bikin. Di 16 weşanên paşîn de komek xeletî hatine rast kirin. Û ya ku diviyabû bihata şikandin hat şikandin. Gelek serdanên API-ê têkiliya wê bi bikarhêneran re çêtir kirin. Me 1500 pirsgirêk li ser GitHub çareser kirin, digel daxwazên 253 endamên civatê hêj bêtir.
Bi berdana 1.0 em bi fermî radigihînin ku cert-rêveber projeyek gihîştî ye. Em jî soz didin ku API-ya xwe lihevhatî bihêlin v1.
Gelek spas ji her kesê ku di van sê salan de alîkariya me kir ku em cert-rêveberê çêbikin! Bila guhertoya 1.0 bibe yekem ji gelek tiştên mezin ên ku werin.
Release 1.0 serbestberdanek bi îstîqrar e ku bi çend deverên pêşîn hene:
v1API;tîma
kubectl cert-manager status, ji bo alîkariya analîzkirina pirsgirêkan;Bikaranîna herî dawîn API-yên stabîl ên Kubernetes;
Têketinê çêtir kirin;
Pêşveçûnên ACME.
Bê guman berî nûvekirinê notên nûvekirinê bixwînin.
API v1
Guhertoya v0.16 bi API-ê re xebitî v1beta1. Vê yekê hin guhertinên binesaziyê zêde kir û di heman demê de belgeya qada API-yê jî çêtir kir. Guhertoya 1.0 li ser vê yekê hemî bi API-ê ava dike v1. Ev API-ya meya yekem a stabîl e, di heman demê de me berê jî garantiyên lihevhatinê dane, lê bi API-yê re v1 Em soz didin ku ji bo salên pêş de lihevhatinê biparêzin.
Guhertinên hatine çêkirin (têbînî: amûrên veguheztina me dê her tiştî ji bo we bigire):
Şehade:
emailSANsniha tê gotinemailAddressesuriSANs-uris
Van guhertinan lihevhatina bi SAN yên din re zêde dikin (navên alt yên mijarê, approx. wergêr), û her weha bi Go API re. Em vê termê ji API-ya xwe derdixin.
Rojanekirin
Ger hûn Kubernetes 1.16+ bikar tînin - veguherandina webhookan dê bihêle ku hûn bi guhertoyên API-ê re hevdem û bêkêmasî bixebitin v1alpha2, v1alpha3, v1beta1 и v1. Bi wan re, hûn dikarin guhertoya nû ya API-ê bêyî guheztin an veguheztina çavkaniyên xweyên kevn bikar bînin. Em bi tundî pêşniyar dikin ku manîfestoyên xwe li API-yê nûve bikin v1, ji ber ku guhertoyên berê dê di demek nêzîk de werin derxistin. Bikarhêner legacy guhertoyên cert-rêveber dê hîn jî tenê bigihîjin v1, gavên nûvekirinê têne dîtin .
fermana statuya cert-rêveberê kubectl
Bi pêşkeftinên nû di dirêjkirina me de kubectl Vekolîna pirsgirêkên ku bi nedana sertîfîkayan ve girêdayî ne hêsantir bûye. kubectl cert-manager status niha bêtir agahdarî li ser tiştên ku bi sertîfîkayan diqewime peyda dike, û hem qonaxa ku sertîfîka tê de tê derxistin nîşan dide.
Piştî sazkirina pêvekê hûn dikarin birevin kubectl cert-manager status certificate <имя-сертификата>, ku dê di sertîfîkayê de bi navê diyarkirî û her çavkaniyên têkildar, wek CertificateRequest, Secret, Issuer, û Order and Challenges di doza sertîfîkayên ji ACME de bigerin.
Nimûneyek xeletkirina sertîfîkayek ku hîn ne amade ye:
$ kubectl cert-manager status certificate acme-certificate
Name: acme-certificate
Namespace: default
Created at: 2020-08-21T16:44:13+02:00
Conditions:
Ready: False, Reason: DoesNotExist, Message: Issuing certificate as Secret does not exist
Issuing: True, Reason: DoesNotExist, Message: Issuing certificate as Secret does not exist
DNS Names:
- example.com
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Issuing 18m cert-manager Issuing certificate as Secret does not exist
Normal Generated 18m cert-manager Stored new private key in temporary Secret resource "acme-certificate-tr8b2"
Normal Requested 18m cert-manager Created new CertificateRequest resource "acme-certificate-qp5dm"
Issuer:
Name: acme-issuer
Kind: Issuer
Conditions:
Ready: True, Reason: ACMEAccountRegistered, Message: The ACME account was registered with the ACME server
error when finding Secret "acme-tls": secrets "acme-tls" not found
Not Before: <none>
Not After: <none>
Renewal Time: <none>
CertificateRequest:
Name: acme-certificate-qp5dm
Namespace: default
Conditions:
Ready: False, Reason: Pending, Message: Waiting on certificate issuance from order default/acme-certificate-qp5dm-1319513028: "pending"
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal OrderCreated 18m cert-manager Created Order resource default/acme-certificate-qp5dm-1319513028
Order:
Name: acme-certificate-qp5dm-1319513028
State: pending, Reason:
Authorizations:
URL: https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/97777571, Identifier: example.com, Initial State: pending, Wildcard: false
Challenges:
- Name: acme-certificate-qp5dm-1319513028-1825664779, Type: DNS-01, Token: J-lOZ39yNDQLZTtP_ZyrYojDqjutMAJOxCL1AkOEZWw, Key: U_W3gGV2KWgIUonlO2me3rvvEOTrfTb-L5s0V1TJMCw, State: pending, Reason: error getting clouddns service account: secret "clouddns-accoun" not found, Processing: true, Presented: false
Tîm jî dikare ji we re bibe alîkar ku hûn di derheqê naveroka sertîfîkayê de bêtir fêr bibin. Nimûne hûrguliyên ji bo sertîfîkayek ku ji hêla Letsencrypt ve hatî derxistin:
$ kubectl cert-manager status certificate example
Name: example
[...]
Secret:
Name: example
Issuer Country: US
Issuer Organisation: Let's Encrypt
Issuer Common Name: Let's Encrypt Authority X3
Key Usage: Digital Signature, Key Encipherment
Extended Key Usages: Server Authentication, Client Authentication
Public Key Algorithm: RSA
Signature Algorithm: SHA256-RSA
Subject Key ID: 65081d98a9870764590829b88c53240571997862
Authority Key ID: a84a6a63047dddbae6d139b7a64565eff3a8eca1
Serial Number: 0462ffaa887ea17797e0057ca81d7ba2a6fb
Events: <none>
Not Before: 2020-06-02T04:29:56+02:00
Not After: 2020-08-31T04:29:56+02:00
Renewal Time: 2020-08-01T04:29:56+02:00
[...]
API-yên herî dawî yên Kubernetes-ê yên stabîl bikar bînin
Rêvebirê Cert-ê yek ji wan yekem bû ku Kubernetes CRDs bicîh anî. Ev, digel piştgiriya me ya ji bo guhertoyên Kubernetes heya 1.11-an, tê vê wateyê ku pêdivî ye ku em piştgiriyê bidin mîrasê. apiextensions.k8s.io/v1beta1 ji bo CRDsên me jî admissionregistration.k8s.io/v1beta1 ji bo webhooks me. Vana naha hatine betal kirin û dê di guhertoya 1.22-an de li Kubernetes werin rakirin. Bi 1.0-a xwe em naha piştgirîya tevahî pêşkêş dikin apiextensions.k8s.io/v1 и admissionregistration.k8s.io/v1 ji bo Kubernetes 1.16 (ku ew lê zêde bûn) û paşê. Ji bo bikarhênerên guhertoyên berê, em piştgiriya xwe berdewam dikin v1beta1 di me de legacy versions.
Têketinê çêtir kirin
Di vê versiyonê de me pirtûkxaneya têketinê nû kiriye klog/v2, di Kubernetes 1.19 de tê bikaranîn. Di heman demê de em her kovara ku em dinivîsin jî dinirxînin da ku pê ewle bibin ku ew di asta guncan de tê destnîşankirin. Em bi vê rêberiyê kirin . Pênc hene (bi rastî - şeş, approx. wergêr) astên tomarkirinê ji dest pê dikin Error (asta 0), ku tenê xeletiyên girîng çap dike, û bi dawî dibe Trace (asta 5), ku dê ji we re bibe alîkar ku hûn bi rastî bibînin ka çi diqewime. Bi vê guheztinê re me hejmara têketin kêm kir ger dema ku hûn gerînendeyê cert-rêveberê dimeşînin hewcedariya we bi agahdariya verastkirinê tune.
Serişte: ji hêla xwerû ve rêveberê sertîfîkayê di asta 2-ê de dimeşe (Info), hûn dikarin vê bikar bînin global.logLevel di nexşeya Helmê de.
Nîşe: Vedîtina têketin gava ku hûn pirsgirêkê çareser bikin çareya weya paşîn e. Ji bo bêtir agahdarî ji me re binihêrin .
Edîtorê n.b.: Ji bo ku hûn bêtir fêr bibin ka ew çawa hemî di bin serpêhatiya Kubernetes de dixebite, şîretên hêja ji mamosteyên praktîkî, û her weha piştgirîya teknîkî ya bilind-kalîteyê bistînin, hûn dikarin beşdarî qursên zexm ên serhêl bibin. , ku wê bê lidarxistin Îlon 28-30, û , ku dê di 14-16 Cotmehê de pêk were.
Pêşveçûnên ACME
Bikaranîna herî gelemperî ya cert-rêveber dibe ku bi derxistina sertîfîkayên ji Let's Encrypt bi karanîna ACME ve girêdayî ye. Guhertoya 1.0 ji bo karanîna bertekên civakê ji bo lê zêdekirina du çêtirkirinên piçûk lê girîng li berdevkê meya ACME-yê girîng e.
Nifşa Mifteya Hesabê neçalak bike
Ger hûn sertîfîkayên ACME-ê di cildên mezin de bikar tînin, dibe ku hûn heman hesabê li ser gelek koman bikar bînin, ji ber vê yekê qedexeyên weşana sertîfîkayê dê li ser hemîyan bicîh bibin. Ev jixwe di cert-rêveberê de dema kopîkirina sira ku tê de hatî destnîşan kirin gengaz bû privateKeySecretRef. Ev doza karanîna pir xelet bû ji ber ku rêveberê sertîfîkayê hewl da ku bibe alîkar û bi kêfxweşî mifteyek hesabek nû çêkir heke ew nikaribe yek bibîne. Ji ber vê yekê me lê zêde kir disableAccountKeyGenerationji bo ku we ji vê tevgerê bi danîna vê vebijarkê biparêze true - cert-rêveber dê mifteyek çê neke û dê we hişyar bike ku mifteya hesabê jê re nehatiye dayîn.
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: letsencrypt
spec:
acme:
privateKeySecretRef:
name: example-issuer-account-key
disableAccountKeyGeneration: false
Zincîra Preferred
29ê Îlonê Werin em Şîfre bikin ji desthilatdariya sertîfîkaya root ya xwe re ISRG Root. Sertîfîkayên xaç-îmzakirî dê bi wan re werin guhertin Identrust. Ev guhertin ne hewce ye ku li mîhengên cert-rêveberê were guhertin.
Werin em Şîfre bikin jixwe sertîfîkayan bi vê CA-yê re îmze dikin û wan wekî "zincîra sertîfîkaya alternatîf" bi ACME re pêşkêş dikin. Vê guhertoya rêveberê sertîfîkayê xwedan şiyana ku di mîhengên belavker de gihîştina van zincîreyan saz bike. Di parametreyê de preferredChain Hûn dikarin navê CA-ya ku ji bo derxistina sertîfîkayê tê bikar anîn diyar bikin. Ger sertîfîkayek CA heye ku bi daxwazê re têkildar be, ew ê ji we re sertîfîkayek bide. Ji kerema xwe not bikin ku ev vebijarka bijarte ye, heke tiştek neyê dîtin, dê sertîfîkayek standard were derxistin. Ev ê piştrast bike ku hûn ê dîsa jî sertîfîkaya xwe nû bikin piştî ku zincîra alternatîf li ser milê belavkerê ACME jêbirin.
Îro hûn dikarin sertîfîkayên îmzekirî bistînin ISRG Root, Ji ber vê yekê:
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: letsencrypt
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
preferredChain: "ISRG Root X1"
Ger hûn tercîh dikin ku zincîrê bihêlin IdenTrust - vê parameterê saz bikin 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"
Ji kerema xwe not bikin ku ev root CA dê di demek nêzîk de were paşguh kirin, Let's Encrypt dê vê zincîrê heya 29ê Îlonê, 2021 çalak bihêle.
Source: www.habr.com
