cert-manager 1.0 வெளியிடப்பட்டது

அனுபவம் வாய்ந்த, புத்திசாலித்தனமான பொறியாளரிடம் சான்றிதழ் மேலாளரைப் பற்றி அவர் என்ன நினைக்கிறார், ஏன் எல்லோரும் அதைப் பயன்படுத்துகிறார்கள் என்று கேட்டால், நிபுணர் பெருமூச்சுவிட்டு, அவரை ரகசியமாக அணைத்து, சோர்வாகச் சொல்வார்: “எல்லோரும் அதைப் பயன்படுத்துகிறார்கள், ஏனென்றால் விவேகமான மாற்று வழிகள் இல்லை. எங்கள் எலிகள் அழுகின்றன, குத்துகின்றன, ஆனால் இந்த கற்றாழையுடன் தொடர்ந்து வாழ்கின்றன. நாம் ஏன் காதலிக்கிறோம்? ஏனெனில் அது வேலை செய்கிறது. நாம் ஏன் காதலிக்கக்கூடாது? ஏனெனில் புதிய அம்சங்களைப் பயன்படுத்தும் புதிய பதிப்புகள் தொடர்ந்து வெளியிடப்படுகின்றன. மேலும் நீங்கள் கிளஸ்டரை மீண்டும் மீண்டும் புதுப்பிக்க வேண்டும். பழைய பதிப்புகள் வேலை செய்வதை நிறுத்துகின்றன, ஏனென்றால் ஒரு சதி மற்றும் ஒரு பெரிய மர்மமான ஷாமனிசம் உள்ளது.

ஆனால் டெவலப்பர்கள் அதைக் கூறுகின்றனர் சான்றிதழ் மேலாளர் 1.0 எல்லாம் மாறும்.

நாம் நம்புவோமா?

cert-manager 1.0 வெளியிடப்பட்டது

Cert-manager ஒரு சொந்த குபெர்னெட்ஸ் சான்றிதழ் மேலாண்மை கட்டுப்படுத்தி. பல்வேறு ஆதாரங்களில் இருந்து சான்றிதழ்களை வழங்க இதைப் பயன்படுத்தலாம்: லெட்ஸ் என்க்ரிப்ட், ஹாஷிகார்ப் வால்ட், வெனாஃபி, கையொப்பமிடுதல் மற்றும் சுய கையொப்பமிட்ட முக்கிய ஜோடிகள். விசைகளைப் புதுப்பித்த நிலையில் வைத்திருக்கவும், சான்றிதழ்கள் காலாவதியாகும் முன் ஒரு குறிப்பிட்ட நேரத்தில் தானாகவே புதுப்பிக்கவும் இது உங்களை அனுமதிக்கிறது. Cert-manager என்பது kube-lego ஐ அடிப்படையாகக் கொண்டது, மேலும் kube-cert-manager போன்ற பிற ஒத்த திட்டங்களிலிருந்து சில நுட்பங்களையும் பயன்படுத்துகிறது.

வெளியீட்டு குறிப்புகள்

பதிப்பு 1.0 உடன், சான்றிதழ் மேலாளர் திட்டத்தின் வளர்ச்சியின் மூன்று ஆண்டுகளில் நம்பிக்கையின் அடையாளத்தை வைக்கிறோம். இந்த நேரத்தில், இது செயல்பாடு மற்றும் ஸ்திரத்தன்மையில் கணிசமாக வளர்ந்துள்ளது, ஆனால் எல்லாவற்றிற்கும் மேலாக சமூகத்தில். இன்று பலர் தங்கள் குபெர்னெட்டஸ் கிளஸ்டர்களைப் பாதுகாக்க அதைப் பயன்படுத்துவதையும், சுற்றுச்சூழல் அமைப்பின் பல்வேறு பகுதிகளிலும் செயல்படுத்துவதையும் காண்கிறோம். கடந்த 16 வெளியீடுகளில் சில பிழைகள் சரி செய்யப்பட்டுள்ளன. மேலும் உடைக்கப்பட வேண்டியவை உடைக்கப்பட்டன. APIக்கான பல வருகைகள் பயனர்களுடனான அதன் தொடர்புகளை மேம்படுத்தின. GitHub இல் 1500 சிக்கல்களைத் தீர்த்துவிட்டோம், 253 சமூக உறுப்பினர்களிடமிருந்து இன்னும் அதிகமான கோரிக்கைகள் வந்துள்ளன.

