Kubernetes கிளஸ்டரில் SSL/TLS சான்றிதழைச் சேர்க்கவும்

Kubernetes Kilastaril Ssl Tls Canritalaic Cerkkavum



SSL சான்றிதழ்கள் எதிர்கால பாதுகாப்பிற்காக குபெர்னெட்ஸில் செய்யப்பட்ட பயன்பாட்டைப் பாதுகாக்கப் பயன்படுத்தப்படுகின்றன. மற்றொரு பாதுகாப்பான சான்றிதழை எடுத்துக்கொள்வோம், TLS, இது மிகவும் பாதுகாப்பான தனிப்பட்ட விசையைக் கொண்டுள்ளது. சான்றிதழ்கள் சான்றிதழ்களுடன் உருவாக்கப்படுகின்றன:  K8r.io API. விரிவான எடுத்துக்காட்டுகளின் உதவியுடன் SSL சான்றிதழ் உள்ளமைவைப் பற்றி கற்பிப்போம். குபெர்னெட்டஸில் உள்ள SSL சான்றிதழுடன் தொடங்குவோம். உலாவிகளுக்கு SSL சான்றிதழ்கள் மிகவும் முக்கியமானவை. உலாவி, SSL மற்றும் TLS சான்றிதழ்களின் உதவியுடன், Kubernetes சேவைகளுடன் பாதுகாப்பான இணைப்பை உருவாக்குகிறது.

முன்நிபந்தனைகள்:

ஒவ்வொரு பயனரும் தங்கள் கணினியின் உபுண்டுவின் சமீபத்திய பதிப்பைக் கொண்டிருக்க வேண்டும். விண்டோஸ் இயக்க முறைமையின் பயனர் மெய்நிகர் பெட்டியை நிறுவி, உபுண்டு அல்லது லினக்ஸை கணினியில் சேர்க்கிறார். பயனர்கள் Kubernetes, kubectl கட்டளை வரி, காய்கள் மற்றும் கிளஸ்டர்களை நன்கு அறிந்திருக்க வேண்டும், மேலும் இந்த தலைப்பை நன்கு புரிந்து கொள்ள கிளஸ்டர் DNS ஐ அறிந்திருக்க வேண்டும்.







முழு செயல்முறையையும் வெவ்வேறு படிகளாக உடைப்பதன் மூலம் குபெர்னெட்ஸில் SSL சான்றிதழ் உள்ளமைவை சுருக்கமாகப் பார்ப்போம்.



படி 1: குபெர்னெட்ஸ் கண்ட்ரோல் பேனலைத் தொடங்கவும்

குபெர்னெட்ஸ் பணிகளைச் செய்ய குபெர்னெட்ஸ் கட்டளைகளை இயக்கக்கூடிய சூழலை எங்கள் பயன்பாட்டில் நாங்கள் விரும்புகிறோம். இதன் விளைவாக, Kubernetes எங்களுக்கு 'minikube' எனப்படும் உள்ளூர் அடிப்படையிலான கொள்கலனை வழங்குகிறது. ஒவ்வொரு Kubernetes பயன்பாட்டு தொடக்கத்திலும், Kubernetes இல் ஒரு minikube ஐத் தொடங்குவோம், இது அடிப்படையில் ஒரு முனையமாகும், இது Kubernetes கட்டளைகளை இயக்குவதற்குத் தேவைப்படுகிறது. இந்த கட்டத்தில், Minikube ஐ துவக்க கட்டளையை இயக்குகிறோம், அதாவது:



> minikube ஐ தொடங்கவும்

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





படி 2: சான்றிதழ் கையொப்ப கோரிக்கையை உருவாக்கவும்

Minikube ஐப் பயன்படுத்தி ஒரு கிளஸ்டரை உருவாக்கிய பிறகு, இப்போது சான்றிதழ் கையொப்ப கோரிக்கையை உருவாக்க விரும்புகிறோம். இந்த செயலுக்கு ஈடாக, சான்றிதழ் கோரிக்கையில் கையொப்பமிடுவதற்கும் தனிப்பட்ட விசையை உருவாக்குவதற்கும் கட்டளையை இயக்குகிறோம்.



