Kubernetes క్లస్టర్‌కి SSL/TLS సర్టిఫికెట్‌ని జోడించండి

Kubernetes Klastar Ki Ssl Tls Sartiphiket Ni Jodincandi



భవిష్యత్ భద్రత కోసం కుబెర్నెట్స్‌లో చేసిన అప్లికేషన్‌ను సురక్షితంగా ఉంచడానికి SSL ప్రమాణపత్రాలు ఉపయోగించబడతాయి. చాలా సురక్షితమైన ప్రైవేట్ కీని కలిగి ఉన్న మరొక సురక్షిత ప్రమాణపత్రం TLSని తీసుకుందాం. సర్టిఫికేట్‌లు సర్టిఫికేట్‌లతో సృష్టించబడతాయి:  K8r.io API. మేము వివరణాత్మక ఉదాహరణల సహాయంతో SSL సర్టిఫికేట్ కాన్ఫిగరేషన్ గురించి బోధిస్తాము. కుబెర్నెట్స్‌లోని SSL ప్రమాణపత్రంతో ప్రారంభిద్దాం. బ్రౌజర్‌లకు SSL ప్రమాణపత్రాలు చాలా ముఖ్యమైనవి. బ్రౌజర్, SSL మరియు TLS సర్టిఫికెట్ల సహాయంతో, కుబెర్నెటెస్ సేవలతో సురక్షిత కనెక్షన్‌ని సృష్టిస్తుంది.

ముందస్తు అవసరాలు:

ప్రతి వినియోగదారు వారి సిస్టమ్ యొక్క ఉబుంటు యొక్క తాజా సంస్కరణను కలిగి ఉండాలి. విండోస్ ఆపరేటింగ్ సిస్టమ్ యొక్క వినియోగదారు వర్చువల్ బాక్స్‌ను ఇన్‌స్టాల్ చేసి, ఉబుంటు లేదా లైనక్స్‌ను వర్చువల్‌గా సిస్టమ్‌కు జోడిస్తుంది. వినియోగదారులు తప్పనిసరిగా Kubernetes, kubectl కమాండ్ లైన్, పాడ్‌లు మరియు క్లస్టర్‌లతో బాగా తెలిసి ఉండాలి మరియు ఈ అంశాన్ని బాగా అర్థం చేసుకోవడానికి క్లస్టర్ DNS గురించి తెలుసుకోవాలి.







మొత్తం విధానాన్ని వేర్వేరు దశలుగా విభజించడం ద్వారా కుబెర్నెట్స్‌లోని SSL సర్టిఫికేట్ కాన్ఫిగరేషన్‌ను క్లుప్తంగా చూద్దాం.



దశ 1: కుబెర్నెట్స్ కంట్రోల్ ప్యానెల్‌ను ప్రారంభించండి

మేము Kubernetes విధులను నిర్వహించడానికి Kubernetes ఆదేశాలను అమలు చేయగల వాతావరణాన్ని మా అప్లికేషన్‌లో కోరుకుంటున్నాము. ఫలితంగా, Kubernetes మాకు 'minikube' అనే స్థానిక-ఆధారిత కంటైనర్‌ను అందిస్తుంది. ప్రతి కుబెర్నెట్స్ అప్లికేషన్ ప్రారంభంలో, మేము కుబెర్నెట్స్‌లో మినీక్యూబ్‌ను ప్రారంభిస్తాము, ఇది ప్రాథమికంగా టెర్మినల్, ఇది కుబెర్నెట్స్ ఆదేశాలను అమలు చేయడానికి అవసరం. ఈ దశలో, Minikubeని ప్రారంభించేందుకు మేము ఆదేశాన్ని అమలు చేస్తాము, ఇది:



> minikube ప్రారంభించండి

