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?
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 anoisemailAddresses
-
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
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 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
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
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 disableAccountKeyGeneration
chun 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 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