ሰርት-አቀናባሪ 1.0 ተለቋል

ልምድ ያካበተ ጥበበኛ መሐንዲስ ስለ ሰርተፍ-ማናጀር ምን እንደሚያስብ እና ለምን ሁሉም እንደሚጠቀሙበት ከጠየቁ ስፔሻሊስቱ በቁጭት ያዝናሉ ፣ በልበ ሙሉነት ያቅፉት እና በድካም “ሁሉም ሰው ይጠቀምበታል ፣ ምክንያቱም ጤናማ አማራጮች የሉም። አይጦቻችን ያለቅሳሉ፣ ይወጋሉ፣ ግን ከዚህ ቁልቋል ጋር መኖራችንን ቀጥሉ። ለምን እንወዳለን? ምክንያቱም ይሰራል። ለምን አንወድም? ምክንያቱም አዳዲስ ባህሪያትን የሚጠቀሙ አዳዲስ ስሪቶች በየጊዜው እየወጡ ነው። እና ክላስተርን ደጋግመህ ማዘመን አለብህ። እና የድሮዎቹ ስሪቶች መስራት ያቆማሉ, ምክንያቱም ማሴር እና ታላቅ ሚስጥራዊ ሻማኒዝም አለ.

ነገር ግን ገንቢዎቹ ያንን ይላሉ የምስክር ወረቀት ሥራ አስኪያጅ 1.0 ሁሉም ነገር ይለወጣል.

እናምናለን?

ሰርት-አቀናባሪ 1.0 ተለቋል

ሰርት ማኔጀር የኩበርኔትስ ሰርተፍኬት አስተዳደር ተቆጣጣሪ ነው። ከተለያዩ ምንጮች የምስክር ወረቀቶችን ለመስጠት ጥቅም ላይ ሊውል ይችላል፡ እንመስጥር፣ HashiCorp Vault፣ Venafi፣ መፈረም እና በራስ የተፈረሙ የቁልፍ ጥንዶች። እንዲሁም የማለቂያ ጊዜ ቁልፎችን እንዲያዘምኑ ይፈቅድልዎታል እንዲሁም የምስክር ወረቀቶችን በተወሰነ ጊዜ ከማብቃታቸው በፊት በራስ-ሰር ለማደስ ይሞክራል። ሰርት-ማናጀር በኩቤ-ሌጎ ላይ የተመሰረተ ነው እና እንደ ኩቤ-ሰርት-ማናጀር ካሉ ሌሎች ተመሳሳይ ፕሮጀክቶች አንዳንድ ዘዴዎችን ተጠቅሟል።

የመልቀቂያ ማስታወሻዎች

በስሪት 1.0፣ ለሶስት አመታት የእውቅና ማረጋገጫ-አስተዳዳሪ ፕሮጀክቱን እድገት ምልክት እናደርጋለን። በዚህ ጊዜ ውስጥ, በተግባራዊነት እና በመረጋጋት ላይ ጉልህ በሆነ መልኩ ተሻሽሏል, ነገር ግን ከሁሉም በላይ በማህበረሰቡ ውስጥ. ዛሬ፣ ብዙ ሰዎች የኩበርኔትስ ስብስቦችን ለመጠበቅ ሲጠቀሙበት እና ወደ ተለያዩ የስርዓተ-ምህዳሩ ክፍሎች ሲያሰማሩ እናያለን። ባለፉት 16 ልቀቶች ውስጥ ብዙ ሳንካዎች ተስተካክለዋል። እና መበጠስ የሚያስፈልገው ነገር ተሰብሯል. ከኤፒአይ ጋር ለመስራት ብዙ ጉብኝቶች ከተጠቃሚዎች ጋር ያለውን ግንኙነት አሻሽለዋል። 1500 ጉዳዮችን GitHub ላይ ከ253 የማህበረሰብ አባላት ተጨማሪ የመሳብ ጥያቄዎችን ፈትተናል።

1.0 ከተለቀቀ በኋላ የምስክር ወረቀት ሥራ አስኪያጅ የበሰለ ፕሮጀክት መሆኑን በይፋ እናውጃለን። እንዲሁም የእኛን ኤፒአይ ተኳሃኝ ለማድረግ ቃል እንገባለን። v1.

በእነዚህ ሶስት አመታት ውስጥ ሰርትፍ ማኔጀር እንድንሰራ ለረዱን ሁሉ ከልብ እናመሰግናለን! ስሪት 1.0 ከሚመጡት ብዙ ትልልቅ ነገሮች የመጀመሪያው ይሁን።