మన సిస్టమ్ టెర్మినల్‌లో ఈ ఆదేశాన్ని అమలు చేసినప్పుడు, ఎంటర్ బటన్‌ను నొక్కడం ద్వారా కమాండ్ అమలు ప్రారంభమవుతుంది. కమాండ్ మాకు దిగువ-అటాచ్ చేసిన స్క్రీన్‌షాట్ ఫలితాన్ని తిరిగి చూపుతుంది.





దశ 2: సర్టిఫికేట్ సంతకం అభ్యర్థనను రూపొందించండి

Minikubeని ఉపయోగించడం ద్వారా క్లస్టర్‌ని సృష్టించిన తర్వాత, మేము ఇప్పుడు సర్టిఫికేట్ సంతకం అభ్యర్థనను సృష్టించాలనుకుంటున్నాము. ఈ చర్యకు బదులుగా, మేము సర్టిఫికేట్ అభ్యర్థనపై సంతకం చేయడానికి మరియు ప్రైవేట్ కీని రూపొందించడానికి ఆదేశాన్ని అమలు చేస్తాము.



> పిల్లి << EOF | cfssl జెంకీ - | cfssljson -కేవలం సర్వర్

ప్రశ్న అమలు తర్వాత, అభ్యర్థన ప్రైవేట్ కీతో విజయవంతంగా రూపొందించబడింది. ఫలితం స్క్రీన్‌షాట్‌గా పైన జోడించబడింది.

దశ 3: YAML ఫైల్‌లో సర్టిఫికేట్ సంతకం అభ్యర్థన మానిఫెస్ట్‌ను సృష్టించండి

ఈ దశలో, మేము Kubernetesలో CSRని సృష్టించడం కోసం YAML ఫైల్ మానిఫెస్ట్‌ని సృష్టిస్తాము. మేము దిగువ ఆదేశాన్ని అమలు చేస్తాము:

> పిల్లి << EOF | kubectl వర్తిస్తాయి -ఎఫ్

ఈ ఆదేశాన్ని అమలు చేసిన తర్వాత, ఒక YAML ఫైల్ విజయవంతంగా సృష్టించబడుతుంది. మరియు జోడించిన స్క్రీన్‌షాట్‌లో చూపిన విధంగా మేము దానిని API సర్వర్‌కు పంపుతాము.

దశ 4:  సర్టిఫికేట్ సంతకం అభ్యర్థన స్థితిని పొందండి

ఈ దశలో, మేము API ద్వారా కనిపించే CSR స్థితిని పరిశీలిస్తాము. సర్టిఫికేట్ అభ్యర్థన స్థితిని తిరిగి పొందడానికి మేము ఇచ్చిన ఆదేశాన్ని అమలు చేయవచ్చు.

> kubectl csv my-svc.my-namespaceని వివరిస్తుంది

ఆదేశం అమలు చేయబడినప్పుడు, జోడించిన స్క్రీన్‌షాట్‌లో చూపిన విధంగా, CSR స్థితి అవుట్‌పుట్‌లో ప్రదర్శించబడుతుంది. CSR స్థితి “పెండింగ్‌లో ఉంది” మరియు ఈ స్థితి API నుండి వస్తోంది. ఫైల్ పేరు my-svc. my-namespace మరియు ఉల్లేఖనాలు, అభ్యర్థన వినియోగదారు మరియు విషయం, సబ్జెక్ట్ ప్రత్యామ్నాయ పేర్లు DNS పేర్లు మరియు IP చిరునామాలు, ఈవెంట్‌లు మొదలైనవి CSR వివరణలో చేర్చబడ్డాయి. స్థితి “పెండింగ్‌లో ఉంది” అంటే CSR ప్రమాణపత్రం ఇంకా ఆమోదించబడలేదు.

దశ 5:  CSR సర్టిఫికెట్ల ఆమోదం

