cert-manager 1.0 scaoileadh

Má chuireann tú ceist ar innealtóir críonna le taithí cad a cheapann sé faoin mbainisteoir deimhnithe agus cén fáth go n-úsáideann gach duine é, ansin beidh an speisialtóir ag osna, ag barróg faoi rún é agus ag rá go cráite: “Úsáideann gach duine é, mar níl aon roghanna eile ciallmhar ann. Ár lucha caoin, faobhar, ach ar aghaidh ag maireachtáil leis an cactus. Cén fáth a bhfuil grá againn? Toisc go n-oibríonn sé. Cén fáth nach bhfuil grá againn? Toisc go bhfuil leaganacha nua ag teacht amach i gcónaí a úsáideann gnéithe nua. Agus caithfidh tú an braisle a nuashonrú arís agus arís eile. Agus stopann na seanleaganacha ag obair, toisc go bhfuil comhcheilg agus shamanachas mór mistéireach ann.

Ach éileamh na forbróirí go bainisteoir deimhnithe 1.0 athróidh gach rud.

An gcreidfimid?

cert-manager 1.0 scaoileadh

Is é Cert-manager an rialtóir bainistíochta teastas dúchais Kubernetes. Is féidir é a úsáid chun teastais a eisiúint ó fhoinsí éagsúla: Let's Encrypt, HashiCorp Vault, Venafi, síniú agus péirí eochair féin-shínithe. Ligeann sé duit freisin eochracha a choinneáil cothrom le dáta faoi dháta éaga, agus déanann sé iarracht freisin deimhnithe a athnuachan go huathoibríoch ag am sonraithe sula dtéann siad in éag. Tá Cert-manager bunaithe ar kube-lego agus bhain sé úsáid as roinnt cleasanna ó thionscadail eile dá samhail, mar kube-cert-manager.

Nótaí Eisiúna

Le leagan 1.0, chuireamar comhartha muiníne ar feadh trí bliana d’fhorbairt an tionscadail cert-manager. Le linn an ama seo, tá sé tagtha chun cinn go suntasach i bhfeidhmiúlacht agus cobhsaíocht, ach is mó ar fad sa phobal. Sa lá atá inniu ann, feicimid go leor daoine é a úsáid chun a mbraislí Kubernetes a dhaingniú chomh maith lena imscaradh chuig codanna éagsúla den éiceachóras. Socraíodh go leor fabhtanna sna 16 eisiúint dheireanacha. Agus is é an rud is gá a bhriseadh briste. D'fheabhsaigh roinnt cuairteanna chun oibriú leis an API a idirghníomhaíocht le húsáideoirí. Tá 1500 saincheist réitithe againn ar GitHub le níos mó iarratas tarraingte ó 253 ball pobail.

Le scaoileadh 1.0, dearbhaímid go hoifigiúil gur tionscadal aibí é an bainisteoir deimhnithe. Geallaimid freisin go gcoimeádfaimid ár API comhoiriúnach v1.

Míle buíochas do gach éinne a chabhraigh linn cert-manager a dhéanamh ar feadh na dtrí bliana seo! Bíodh leagan 1.0 ar an gcéad cheann de go leor rudaí móra le teacht.

Is scaoileadh cobhsaí é Scaoileadh 1.0 le roinnt réimsí tosaíochta:

  • v1 API;

  • Foireann kubectl cert-manager status, chun cabhrú le hanailís fadhbanna;

  • Ag baint úsáide as na APIs cobhsaí Kubernetes is déanaí;

  • Logánú feabhsaithe;

  • Feabhsuithe ACME.

Bí cinnte na nótaí uasghrádaithe a léamh roimh uasghrádú.

API v1

D'oibrigh Leagan v0.16 leis an API v1beta1. Chuir sé seo roinnt athruithe struchtúracha leis agus d'fheabhsaigh sé doiciméadú réimse API freisin. Cuireann Leagan 1.0 leis seo le API v1. Is é an API seo ár gcéad cobhsaí, ag an am céanna tá ráthaíochtaí comhoiriúnachta tugtha againn cheana féin, ach leis an API v1 geallaimid comhoiriúnacht a choinneáil ar feadh na mblianta atá le teacht.