ልቀት 1.0 ብዙ ቅድሚያ የሚሰጣቸው ቦታዎች ያለው የተረጋጋ ልቀት ነው።

  • v1 ኤፒአይ;

  • ቡድን kubectl cert-manager status, በችግር ትንተና ለመርዳት;

  • የቅርብ ጊዜውን የተረጋጋ የኩበርኔትስ ኤፒአይዎችን መጠቀም;

  • የተሻሻለ ምዝግብ ማስታወሻ;

  • ACME ማሻሻያዎች።

ከማሻሻልዎ በፊት የማሻሻያ ማስታወሻዎችን ማንበብዎን እርግጠኛ ይሁኑ።

ኤፒአይ v1

ስሪት v0.16 ከኤፒአይ ጋር ሰርቷል። v1beta1. ይህ አንዳንድ መዋቅራዊ ለውጦችን አክሏል እና እንዲሁም የኤፒአይ የመስክ ሰነዶችን አሻሽሏል። ስሪት 1.0 በኤፒአይ ይገነባል። v1. ይህ ኤፒአይ የመጀመሪያው የተረጋጋችን ነው፣ በተመሳሳይ ጊዜ የተኳኋኝነት ዋስትናዎችን ሰጥተናል ነገር ግን ከኤፒአይ ጋር v1 ለሚመጡት አመታት ተኳሃኝነትን ለመጠበቅ ቃል እንገባለን.

የተደረጉ ለውጦች (ማስታወሻ፡ የመቀየሪያ መሳሪያዎቻችን ሁሉንም ነገር ይንከባከባሉ)።

የምስክር ወረቀት፡

  • emailSANs አሁን ይባላል emailAddresses

  • uriSANs - uris

እነዚህ ለውጦች ከሌሎች SANs ጋር ተኳሃኝነትን ይጨምራሉ (የተለዋጭ ስሞች፣ በግምት ተርጓሚ), እንዲሁም በ Go API. ይህን ቃል ከእኛ ኤፒአይ እያስወገድነው ነው።

አዘምን

Kubernetes 1.16+ እየተጠቀሙ ከሆነ የድር መንጠቆዎችን መቀየር በአንድ ጊዜ እና ያለችግር ከኤፒአይ ስሪቶች ጋር እንዲሰሩ ይፈቅድልዎታል v1alpha2, v1alpha3, v1beta1 и v1. በእነዚህ፣ የድሮውን ሃብቶችዎን ሳይቀይሩ ወይም እንደገና ሳይዘረጉ አዲሱን የኤፒአይ ስሪት መጠቀም ይችላሉ። መግለጫዎችዎን ወደ ኤፒአይ እንዲያሳድጉ በጣም እንመክራለን v1, ቀደምት ስሪቶች በቅርቡ ይቋረጣሉ. ተጠቃሚዎች legacy የሰርት-አስተዳዳሪ ስሪቶች አሁንም መዳረሻ ብቻ ይኖራቸዋል v1, የማሻሻያ ደረጃዎች ሊገኙ ይችላሉ እዚህ.

kubectl ሰርት-አቀናባሪ ሁኔታ ትዕዛዝ

በእኛ ቅጥያ ውስጥ አዳዲስ ማሻሻያዎች ጋር kubectl የምስክር ወረቀቶችን አለመስጠት ጋር የተያያዙ ችግሮችን መመርመር ቀላል ሆነ. kubectl cert-manager status አሁን በሰርቲፊኬቶቹ ላይ ምን እየተደረገ እንዳለ ብዙ መረጃ ይሰጣል እንዲሁም የምስክር ወረቀት አሰጣጥ ደረጃን ያሳያል።

ቅጥያውን ከጫኑ በኋላ ማሄድ ይችላሉ kubectl cert-manager status certificate <имя-сертификата>የምስክር ወረቀቱን በተሰየመው ስም እና እንደ ሰርተፍኬት ጥያቄ፣ ሚስጥር፣ ሰጪ፣ እና ትዕዛዝ እና ተግዳሮቶች ያሉ ማናቸውንም ተዛማጅ ግብአቶች ከ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
[...]

የቅርብ ጊዜውን የተረጋጋ የኩበርኔትስ ኤፒአይዎችን መጠቀም

ሰርት-ማናጀር የኩበርኔትስ ሲአርዲዎችን ተግባራዊ ካደረጉት የመጀመሪያዎቹ አንዱ ነበር። ይህ እና እስከ 1.11 ድረስ ለኩበርኔትስ ስሪቶች ያለን ድጋፍ፣ ቅርሱን መደገፍ ያስፈልገናል ማለት ነው። apiextensions.k8s.io/v1beta1 ለሲአርዲዎቻችንም እንዲሁ admissionregistration.k8s.io/v1beta1 ለድር መንጠቆቻችን። አሁን ተቋርጠዋል እና በ Kubernetes ውስጥ ከስሪት 1.22 ይወገዳሉ። በእኛ 1.0 አሁን ሙሉ ድጋፍ እንሰጣለን apiextensions.k8s.io/v1 и admissionregistration.k8s.io/v1 ለ Kubernetes 1.16 (የተጨመሩበት) እና አዲስ. ለቀደሙት ስሪቶች ተጠቃሚዎች ድጋፍ ማቅረባችንን እንቀጥላለን v1beta1 በእኛ legacy ስሪቶች.