1.0 ஐ வெளியிடுவதன் மூலம், சான்றிதழ் மேலாளர் ஒரு முதிர்ந்த திட்டம் என்று அதிகாரப்பூர்வமாக அறிவிக்கிறோம். எங்கள் API இணக்கத்தன்மையை வைத்திருப்பதாகவும் நாங்கள் உறுதியளிக்கிறோம் v1.

இந்த மூன்று வருடங்களிலும் சான்றிதழ் மேலாளரை உருவாக்க எங்களுக்கு உதவிய அனைவருக்கும் மிக்க நன்றி! வரவிருக்கும் பல சிறந்த விஷயங்களில் பதிப்பு 1.0 முதலாவதாக இருக்கட்டும்.

வெளியீடு 1.0 என்பது பல முன்னுரிமைப் பகுதிகளைக் கொண்ட நிலையான வெளியீடாகும்:

  • v1 API;

  • அணி kubectl cert-manager status, சிக்கல்களை பகுப்பாய்வு செய்ய உதவும்;

  • சமீபத்திய நிலையான Kubernetes APIகளைப் பயன்படுத்துதல்;

  • மேம்படுத்தப்பட்ட பதிவு;

  • ACME மேம்பாடுகள்.

மேம்படுத்தும் முன் புதுப்பிப்பு குறிப்புகளைப் படிக்க மறக்காதீர்கள்.

API v1

பதிப்பு v0.16 API உடன் வேலை செய்தது v1beta1. இது சில கட்டமைப்பு மாற்றங்களைச் சேர்த்தது மற்றும் API புல ஆவணங்களையும் மேம்படுத்தியது. பதிப்பு 1.0 இதை ஒரு API உடன் உருவாக்குகிறது v1. இந்த API எங்களின் முதல் நிலையான ஒன்றாகும், அதே நேரத்தில் நாங்கள் ஏற்கனவே இணக்கத்தன்மை உத்தரவாதங்களை வழங்கியுள்ளோம், ஆனால் API உடன் v1 வரவிருக்கும் ஆண்டுகளில் இணக்கத்தன்மையை பராமரிக்க நாங்கள் உறுதியளிக்கிறோம்.

மாற்றங்கள் செய்யப்பட்டன (குறிப்பு: எங்களின் மாற்று கருவிகள் உங்களுக்காக அனைத்தையும் கவனித்துக்கொள்ளும்):

சான்றிதழ்:

  • emailSANs இப்போது அழைக்கப்படுகிறது emailAddresses

  • uriSANs - uris

இந்த மாற்றங்கள் மற்ற SANகளுடன் இணக்கத்தன்மையை சேர்க்கின்றன (தலைப்பு மாற்று பெயர்கள், தோராயமாக மொழிபெயர்ப்பாளர்), அத்துடன் Go API உடன். எங்கள் API இலிருந்து இந்த வார்த்தையை அகற்றுகிறோம்.

மேம்படுத்தல்

நீங்கள் Kubernetes 1.16+ ஐப் பயன்படுத்துகிறீர்கள் என்றால் - webhookகளை மாற்றுவது API பதிப்புகளுடன் ஒரே நேரத்தில் மற்றும் தடையின்றி வேலை செய்ய உங்களை அனுமதிக்கும் v1alpha2, v1alpha3, v1beta1 и v1. அவற்றைக் கொண்டு, உங்கள் பழைய ஆதாரங்களை மாற்றாமலோ அல்லது மீண்டும் பயன்படுத்தாமலோ API இன் புதிய பதிப்பைப் பயன்படுத்தலாம். உங்கள் மேனிஃபெஸ்ட்டை APIக்கு மேம்படுத்துமாறு நாங்கள் கடுமையாகப் பரிந்துரைக்கிறோம் v1, முந்தைய பதிப்புகள் விரைவில் நிறுத்தப்படும். பயனர்கள் legacy cert-manager இன் பதிப்புகளுக்கு இன்னும் அணுகல் மட்டுமே இருக்கும் v1, மேம்படுத்தல் படிகளைக் காணலாம் இங்கே.

kubectl cert-manager நிலை கட்டளை

