جيڪڏهن توهان ڪنهن تجربيڪار، عقلمند انجنيئر کان پڇو ته هو سرٽيفڪيشن مئنيجر جي باري ۾ ڇا سوچيندو آهي ۽ هرڪو ان کي ڇو استعمال ڪندو آهي، ته پوءِ ماهر ٿلهو ساهه کڻندو، کيس اعتماد ۾ ڀاڪر پائيندو ۽ بيزاريءَ سان چوندو: ”هر ڪو ان کي استعمال ڪري ٿو، ڇاڪاڻ ته ان جا ڪي به عقلمند متبادل نه آهن. اسان جا چوڪا روئن ٿا، ڪن ٿا، پر هن ڪيڪٽس سان گڏ جيئڻ جاري رکو. اسان ڇو پيار ڪندا آهيون؟ ڇاڪاڻ ته اهو ڪم ڪري ٿو. ڇو نه پيار ڪريون؟ ڇو ته نوان نسخا مسلسل نڪرندا آهن جيڪي نيون خاصيتون استعمال ڪندا آهن. ۽ توھان کي بار بار ڪلستر کي اپڊيٽ ڪرڻو پوندو. ۽ پراڻن نسخن کي ڪم ڪرڻ بند ڪيو، ڇاڪاڻ ته اتي هڪ سازش ۽ هڪ عظيم پراسرار shamanism آهي.
پر ڊولپرز دعوي ڪئي آهي ته سرٽيفڪيٽ مئنيجر 1.0 سڀ ڪجهه تبديل ٿي ويندو.
ڇا اسان يقين ڪنداسين؟