Athruithe a rinneadh (tabhair faoi deara: tugann ár n-uirlisí tiontaithe aire do gach rud duit):

Teastas:

  • emailSANs ar a dtugtar anois emailAddresses

  • uriSANs - uris

Cuireann na hathruithe seo comhoiriúnacht le SANanna eile (ainmneacha alt ábhair, thart. aistritheoir), chomh maith leis an Go API. Táimid ag baint an téarma seo ónár API.

Nuashonraigh

Má tá Kubernetes 1.16+ á úsáid agat, ligfidh tiontú cuacha gréasáin duit oibriú go comhuaineach agus gan uaim le leaganacha API v1alpha2, v1alpha3, v1beta1 и v1. Leis seo, beidh tú in ann an leagan nua den API a úsáid gan do sheanacmhainní a athrú nó a ath-imscaradh. Molaimid go mór do chuid manifests a uasghrádú chuig an API v1, mar go mbeidh leaganacha roimhe seo i léig go luath. Úsáideoirí legacy ní bheidh rochtain fós ag leaganacha de cert-manager ach orthu v1, is féidir céimeanna uasghrádaithe a fháil anseo.

ordú stádais kubectl cert-manager

Le feabhsuithe nua inár síneadh chuig kubectl d'éirigh sé níos éasca na fadhbanna a bhain le neamheisiúint deimhnithe a fhiosrú. kubectl cert-manager status tugann sé i bhfad níos mó faisnéise anois faoi cad atá ar siúl leis na deimhnithe agus taispeánann sé céim eisiúna an deimhnithe freisin.

Tar éis duit an síneadh a shuiteáil, is féidir leat a rith kubectl cert-manager status certificate <имя-сертификата>, a lorgóidh an teastas leis an ainm tugtha agus aon acmhainní gaolmhara ar nós CertificateRequest, Secret, Eisitheoir, agus Ordú agus Dúshláin má tá teastais ó ACME á n-úsáid.

Sampla de dheimhniú a dhífhabhtú nach bhfuil réidh fós:

$ 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

Is féidir leis an ordú cabhrú leat freisin níos mó a fhoghlaim faoi ábhar an teastais. Sampla mionsonraithe do dheimhniú arna eisiúint ag Letsencrypt:

$ 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
[...]

Ag baint úsáide as na APIs cobhsaí Kubernetes is déanaí

Bhí an deimhniú-bainisteoir ar cheann de na chéad daoine a chuir Kubernetes CRDs i bhfeidhm. Chiallaigh sé seo, agus ár dtacaíocht do leaganacha Kubernetes suas go dtí 1.11, go gcaithfimid tacú leis an oidhreacht apiextensions.k8s.io/v1beta1 dár CRDanna freisin admissionregistration.k8s.io/v1beta1 le haghaidh ár gcuid cuaillí gréasáin. Tá siad imithe i léig anois agus bainfear iad in Kubernetes de leagan 1.22. Le ár 1.0 cuirimid tacaíocht iomlán ar fáil anois apiextensions.k8s.io/v1 и admissionregistration.k8s.io/v1 do Kubernetes 1.16 (áit ar cuireadh leo) agus níos nuaí. I gcás úsáideoirí leaganacha roimhe seo, leanaimid ar aghaidh ag tairiscint tacaíochta v1beta1 inár legacy leaganacha.

Logánú feabhsaithe

San eisiúint seo, tá an leabharlann logála nuashonraithe againn klog/v2, a úsáidtear i Kubernetes 1.19. Déanaimid athbhreithniú freisin ar gach dialann a scríobhaimid lena chinntiú go sanntar an leibhéal cuí di. Bhí muid treoraithe ag seo Treoir ó Kubernetes. Tá cúig (sé i ndáiríre, thart. aistritheoir) leibhéil logáil ag tosú ó Error (leibhéal 0), nach ndéanann ach earráidí tábhachtacha a phriontáil, agus a chríochnaíonn le Trace (leibhéal 5) a chabhróidh leat a fhios go díreach cad atá ar siúl. Leis an athrú seo, tá líon na logaí laghdaithe againn mura bhfuil faisnéis dífhabhtaithe uait agus tú ag rith an bhainisteora deimhnithe.

