ልምድ ያካበተ ጥበበኛ መሐንዲስ ስለ ሰርተፍ-ማናጀር ምን እንደሚያስብ እና ለምን ሁሉም እንደሚጠቀሙበት ከጠየቁ ስፔሻሊስቱ በቁጭት ያዝናሉ ፣ በልበ ሙሉነት ያቅፉት እና በድካም “ሁሉም ሰው ይጠቀምበታል ፣ ምክንያቱም ጤናማ አማራጮች የሉም። አይጦቻችን ያለቅሳሉ፣ ይወጋሉ፣ ግን ከዚህ ቁልቋል ጋር መኖራችንን ቀጥሉ። ለምን እንወዳለን? ምክንያቱም ይሰራል። ለምን አንወድም? ምክንያቱም አዳዲስ ባህሪያትን የሚጠቀሙ አዳዲስ ስሪቶች በየጊዜው እየወጡ ነው። እና ክላስተርን ደጋግመህ ማዘመን አለብህ። እና የድሮዎቹ ስሪቶች መስራት ያቆማሉ, ምክንያቱም ማሴር እና ታላቅ ሚስጥራዊ ሻማኒዝም አለ.
ነገር ግን ገንቢዎቹ ያንን ይላሉ የምስክር ወረቀት ሥራ አስኪያጅ 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 ውስጥ ጥቅም ላይ ይውላል. እንዲሁም የምንጽፈውን እያንዳንዱ መጽሔት ተገቢውን ደረጃ መያዙን ለማረጋገጥ እንገመግማለን። በዚህ ተመርተናል Error
(ደረጃ 0)፣ ይህም አስፈላጊ ስህተቶችን ብቻ የሚታተም እና የሚያበቃው። Trace
(ደረጃ 5) ምን እየተካሄደ እንዳለ በትክክል ለማወቅ ይረዳዎታል. በዚህ ለውጥ፣ ሰርት-አቀናባሪን በሚያሄዱበት ጊዜ የማረም መረጃ የማይፈልጉ ከሆነ የምዝግብ ማስታወሻዎችን ቁጥር ቀንሰናል።
ጠቃሚ ምክር፡ ሰርት-አቀናባሪ በነባሪ ደረጃ 2 ላይ ይሰራል (Info
), ይህንን በመጠቀም መሻር ይችላሉ global.logLevel
በ Helmchart.
ማሳሰቢያ፡ መላ ሲፈልጉ የምዝግብ ማስታወሻዎችን መመልከት የመጨረሻው አማራጭ ነው። ለበለጠ መረጃ የእኛን ይመልከቱ
የአርታዒው n.b.: ሁሉም በ Kubernetes ስር እንዴት እንደሚሰራ የበለጠ ለማወቅ ፣ ከተለማመዱ አስተማሪዎች ጠቃሚ ምክሮችን ያግኙ ፣ እንዲሁም ጥራት ያለው የቴክኒክ ድጋፍ በመስመር ላይ ማበረታቻዎች ውስጥ መሳተፍ ይችላሉ ።
የ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 እንመስጥር 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