எங்கள் நீட்டிப்பில் புதிய மேம்பாடுகளுடன் kubectl சான்றிதழ் வழங்காதது தொடர்பான பிரச்சனைகளை விசாரிப்பது எளிதாகிவிட்டது. kubectl cert-manager status இப்போது சான்றிதழ்களுடன் என்ன நடக்கிறது என்பது பற்றிய கூடுதல் தகவல்களை வழங்குகிறது, மேலும் சான்றிதழ் வழங்கப்படும் நிலையையும் காட்டுகிறது.

நீட்டிப்பை நிறுவிய பின் நீங்கள் இயக்கலாம் kubectl cert-manager status certificate <имя-сертификата>, இது குறிப்பிடப்பட்ட பெயருடன் சான்றிதழைத் தேடும் மற்றும் ACME இலிருந்து சான்றிதழ்களின் விஷயத்தில் CertificateRequest, Secret, வழங்குபவர் மற்றும் ஆர்டர் மற்றும் சவால்கள் போன்ற ஏதேனும் தொடர்புடைய ஆதாரங்களைத் தேடும்.

இன்னும் தயாராகாத சான்றிதழை பிழைத்திருத்துவதற்கான எடுத்துக்காட்டு:

$ 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 APIகளைப் பயன்படுத்தவும்

குபெர்னெட்டஸ் சிஆர்டிகளை முதலில் செயல்படுத்தியவர்களில் செர்ட்-மேனேஜர் ஒருவர். இது, 1.11 வரையிலான குபெர்னெட்டஸ் பதிப்புகளுக்கான எங்கள் ஆதரவுடன், நாங்கள் மரபுவழியை ஆதரிக்க வேண்டும் என்பதாகும். apiextensions.k8s.io/v1beta1 நமது CRD களுக்கும் 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 ஹெல்ம் விளக்கப்படத்தில்.

குறிப்பு: பிழையறிந்து திருத்தும் போது பதிவுகளை மதிப்பாய்வு செய்வது உங்களின் கடைசி முயற்சியாகும். மேலும் தகவலுக்கு, எங்கள் பார்க்கவும் தலைமைத்துவம்.

ஆசிரியர் NB: குபெர்னெட்டஸின் கீழ் இவை அனைத்தும் எவ்வாறு செயல்படுகின்றன என்பதைப் பற்றி மேலும் அறிய, பயிற்சி ஆசிரியர்களிடமிருந்து மதிப்புமிக்க ஆலோசனைகளைப் பெறவும், அத்துடன் உயர்தர தொழில்நுட்ப ஆதரவைப் பெறவும், நீங்கள் ஆன்லைன் தீவிர படிப்புகளில் பங்கேற்கலாம். குபெர்னெட்டஸ் தளம், செப்டம்பர் 28-30 நடைபெறும், மற்றும் குபெர்னெட்டஸ் மெகா, இது அக்டோபர் 14-16 வரை நடைபெறும்.

ACME மேம்பாடுகள்

சான்றிதழ் மேலாளரின் மிகவும் பொதுவான பயன்பாடு, ACME ஐப் பயன்படுத்தி லெட்ஸ் என்க்ரிப்ட் சான்றிதழ்களை வழங்குவதுடன் தொடர்புடையதாக இருக்கலாம். எங்கள் ACME வழங்குநருக்கு இரண்டு சிறிய ஆனால் முக்கியமான மேம்பாடுகளைச் சேர்க்க, சமூகக் கருத்தைப் பயன்படுத்துவதில் பதிப்பு 1.0 குறிப்பிடத்தக்கது.

கணக்கு விசை உருவாக்கத்தை முடக்கு

நீங்கள் ACME சான்றிதழ்களை பெரிய அளவில் பயன்படுத்தினால், நீங்கள் ஒரே கணக்கை பல கிளஸ்டர்களில் பயன்படுத்துகிறீர்கள், எனவே உங்கள் சான்றிதழ் வழங்கல் கட்டுப்பாடுகள் அனைத்திற்கும் பொருந்தும். குறிப்பிடப்பட்ட ரகசியத்தை நகலெடுக்கும் போது சான்றிதழ் மேலாளரில் இது ஏற்கனவே சாத்தியமானது 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 குறியாக்கம் செய்வோம் நகரும் உங்கள் சொந்த ரூட் சான்றிதழ் அதிகாரத்திற்கு 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 விரைவில் நிறுத்தப்படும், லெட்ஸ் என்க்ரிப்ட் இந்த சங்கிலியை செப்டம்பர் 29, 2021 வரை செயலில் வைத்திருக்கும் என்பதை நினைவில் கொள்ளவும்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்