CSR సర్టిఫికేట్ స్టేటస్ ఇంకా పెండింగ్‌లో ఉంది. కాబట్టి, ఈ సందర్భంలో, CSR ప్రమాణపత్రాన్ని ఆమోదించడానికి మేము Kubernetes APIకి ఒక ప్రశ్నను పంపుతాము. ఆమోదం కోసం మేము ఈ ఆదేశాన్ని అమలు చేస్తాము:

> kubectl ప్రమాణపత్రం my-svc .my-namespaceని ఆమోదించండి

కమాండ్ అమలు తర్వాత అవుట్‌పుట్‌ను చూపుతుంది. కుబెర్నెట్స్ అడ్మినిస్ట్రేషన్ వంటి అధీకృత వ్యక్తి CSR ప్రమాణపత్రాన్ని ఆమోదిస్తారు. మేము అధీకృత వినియోగదారులు అయినందున, మేము YAML ఫైల్‌లను సృష్టిస్తాము. ఫలితంగా, వివరణ కోసం దిగువ స్క్రీన్‌షాట్‌లో చూపిన విధంగా, CSR ప్రమాణపత్రం ఆదేశాన్ని ఉపయోగించి సులభంగా ఆమోదించబడుతుంది.

my-svc.my-namespace certificates.k8s.io API ద్వారా విజయవంతంగా ఆమోదించబడింది.

దశ 6: కుబెర్నెట్స్‌లో CSR సర్టిఫికేట్ పొందండి

CSR సర్టిఫికేట్ ఆమోదించబడిందా లేదా అని మేము ఇప్పుడు ఎదురుచూస్తున్నాము. కాబట్టి, సిస్టమ్‌లో ప్రస్తుతం సక్రియంగా ఉన్న అన్ని CSR సర్టిఫికేట్‌ల జాబితాను పొందడానికి మేము ఆదేశాన్ని అమలు చేస్తాము. ఆదేశాన్ని అమలు చేయండి:

> kubectl csr పొందండి

కుబెర్నెట్స్‌లో ఆమోదించబడిన CSR సర్టిఫికేట్ పేరు జోడించిన స్క్రీన్‌షాట్‌లో చూపబడింది. ఈ కమాండ్ CSR సర్టిఫికేట్ యొక్క పేరు, వయస్సు, సంతకం చేసిన వ్యక్తి పేరు, అభ్యర్ధకుడు, అభ్యర్థించిన వ్యవధి మరియు స్థితిని అందిస్తుంది.

దశ 7: అథారిటీని సృష్టించడం ద్వారా సర్టిఫికేట్‌పై సంతకం చేయండి

ఈ దశలో, కుబెర్నెట్స్‌లో సర్టిఫికెట్లు ఎలా సంతకం చేయబడతాయో చూద్దాం. SSL ప్రమాణపత్రం ఆమోదించబడింది కానీ ఇంకా సంతకం చేయలేదు. కుబెర్నెట్స్‌లోని సర్టిఫికేట్‌లో సంతకం చేసిన వ్యక్తి పేరు కనిపిస్తుంది. అభ్యర్థించిన సంతకం చేసే వ్యక్తి ప్రమాణపత్రంపై సంతకం చేసే ఆదేశాన్ని మేము అమలు చేస్తాము. ఆదేశం:

> పిల్లి << EOF | cfssl జెనార్ట్ -ఇనిట్కా - | cfssljson - బేర్ ca

{

'CN' : 'నా ఉదాహరణ సంతకం' ,
'కీ' : {
'ఏదో' : 'rsa' ,
'పరిమాణం' : 2048
}


}

EOF

సర్టిఫికేట్‌పై డిజిటల్‌గా సంతకం చేయడానికి ఆదేశం అమలు చేయబడుతుంది. సంతకం అభ్యర్థించిన సర్టిఫికేట్‌లపై సంతకం చేసి, “SSL ప్రమాణపత్రం” కమాండ్‌తో API స్థితిని నవీకరిస్తుంది. మేము పై ఆదేశాన్ని అమలు చేయడం ద్వారా సంతకం సర్టిఫికేట్‌ను సృష్టించాము మరియు ఫలితం జోడించిన స్క్రీన్‌షాట్‌లో చూపబడుతుంది. సర్టిఫికెట్‌పై సంతకం చేయడానికి ఒక ప్రత్యేక క్రమ సంఖ్య విజయవంతంగా ఉపయోగించబడింది.