> பூனை << EOF | cfssl ஜென்கி - | cfssljson - தான் சர்வர்

வினவல் செயல்பாட்டிற்குப் பிறகு, தனிப்பட்ட விசையுடன் கோரிக்கை வெற்றிகரமாக உருவாக்கப்படும். முடிவு மேலே ஸ்கிரீன்ஷாட்டாக இணைக்கப்பட்டுள்ளது.

படி 3: YAML கோப்பில் ஒரு சான்றிதழ் கையொப்ப கோரிக்கை மேனிஃபெஸ்ட்டை உருவாக்கவும்

இந்தப் படிநிலையில், குபெர்னெட்டஸில் 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 - bare ca

{

'சிஎன்' : 'எனது எடுத்துக்காட்டு கையொப்பமிட்டவர்' ,
'விசை' : {
'ஏதாவது' : 'ஆர்எஸ்ஏ' ,
'அளவு' : 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 } | \ அடிப்படை64 --டிகோட் | \ cfssl அடையாளம் -அந்த ca.pem -ca ca-key ca-key.pem - கட்டமைப்பு server-signing-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 -d '\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 --டிகோட் > சர்வர்.சிஆர்டி

படி 13:  சான்றிதழை நிரப்பவும்

இந்த கட்டத்தில், சர்வரில் சான்றிதழை எவ்வாறு நிரப்புவது என்பதை நாங்கள் கற்றுக்கொள்வோம், இதன் மூலம் இணைய பாதுகாப்பிற்காக சான்றிதழை எளிதாகப் பயன்படுத்தலாம். நாங்கள் கட்டளையை இயக்குகிறோம்:

கல்சூம் @ கல்சூம் > kubectl ரகசிய tls சேவையகத்தை உருவாக்குகிறது --சான்றிதழ் சர்வர்.சிஆர்டி --விசை சர்வர்-கீ.பெம்

மேலே இணைக்கப்பட்டுள்ள ஸ்கிரீன்ஷாட், TLS பாதுகாப்பான அல்லது ரகசிய சர்வர் சர்வர் சர்வர்.சிஆர் என்ற பெயரில் வெற்றிகரமாக உருவாக்கப்பட்டு, சர்வர்-கீ.பெம் என்ற தனிப்பட்ட விசையைக் கொண்டுள்ளது என்பதைக் காட்டுகிறது.

படி 14: சான்றிதழின் வரைபடத்தை உள்ளமைக்கவும்

இந்த கட்டத்தில், கீழே உள்ள கட்டளையை இயக்குவதன் மூலம் சான்றிதழை ஒரு பாதுகாப்பான சேவை சான்றிதழாக இருப்பதை உறுதி செய்வோம்:

> kubectl உருவாக்க configmap உதாரணம்-serving-ca --கோப்பில் இருந்து ca.crt=ca.pem

இணைக்கப்பட்ட ஸ்கிரீன்ஷாட்டில் காட்டப்பட்டுள்ளபடி, config map/example-serving-ca ஆனது வலை சேவையகத்தில் பாதுகாப்பான இணைப்பிற்காக Kubernetes இல் வெற்றிகரமாக உருவாக்கப்பட்டது.

முடிவுரை

வலை சேவையகத்தில் குபெர்னெட்ஸ் பயன்பாடுகளுக்கு பாதுகாப்பை வழங்க SSL சான்றிதழ்கள் பயன்படுத்தப்படுகின்றன. உங்கள் புரிதலுக்காக ஒவ்வொரு படிநிலையையும் விரிவாக விளக்கினோம். SSL சான்றிதழை நிறுவ, அதே கட்டளைகளை உங்கள் குபெர்னெட்ஸ் பயன்பாட்டிலும் இயக்கலாம்.