የተሻሻለ ምዝግብ ማስታወሻ

በዚህ ልቀት ላይ የመግቢያ ቤተ-መጽሐፍትን አዘምነናል። klog/v2, በ Kubernetes 1.19 ውስጥ ጥቅም ላይ ይውላል. እንዲሁም የምንጽፈውን እያንዳንዱ መጽሔት ተገቢውን ደረጃ መያዙን ለማረጋገጥ እንገመግማለን። በዚህ ተመርተናል ከ Kubernetes መመሪያ. አምስት (በእውነቱ ስድስት ናቸው) በግምት ተርጓሚ) የመግቢያ ደረጃዎች ከ ጀምሮ Error (ደረጃ 0)፣ ይህም አስፈላጊ ስህተቶችን ብቻ የሚታተም እና የሚያበቃው። Trace (ደረጃ 5) ምን እየተካሄደ እንዳለ በትክክል ለማወቅ ይረዳዎታል. በዚህ ለውጥ፣ ሰርት-አቀናባሪን በሚያሄዱበት ጊዜ የማረም መረጃ የማይፈልጉ ከሆነ የምዝግብ ማስታወሻዎችን ቁጥር ቀንሰናል።

ጠቃሚ ምክር፡ ሰርት-አቀናባሪ በነባሪ ደረጃ 2 ላይ ይሰራል (Info), ይህንን በመጠቀም መሻር ይችላሉ global.logLevel በ Helmchart.

ማሳሰቢያ፡ መላ ሲፈልጉ የምዝግብ ማስታወሻዎችን መመልከት የመጨረሻው አማራጭ ነው። ለበለጠ መረጃ የእኛን ይመልከቱ አመራር.

የአርታዒው n.b.: ሁሉም በ Kubernetes ስር እንዴት እንደሚሰራ የበለጠ ለማወቅ ፣ ከተለማመዱ አስተማሪዎች ጠቃሚ ምክሮችን ያግኙ ፣ እንዲሁም ጥራት ያለው የቴክኒክ ድጋፍ በመስመር ላይ ማበረታቻዎች ውስጥ መሳተፍ ይችላሉ ። Kubernetes Baseሴፕቴምበር 28-30 የሚካሄደው እና Kubernetes ሜጋከጥቅምት 14-16 የሚካሄደው.

የACME ማሻሻያዎች

በጣም የተለመደው የሰርት-አስተዳዳሪ አጠቃቀም ምንአልባት ACMEን ተጠቅመን እናመስጥር የምስክር ወረቀቶችን ከመስጠት ጋር የተያያዘ ነው። ስሪት 1.0 በACME ሰጭችን ላይ ሁለት ትናንሽ ነገር ግን አስፈላጊ ማሻሻያዎችን ለመጨመር የማህበረሰብ ግብረመልስን በመጠቀም ታዋቂ ነው።

የመለያ ቁልፍ ማመንጨትን አሰናክል

የACME ሰርተፊኬቶችን በትልቅ ጥራዞች የሚጠቀሙ ከሆነ፣ ተመሳሳዩን መለያ በበርካታ ዘለላዎች ላይ የመጠቀም እድሉ ሰፊ ነው፣ ስለዚህ የምስክር ወረቀት አሰጣጥ ገደቦች በሁሉም ላይ ተፈጻሚ ይሆናሉ። የተገለጸውን ሚስጥር በሚገለብጥበት ጊዜ ይህ አስቀድሞ በሰርት-አቀናባሪ ውስጥ ተችሏል። privateKeySecretRef. ሰርት-አስተዳዳሪ አጋዥ ለመሆን ስለሞከረ እና ካላገኘው አዲስ የመለያ ቁልፍን በደስታ ፈጠረ። ለዚህ ነው የጨመርነው disableAccountKeyGenerationይህንን አማራጭ ካዘጋጁ ከዚህ ባህሪ እርስዎን ለመጠበቅ true - ሰርት-ማናጀር ቁልፍ አያመነጭም እና ከመለያ ቁልፍ ጋር እንዳልቀረበ ያስጠነቅቃል።

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 ይጠቀማሉ።

የምስክር ወረቀቶችን ከዚህ ሲኤ እንክሪፕት እናድርጋቸው እና በ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 ድረስ እንዲሰራ ያደርገዋል።

ምንጭ: hab.com

አስተያየት ያክሉ