దశ 8:  సర్టిఫికేట్ జారీ చేయడానికి JSON ఫైల్‌ను సృష్టించండి

సర్టిఫికేట్ సంతకం చేసిన తర్వాత, మేము ఒక సర్టిఫికేట్ జారీ చేసే JSON ఫైల్‌ను సృష్టిస్తాము. జతచేయబడిన స్క్రీన్‌షాట్‌తో కింది ఆదేశాన్ని అమలు చేయడం ద్వారా మేము JSON ఫైల్‌ను సృష్టిస్తాము:

> నానో signingfile.json

ఆదేశం అమలు చేయబడిన తర్వాత, దిగువ స్క్రీన్‌షాట్‌లో చూడగలిగే విధంగా JSON ఫైల్ సృష్టించబడుతుంది.

దశ 9:  Server-Signing-config.jsonని ఉపయోగించండి

ఈ దశలో, సర్టిఫికెట్‌లపై సంతకం చేయడానికి మరియు జారీ చేయడానికి మేము JSONలో ఉన్న సర్వర్-సైనింగ్-కాన్ఫిగరేషన్ ఫైల్‌ని ఉపయోగిస్తాము. మేము ప్రైవేట్ కీ ఫైల్‌తో సర్టిఫికేట్ సంతకం కోసం ఆదేశాన్ని అమలు చేస్తాము.

> kubectl csr my-svc.my-namespace పొందండి -ది jsonpath =' { .spec.request } | \ base64 --డీకోడ్ | \ cfssl గుర్తు -అది ca.pem -ca ca-key ca-key.pem - config సర్వర్ సంతకం-config.json | \ cfssljson -కేవలం ca-signed-server

ఈ ఆదేశం తర్వాత, json ఫైల్‌లో ఇప్పటికే నిర్వచించబడిన ప్రమాణపత్రం సంతకం చేయబడింది. ఈ CSR క్రమ సంఖ్య రూపొందించబడింది. ఇక్కడ, మేము 'ca-signed-server.pem' పేరుతో సంతకం చేసిన సర్వింగ్ సర్టిఫికేట్ ఫైల్‌ను రూపొందిస్తాము.

దశ 10: API ఆబ్జెక్ట్‌లో సంతకం చేసిన సర్టిఫికెట్ అప్‌లోడ్

ఈ దశలో, మేము పైన చూసిన పెండింగ్‌లో ఉన్న API స్థితికి సంతకం చేసిన ప్రమాణపత్రాన్ని అప్‌లోడ్ చేస్తాము. అప్‌లోడ్ చేయవలసిన ఆదేశం:

> kubectl csr my-svc.my-namespace పొందండి -ది json | \  jq '.status.certificate = '