Leid: ritheann cert-manager ag leibhéal 2 de réir réamhshocraithe (Info), is féidir leat é seo a shárú ag baint úsáide as global.logLevel i Helmchart.

Nóta: Is é féachaint ar na logaí an rogha dheireanach nuair a bhíonn fabhtcheartú á dhéanamh. Le haghaidh tuilleadh eolais féach ar ár ceannaireacht.

Eagarthóra n.b.: Chun níos mó a fhoghlaim faoin gcaoi a n-oibríonn sé ar fad faoi chochall Kubernetes, faigh comhairle luachmhar ó mhúinteoirí atá ag cleachtadh, chomh maith le cúnamh tacaíochta teicniúil ardchaighdeáin, is féidir leat páirt a ghlacadh i dianchúrsaí ar líne Bonn Kubernetes, a bheidh ar siúl 28-30 Meán Fómhair, agus Cubernetes Megaa bheidh ar siúl 14-16 Deireadh Fómhair.

Feabhsuithe ACME

Is dócha gurb é an úsáid is coitianta a bhaineann le bainisteoir deimhnithe ná deimhnithe a eisiúint ó Let's Encrypt ag baint úsáide as ACME. Tá leagan 1.0 suntasach as aiseolas pobail a úsáid chun dhá fheabhsúchán beag ach tábhachtach a chur ar ár n-eisitheoir ACME.

Díchumasaigh giniúint eochair chuntais

Má úsáideann tú líon mór deimhnithe ACME, is dócha go n-úsáidfidh tú an cuntas céanna ar ilchnuasaigh, mar sin beidh srianta ar do theastas eisiúna i bhfeidhm orthu go léir. Bhí sé seo indéanta cheana féin i mbainisteoir na ndeimhnithe agus an rún a shonraítear in á chóipeáil privateKeySecretRef. Bhí an cás úsáide seo fabhtach go leor, mar rinne an bainisteoir deimhnithe iarracht a bheith cabhrach agus chruthaigh sé eochair chuntais nua go sona sásta murar aimsigh sé ceann. Sin an fáth a chuir muid disableAccountKeyGenerationchun tú a chosaint ón iompar seo má shocraíonn tú an rogha seo true - ní ghinfidh cert-manager eochair agus tabharfaidh sé foláireamh duit nár cuireadh eochair chuntais ar fáil dó.

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

Slabhra Roghnaithe

29 Meán Fómhair A ligean ar Criptigh pasfaidh chuig do fhréamh féin CA ISRG Root. Cuirfear deimhnithe tras-shínithe in ionad Identrust. Ní éilíonn an t-athrú seo athruithe ar shocruithe an bhainisteora teastas, úsáidfidh gach teastas nuashonraithe nó nua a eiseofar tar éis an dáta seo an CA fréimhe nua.

Síníonn Let's Encrypt deimhnithe leis an ÚD seo cheana féin agus tairgeann sé iad mar "shlabhra teastas malartach" trí ACME. Sa leagan seo de cert-manager, is féidir rochtain ar na slabhraí seo a shocrú i socruithe an eisitheora. I bparaiméadar preferredChain is féidir leat ainm an ÚD atá in úsáid a shonrú, lena n-eiseofar an deimhniú. Má tá teastas CA a fhreagraíonn don iarratas ar fáil, eiseoidh sé teastas duit. Tabhair faoi deara le do thoil gurb é seo an rogha tosaíochta, mura bhfaightear aon rud, eiseofar teastas réamhshocraithe. Cinnteoidh sé seo go ndéanfaidh tú do theastas a athnuachan go fóill tar éis duit an slabhra malartach ar thaobh eisitheora ACME a scriosadh.

Cheana féin inniu is féidir leat teastais sínithe ag a fháil ISRG Root, Mar sin:

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

Más fearr leat an slabhra a fhágáil IdenTrust - socraigh an rogha seo go 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"

Tabhair faoi deara le do thoil go ndéanfar an CA fréimhe seo a dhímheas go luath, coimeádfaidh Let's Encrypt an slabhra seo gníomhach go dtí 29 Meán Fómhair, 2021.

Foinse: will.com

Add a comment