سرٽيف مئنيجر آهي اصلي ڪبرنيٽس سرٽيفڪيٽ مينيجمينٽ ڪنٽرولر. اهو مختلف ذريعن کان سرٽيفڪيٽ جاري ڪرڻ لاءِ استعمال ٿي سگهي ٿو: اچو ته انڪريپ ڪريو، HashiCorp Vault، Venafi، سائننگ ۽ خود دستخط ڪيل ڪي جوڙا. اهو پڻ توهان کي اجازت ڏئي ٿو ته توهان کي ختم ٿيڻ جي تاريخ تائين چيڪن کي اپ ڊيٽ ڪرڻ، ۽ پڻ ڪوشش ڪري ٿو خودڪار طريقي سان تجديد ڪرڻ جي تصديق ٿيل وقت کان پهريان انهن جي ختم ٿيڻ کان اڳ. Cert-manager kube-lego تي ٻڌل آهي ۽ ٻين ساڳين منصوبن جهڙوڪ kube-cert-manager مان ڪجهه چالون پڻ استعمال ڪيون آهن.
رليز نوٽس
ورجن 1.0 سان، اسان سرٽيفڪيٽ مئنيجر پروجيڪٽ جي ٽن سالن جي ترقي لاءِ اعتماد جو نشان لڳايو. هن وقت دوران، اهو ڪارڪردگي ۽ استحڪام ۾ خاص طور تي ترقي ڪئي آهي، پر سڀ کان وڌيڪ ڪميونٽي ۾. اڄ، اسان ڏسون ٿا ته ڪيترائي ماڻهو ان کي استعمال ڪندي پنهنجن ڪبرنيٽس ڪلستر کي محفوظ ڪرڻ سان گڏ ان کي ماحوليات جي مختلف حصن ۾ ترتيب ڏيڻ لاء. آخري 16 رليز ۾ ڪيترائي ڪيڙا طئي ڪيا ويا آھن. ۽ جنهن کي ٽوڙڻ جي ضرورت آهي اها ٽوڙي وئي آهي. API سان ڪم ڪرڻ لاءِ ڪيترائي دورا استعمال ڪندڙن سان ان جي رابطي کي بهتر ڪيو آهي. اسان GitHub تي 1500 مسئلا حل ڪيا آهن 253 ڪميونٽي جي ميمبرن کان وڌيڪ ڇڪڻ جي درخواستن سان.
1.0 جي ڇڏڻ سان، اسان سرڪاري طور تي اعلان ڪريون ٿا ته سرٽيف مئنيجر هڪ بالغ پروجيڪٽ آهي. اسان پڻ واعدو ڪريون ٿا ته اسان جي API سان مطابقت رکون ٿا v1.
هر ڪنهن جي تمام گهڻي مهرباني جنهن اسان کي انهن ٽن سالن ۾ سرٽيفڪيٽ مئنيجر ٺاهڻ ۾ مدد ڪئي! اچو ته نسخو 1.0 ڪيترن ئي وڏن شين جو پهريون اچڻو آهي.
رليز 1.0 هڪ مستحڪم رليز آهي ڪيترن ئي ترجيحي علائقن سان:
-
v1API؛ -
ٽيم
kubectl cert-manager status, مسئلي جي تجزيي سان مدد ڪرڻ لاء؛ -
جديد مستحڪم Kubernetes APIs استعمال ڪندي؛
-
بهتر لاگنگ؛
-
ACME بهتري.
اپڊيٽ ڪرڻ کان پهريان اپڊيٽ نوٽس پڙهڻ جي پڪ ڪريو.
API v1
نسخو v0.16 API سان ڪم ڪيو v1beta1. ھن ۾ ڪجھ ڍانچي تبديليون شامل ڪيون ويون ۽ API فيلڊ دستاويزن کي بھتر بڻايو. نسخو 1.0 ان تي ٺاهي ٿو API سان v1. هي API اسان جو پهريون مستحڪم آهي، ساڳئي وقت اسان اڳ ۾ ئي مطابقت جي ضمانت ڏني آهي، پر API سان v1 اسان ايندڙ سالن تائين مطابقت برقرار رکڻ جو واعدو ڪيو.
تبديليون ڪيون ويون (نوٽ: اسان جا تبادلي جا اوزار توهان لاءِ هر شيءِ جو خيال رکندا آهن):
سرٽيفڪيٽ:
-
emailSANsهاڻي سڏيو وڃي ٿوemailAddresses -
uriSANs-uris
اهي تبديليون ٻين SAN سان مطابقت شامل ڪن ٿيون (موضوع alt نالا، لڳ ڀڳ مترجم)، گڏو گڏ Go API سان. اسان هن اصطلاح کي اسان جي API مان هٽائي رهيا آهيون.
تازو
جيڪڏھن توھان ڪبرنيٽس 1.16+ استعمال ڪري رھيا آھيو، ويب ھوڪ کي تبديل ڪرڻ سان توھان کي اجازت ملندي ته ھڪ ئي وقت ۽ بغير بغير API ورزن سان ڪم ڪريو v1alpha2, v1alpha3, v1beta1 и v1. انهن سان، توهان API جو نئون ورزن استعمال ڪرڻ جي قابل هوندا بغير توهان جي پراڻي وسيلن کي تبديل ڪرڻ يا ٻيهر ترتيب ڏيڻ. اسان انتهائي صلاح ڏيون ٿا ته توهان جي منشور کي API ڏانهن اپڊيٽ ڪريو v1, جيئن اڳوڻن نسخن کي جلد ختم ڪيو ويندو. استعمال ڪندڙ legacy cert-manager جي نسخن کي اڃا تائين صرف رسائي هوندي v1، اپ گريڊ جا قدم ڳولي سگهجن ٿا .
kubectl cert-manager status command
اسان جي توسيع ۾ نئين سڌارن سان kubectl اهو سرٽيفڪيشن جي غير جاري ڪرڻ سان لاڳاپيل مسئلن جي تحقيق ڪرڻ آسان ٿي ويو. kubectl cert-manager status هاڻي سرٽيفڪيٽ سان ڇا ٿي رهيو آهي بابت تمام گهڻو معلومات ڏئي ٿو ۽ سرٽيفڪيٽ جاري ڪرڻ واري اسٽيج کي پڻ ڏيکاري ٿو.
ايڪسٽينشن کي انسٽال ڪرڻ کان پوءِ، توهان هلائي سگهو ٿا kubectl cert-manager status certificate <имя-сертификата>, جيڪو ڏنل نالي سان سرٽيفڪيٽ کي ڏسندو ۽ ڪنهن به لاڳاپيل وسيلن جهڙوڪ CertificateRequest, Secret, Issuer, and Order and Challenges جيڪڏھن ACME کان سرٽيفڪيٽ استعمال ڪري رھيا آھن.
سرٽيفڪيٽ کي ڊيبگ ڪرڻ جو هڪ مثال جيڪو اڃا تيار ناهي:
$ 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
حڪم پڻ توهان جي سرٽيفڪيٽ جي مواد بابت وڌيڪ سکڻ ۾ مدد ڪري سگهي ٿي. 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
[...]
جديد مستحڪم Kubernetes APIs استعمال ڪندي
Cert-manager Kubernetes CRDs کي لاڳو ڪرڻ وارن مان ھڪڙو ھو. هي، ۽ 1.11 تائين Kubernetes نسخن لاءِ اسان جي حمايت، مطلب ته اسان کي ورثي جي حمايت ڪرڻ جي ضرورت آهي apiextensions.k8s.io/v1beta1 اسان جي CRDs لاء پڻ admissionregistration.k8s.io/v1beta1 اسان جي ويب هڪس لاءِ. اهي هاڻي ختم ڪيا ويا آهن ۽ ڪبرنيٽس ۾ ورزن 1.22 مان هٽايو ويندو. اسان جي 1.0 سان هاڻي اسان مڪمل سپورٽ پيش ڪندا آهيون apiextensions.k8s.io/v1 и admissionregistration.k8s.io/v1 ڪبرنيٽس 1.16 لاءِ (جتي اهي شامل ڪيا ويا) ۽ نئون. پوئين ورزن جي استعمال ڪندڙن لاءِ، اسان سپورٽ جاري رکون ٿا v1beta1 اسان ۾ legacy نسخو.
بهتر لاگنگ
ھن رليز ۾، اسان لاگنگ لائبريري کي اپڊيٽ ڪيو آھي klog/v2، ڪبرنيٽس 1.19 ۾ استعمال ٿيل. اسان هر جرنل جو جائزو پڻ وٺون ٿا جيڪو اسان لکون ٿا اهو يقيني بڻائڻ لاءِ ته اهو مناسب سطح تي لڳايو ويو آهي. اسان هن جي رهنمائي ڪئي . پنج آهن (اصل ۾ ڇهه، لڳ ڀڳ مترجم) کان شروع ٿيندڙ لاگنگ سطح Error (سطح 0)، جيڪو صرف اهم غلطيون پرنٽ ڪري ٿو، ۽ ختم ٿئي ٿو Trace (سطح 5) جيڪو توهان کي ڄاڻڻ ۾ مدد ڏيندو ته ڇا ٿي رهيو آهي. ھن تبديلي سان، اسان لاگن جو تعداد گھٽائي ڇڏيو آھي جيڪڏھن توھان کي ڊيبگ معلومات جي ضرورت نه آھي جڏھن cert-manager کي ھلائيندي.
ترڪيب: سرٽيفڪيٽ مئنيجر ڊفالٽ جي سطح 2 تي هلندو آهي (Info)، توھان ان کي استعمال ڪندي ختم ڪري سگھو ٿا global.logLevel Helmchart ۾.
نوٽ: لاگز کي ڏسڻ آخري طريقو آهي جڏهن مسئلو حل ڪيو وڃي. وڌيڪ معلومات لاء اسان جي چيڪ ڪريو .
ايڊيٽر جي n.b.: وڌيڪ سکڻ لاءِ ته اهو سڀ ڪبرنيٽس جي هوڊ هيٺ ڪيئن ڪم ڪري ٿو، مشق ڪندڙ استادن کان قيمتي صلاحون حاصل ڪريو، گڏوگڏ معيار جي ٽيڪنيڪل مدد جي مدد لاءِ، توهان آن لائن انٽيسيوز ۾ حصو وٺي سگهو ٿا ، جيڪو سيپٽمبر 28-30 تي منعقد ٿيندو، ۽ جيڪو 14-16 آڪٽوبر تائين منعقد ٿيندو.
ACME بهتري
سرٽيفڪيشن مئنيجر جو سڀ کان عام استعمال شايد ACME استعمال ڪندي Let's Encrypt کان سرٽيفڪيٽ جاري ڪرڻ سان لاڳاپيل آهي. نسخو 1.0 قابل ذڪر آهي ڪميونٽي راءِ استعمال ڪرڻ لاءِ اسان جي ACME جاري ڪندڙ ۾ ٻه ننڍڙا پر اهم سڌارا شامل ڪرڻ لاءِ.
اڪائونٽ جي اهم پيداوار کي بند ڪريو
جيڪڏهن توهان وڏي مقدار ۾ ACME سرٽيفڪيٽ استعمال ڪندا آهيو، توهان ممڪن آهي ته هڪ ئي اڪائونٽ ڪيترن ئي ڪلسٽرن تي استعمال ڪندا، تنهنڪري توهان جي سرٽيفڪيٽ جاري ڪرڻ جون پابنديون انهن سڀني تي لاڳو ٿينديون. اهو اڳ ۾ ئي ممڪن هو cert-manager ۾ جڏهن بيان ڪيل راز کي نقل ڪندي privateKeySecretRef. هي استعمال ڪيس ڪافي بگڙيل هو، جيئن سرٽيفڪيشن مئنيجر مددگار ٿيڻ جي ڪوشش ڪئي ۽ خوشيءَ سان هڪ نئون اڪائونٽ چيڪ ٺاهيو جيڪڏهن اهو نه مليو. انهي ڪري اسان شامل ڪيو disableAccountKeyGenerationتوھان کي ھن رويي کان بچائڻ لاءِ جيڪڏھن توھان ھن اختيار کي سيٽ ڪيو true - cert-manager هڪ ڪيچي پيدا نه ڪندو ۽ توهان کي ڊيڄاريندو ته اهو هڪ اڪائونٽ چيڪ سان مهيا نه ڪيو ويو آهي.
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: letsencrypt
spec:
acme:
privateKeySecretRef:
name: example-issuer-account-key
disableAccountKeyGeneration: false
پسند ڪيل زنجير
سيپٽمبر 29 اچو ته انڪرپٽ ڪريون توهان جي پنهنجي روٽ CA ڏانهن ISRG Root. ڪراس-دستخط ٿيل سرٽيفڪيٽ کي تبديل ڪيو ويندو Identrust. ھن تبديليءَ لاءِ سرٽيفڪيشن مئنيجر جي سيٽنگن ۾ تبديلين جي ضرورت نه آھي، ھن تاريخ کان پوءِ جاري ڪيل سڀ اپڊيٽ يا نوان سرٽيفڪيٽ نئون روٽ CA استعمال ڪندا.
اچو ته انڪريپٽ ڪريون اڳ ۾ ئي سائن ان سرٽيفڪيٽن کي هن CA سان ۽ انهن کي پيش ڪري ٿو "متبادل سرٽيفڪيٽ زنجير" طور ACME ذريعي. سرٽيفڪيٽ مئنيجر جي هن نسخي ۾، جاري ڪندڙ سيٽنگن ۾ انهن زنجيرن تائين رسائي مقرر ڪرڻ ممڪن آهي. پيٽرول ۾ preferredChain توھان بيان ڪري سگھو ٿا CA جو نالو استعمال ۾، جنھن سان سرٽيفڪيٽ جاري ڪيو ويندو. جيڪڏهن درخواست سان ملندڙ هڪ CA سرٽيفڪيٽ موجود آهي، اهو توهان کي هڪ سرٽيفڪيٽ جاري ڪندو. مهرباني ڪري نوٽ ڪريو ته هي ترجيح اختيار آهي، جيڪڏهن ڪجھ به نه مليو، هڪ ڊفالٽ سرٽيفڪيٽ جاري ڪيو ويندو. اهو يقيني بڻائيندو ته توهان اڃا تائين ACME جاري ڪندڙ پاسي تي متبادل زنجير کي ختم ڪرڻ کان پوء توهان جي سرٽيفڪيٽ جي تجديد ڪندا.
اڳ ۾ ئي اڄ توهان حاصل ڪري سگهو ٿا سرٽيفڪيٽ طرفان دستخط ٿيل ISRG Root، پوء:
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: letsencrypt
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
preferredChain: "ISRG Root X1"
جيڪڏھن توھان چاھيو ٿا ته زنجير ڇڏڻ IdenTrust - ھن اختيار کي سيٽ ڪريو 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"
مهرباني ڪري نوٽ ڪريو ته هي روٽ CA جلد ختم ڪيو ويندو، Let's Encrypt هن سلسلي کي 29 سيپٽمبر 2021 تائين فعال رکندو.
جو ذريعو: www.habr.com