'
$ ( base64 ca-signed-server.pem | tr -డి '\n' ) ''' | \

> kubectl భర్తీ --ముడి / apis / certificates.k8s.io / v1 / సర్టిఫికేట్ సంతకం అభ్యర్థనలు / my-svc.my-   నేమ్‌స్పేస్ / హోదా -ఎఫ్ -

ఈ ఆదేశం అమలు చేయబడినప్పుడు, CSR ఆమోదించబడినప్పుడల్లా సంతకం చేయబడిన సర్టిఫికేట్ విజయవంతంగా అప్‌లోడ్ చేయబడుతుంది. పైన జోడించిన స్క్రీన్‌షాట్ సంతకం చేసిన ప్రమాణపత్రాన్ని API ఆబ్జెక్ట్‌లుగా అప్‌లోడ్ చేసే JSON ఆకృతిని చూపుతుంది.

దశ 11: కుబెర్నెట్స్‌లో ఆమోదించబడిన సర్టిఫికెట్‌లను నమోదు చేయండి

కుబెర్నెట్స్‌లో ఆమోదించబడిన సర్టిఫికేట్‌లను చూపించడానికి మేము మళ్లీ ఆదేశాన్ని అమలు చేస్తాము.

> kubectl csr పొందండి

ఎగువ స్క్రీన్‌షాట్‌లో చూపిన విధంగా ప్రమాణపత్రం ఆమోదించబడింది మరియు విజయవంతంగా జారీ చేయబడింది.

దశ 12: సర్టిఫికేట్‌ను సిస్టమ్‌లో సేవ్ చేయండి

ఈ దశలో, సంతకం చేసిన సర్టిఫికేట్‌ను ఎలా డౌన్‌లోడ్ చేయాలో మరియు దానిని మా సిస్టమ్‌లో విజయవంతంగా ఎలా ఉపయోగించాలో నేర్చుకుంటాము. మేము సర్టిఫికేట్‌ను సర్వర్‌లో సులభంగా అమలు చేస్తాము. ఆదేశం:

> kubectl csr my-svc.my-namespace పొందండి -ది jsonpath = '{.status.certificate}' \

| బేస్64 --డీకోడ్ > సర్వర్.crt

దశ 13:  సర్టిఫికేట్‌ను నింపండి

ఈ దశలో, మేము సర్వర్‌లో సర్టిఫికేట్‌ను ఎలా నింపాలో నేర్చుకుంటాము, తద్వారా మేము వెబ్ భద్రత కోసం సర్టిఫికేట్‌ను సులభంగా ఉపయోగించవచ్చు. మేము ఆదేశాన్ని అమలు చేస్తాము:

కల్సూమ్ @ కల్సూమ్ > kubectl రహస్య tls సర్వర్‌ని సృష్టిస్తుంది --సర్ట్ సర్వర్.crt --కీ సర్వర్-కీ.పెమ్

పైన జోడించిన స్క్రీన్‌షాట్, TLS సురక్షిత లేదా రహస్య సర్వర్ పేరు cert server.cr మరియు ప్రైవేట్ కీ సర్వర్-కీ.పెమ్‌తో విజయవంతంగా సృష్టించబడిందని మాకు చూపుతుంది.

దశ 14: సర్టిఫికేట్‌ను మ్యాప్ చేయండి

ఈ దశలో, దిగువ ఆదేశాన్ని అమలు చేయడం ద్వారా ఇది సురక్షితమైన సర్వింగ్ సర్టిఫికేట్ అని నిర్ధారించడానికి మేము ప్రమాణపత్రాన్ని కాన్ఫిగర్ చేస్తాము:

> kubectl కాన్ఫిగ్‌మ్యాప్ ఉదాహరణ-సర్వింగ్-caని సృష్టించండి --ఫైల్ నుండి ca.crt=ca.pem

జోడించిన స్క్రీన్‌షాట్‌లో చూపినట్లుగా, వెబ్ సర్వర్‌లో సురక్షిత కనెక్షన్ కోసం కాన్ఫిగర్ మ్యాప్/ఉదాహరణ-సర్వింగ్-ca విజయవంతంగా Kubernetesలో సృష్టించబడింది.

ముగింపు

వెబ్ సర్వర్‌లో కుబెర్నెట్స్ అప్లికేషన్‌లకు భద్రతను అందించడానికి SSL ప్రమాణపత్రాలు ఉపయోగించబడతాయి. మీ అవగాహన కోసం మేము ప్రతి దశను వివరంగా వివరించాము. SSL ప్రమాణపత్రాన్ని ఇన్‌స్టాల్ చేయడానికి మీరు మీ కుబెర్నెట్స్ అప్లికేషన్‌లో కూడా అదే ఆదేశాలను అమలు చేయవచ్చు.