Kubernetes ক্লাস্টারে একটি SSL/TLS শংসাপত্র যোগ করুন

Kubernetes Klastare Ekati Ssl Tls Sansapatra Yoga Karuna



SSL শংসাপত্রগুলি ভবিষ্যতের নিরাপত্তার জন্য Kubernetes-এ তৈরি করা অ্যাপ্লিকেশনটিকে সুরক্ষিত করতে ব্যবহার করা হয়। আসুন আমরা আরেকটি সুরক্ষিত শংসাপত্র নিই, TLS, যেটিতে একটি অত্যন্ত সুরক্ষিত ব্যক্তিগত কী রয়েছে। শংসাপত্রগুলি সার্টিফিকেট দিয়ে তৈরি করা হয়: K8r.io API। আমরা বিস্তারিত উদাহরণের সাহায্যে SSL সার্টিফিকেট কনফিগারেশন সম্পর্কে শেখাব। কুবারনেটে এসএসএল সার্টিফিকেট দিয়ে শুরু করা যাক। SSL সার্টিফিকেট ব্রাউজারদের জন্য খুবই গুরুত্বপূর্ণ। ব্রাউজার, SSL এবং TLS শংসাপত্রের সাহায্যে, Kubernetes পরিষেবাগুলির সাথে একটি নিরাপদ সংযোগ তৈরি করে৷

পূর্বশর্ত:

প্রতিটি ব্যবহারকারীর অবশ্যই তাদের সিস্টেমের উবুন্টুর সর্বশেষ সংস্করণ থাকতে হবে। উইন্ডোজ অপারেটিং সিস্টেমের ব্যবহারকারী একটি ভার্চুয়াল বক্স ইনস্টল করে এবং উবুন্টু বা লিনাক্সকে কার্যত সিস্টেমে যুক্ত করে। ব্যবহারকারীদের অবশ্যই Kubernetes, kubectl কমান্ড লাইন, পড এবং ক্লাস্টারগুলির সাথে পরিচিত হতে হবে এবং এই বিষয়টি আরও ভালভাবে বোঝার জন্য ক্লাস্টার DNS জানতে হবে।







আসুন আমরা সম্পূর্ণ প্রক্রিয়াটিকে বিভিন্ন ধাপে বিভক্ত করে কুবারনেটসে SSL সার্টিফিকেট কনফিগারেশনের একটি সংক্ষিপ্ত বিবরণ দেখি।



ধাপ 1: Kubernetes কন্ট্রোল প্যানেল শুরু করুন

আমরা আমাদের অ্যাপ্লিকেশনে একটি পরিবেশ চাই যেখানে আমরা Kubernetes কার্য সম্পাদন করতে Kubernetes কমান্ড চালাতে পারি। ফলস্বরূপ, কুবারনেটস আমাদের 'মিনিকুব' নামক একটি স্থানীয়-ভিত্তিক ধারক সরবরাহ করে। প্রতিটি Kubernetes অ্যাপ্লিকেশন শুরু হলে, আমরা Kubernetes-এ একটি minikube শুরু করব, যা মূলত একটি টার্মিনাল, যা Kubernetes কমান্ড চালানোর জন্য প্রয়োজন। এই ধাপে, আমরা Minikube আরম্ভ করার জন্য কমান্ড চালাই, যা হল:



> মিনিকুব শুরু করুন

যখন আমরা আমাদের সিস্টেম টার্মিনালে এই কমান্ডটি চালাই, তখন এন্টার বোতাম টিপে কমান্ডটি কার্যকর করা শুরু হয়। কমান্ড আমাদের বিনিময়ে একটি নীচে সংযুক্ত স্ক্রিনশট ফলাফল দেখায়।





ধাপ 2: শংসাপত্র স্বাক্ষরের অনুরোধ তৈরি করুন

Minikube ব্যবহার করে একটি ক্লাস্টার তৈরি করার পর, আমরা এখন একটি শংসাপত্র স্বাক্ষর করার অনুরোধ তৈরি করতে চাই। এই কর্মের বিনিময়ে, আমরা শংসাপত্রের অনুরোধে স্বাক্ষর করার এবং একটি ব্যক্তিগত কী তৈরি করার জন্য কমান্ড চালাই।



> বিড়াল << ইওএফ | cfssl genkey - | cfssljson -শুধু সার্ভার

ক্যোয়ারী সম্পাদনের পরে, ব্যক্তিগত কী দিয়ে অনুরোধটি সফলভাবে তৈরি হয়। ফলাফল একটি স্ক্রিনশট হিসাবে উপরে সংযুক্ত করা হয়.

ধাপ 3: YAML ফাইলে একটি শংসাপত্র স্বাক্ষর করার অনুরোধ ম্যানিফেস্ট তৈরি করুন

এই ধাপে, আমরা Kubernetes-এ CSR তৈরির জন্য একটি YAML ফাইল ম্যানিফেস্ট তৈরি করব। আমরা নীচের কমান্ডটি চালাই:

> বিড়াল << ইওএফ | kubectl প্রয়োগ করুন -চ -

এই কমান্ডটি কার্যকর করার পরে, একটি YAML ফাইল সফলভাবে তৈরি করা হয়েছে। এবং আমরা এটি API সার্ভারে পাঠাই, যেমনটি সংযুক্ত স্ক্রিনশটে দেখানো হয়েছে।

ধাপ 4: সার্টিফিকেট সাইনিং রিকোয়েস্ট স্ট্যাটাস পান

এই ধাপে, আমরা API এর মাধ্যমে দেখা CSR স্থিতি দেখব। আমরা শংসাপত্র অনুরোধের স্থিতি পুনরুদ্ধার করতে প্রদত্ত কমান্ডটি চালাতে পারি।

> kubectl csv my-svc.my-namespace বর্ণনা করুন

কমান্ডটি চালানো হলে, আউটপুটে CSR স্থিতি প্রদর্শিত হয়, যেমনটি সংযুক্ত স্ক্রিনশটে দেখানো হয়েছে। CSR-এর স্ট্যাটাস 'পেন্ডিং' এবং এই স্ট্যাটাসটি API থেকে আসছে। ফাইলটির নাম my-svc. মাই-নেমস্পেস এবং টীকা, অনুরোধকারী ব্যবহারকারী এবং বিষয়, বিষয়ের বিকল্প নাম যার DNS নাম এবং আইপি ঠিকানা, ইভেন্ট ইত্যাদি CSR বিবরণে অন্তর্ভুক্ত করা হয়েছে। স্ট্যাটাসটি 'মুলতুবি' যার মানে CSR সার্টিফিকেট এখনো অনুমোদিত হয়নি।

ধাপ 5: CSR সার্টিফিকেট অনুমোদন

CSR সার্টিফিকেটের অবস্থা এখনও মুলতুবি আছে। সুতরাং, এই ক্ষেত্রে, আমরা CSR শংসাপত্র অনুমোদনের জন্য Kubernetes' API-এ একটি প্রশ্ন পাঠাব। আমরা অনুমোদনের জন্য এই কমান্ডটি চালাই:

> kubectl সার্টিফিকেট my-svc .my-namespace অনুমোদন করে

কমান্ডটি কার্যকর করার পরে আউটপুট দেখায়। একজন অনুমোদিত ব্যক্তি, যেমন Kubernetes প্রশাসন, CSR সার্টিফিকেট অনুমোদন করে। যেহেতু আমরা অনুমোদিত ব্যবহারকারী, আমরা YAML ফাইল তৈরি করি। ফলস্বরূপ, CSR শংসাপত্রটি কমান্ড ব্যবহার করে সহজেই অনুমোদিত হয়, যেমনটি স্পষ্টকরণের জন্য নীচের স্ক্রিনশটে দেখানো হয়েছে।

my-svc.my-namespace সার্টিফিকেট.k8s.io API এর মাধ্যমে সফলভাবে অনুমোদিত হয়েছে।

ধাপ 6: Kubernetes-এ CSR সার্টিফিকেট আনুন

আমরা এখন সিএসআর সার্টিফিকেট অনুমোদিত হয়েছে কিনা তা দেখার জন্য অপেক্ষা করছি। সুতরাং, আমরা বর্তমানে সিস্টেমে সক্রিয় সমস্ত CSR শংসাপত্রের একটি তালিকা পেতে কমান্ডটি চালাব। কমান্ড চালান:

> kubectl সিএসআর পান

Kubernetes-এ অনুমোদিত CSR সার্টিফিকেটের নাম সংযুক্ত স্ক্রিনশটে দেখানো হয়েছে। এই কমান্ডটি CSR শংসাপত্রের নাম, বয়স, স্বাক্ষরকারীর নাম, অনুরোধকারী, অনুরোধকৃত সময়কাল এবং শর্ত প্রদান করে।

ধাপ 7: কর্তৃপক্ষ তৈরি করে শংসাপত্রে স্বাক্ষর করুন

এই ধাপে, আমরা দেখব কিভাবে Kubernetes-এ সার্টিফিকেট সাইন করা হয়। SSL শংসাপত্র অনুমোদিত কিন্তু এখনও স্বাক্ষরিত নয়. কুবারনেটে শংসাপত্রে স্বাক্ষরকারীর নাম প্রদর্শিত হবে। আমরা কমান্ড চালাই যার মাধ্যমে অনুরোধকৃত স্বাক্ষরকারী শংসাপত্রে স্বাক্ষর করে। আদেশটি হল:

> বিড়াল << ইওএফ | cfssl genart -initca - | cfssljson – bare ca

{

'সিএন' : 'আমার উদাহরণ স্বাক্ষরকারী' ,
'মূল' : {
'কিছু' : 'rsa' ,
'আকার' : 2048
}


}

ইওএফ

শংসাপত্র ডিজিটালভাবে স্বাক্ষর করার জন্য কমান্ড চালানো হয়। স্বাক্ষরকারী অনুরোধকৃত শংসাপত্রগুলিতে স্বাক্ষর করে এবং 'SSL শংসাপত্র' কমান্ড দিয়ে API স্থিতি আপডেট করে। আমরা উপরের কমান্ডটি চালিয়ে একটি স্বাক্ষর শংসাপত্র তৈরি করেছি এবং ফলাফলটি সংযুক্ত স্ক্রিনশটে দেখানো হয়েছে। শংসাপত্রে স্বাক্ষর করতে একটি অনন্য ক্রমিক নম্বর সফলভাবে ব্যবহার করা হয়েছে৷

ধাপ 8: একটি শংসাপত্র ইস্যু করার জন্য একটি JSON ফাইল তৈরি করুন

শংসাপত্র স্বাক্ষর করার পরে, আমরা একটি JSON ফাইল তৈরি করি যেখান থেকে আমরা একটি শংসাপত্র ইস্যু করি। আমরা সংযুক্ত স্ক্রিনশট সহ নিম্নলিখিত কমান্ডটি চালিয়ে একটি JSON ফাইল তৈরি করব:

> ন্যানো signingfile.json

কমান্ডটি কার্যকর হওয়ার পরে, JSON ফাইলটি তৈরি করা হয় যা নীচের স্ক্রিনশটে দেখা যেতে পারে।

ধাপ 9:  Server-Signing-config.json ব্যবহার করুন

এই ধাপে, আমরা সার্ভার-সাইনিং-কনফিগ ফাইলটি ব্যবহার করি যা JSON-এ রয়েছে সার্টিফিকেট সাইন এবং ইস্যু করতে। আমরা একটি প্রাইভেট কী ফাইল দিয়ে সার্টিফিকেট সাইনিংয়ের জন্য কমান্ড চালাই।

> kubectl csr my-svc.my-namespace পান -দ্য জসনপথ =' { .spec.request } ' | \ base64 --ডিকোড | \cfssl চিহ্ন -ওটা ca.pem -ca ca-কী ca-key.pem -config server-signing-config.json | \cfssljson -শুধু ca- স্বাক্ষরিত সার্ভার

এই কমান্ডের পরে, 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 প্রতিস্থাপন --কাঁচা / এপিস / সার্টিফিকেট.k8s.io / v1 / সার্টিফিকেট স্বাক্ষরের অনুরোধ / my-svc.my- নামস্থান / অবস্থা -চ -

যখন এই কমান্ডটি কার্যকর করা হয়, যখনই সিএসআর অনুমোদিত হয় তখন স্বাক্ষরিত শংসাপত্রটি সফলভাবে আপলোড করা হয়। উপরে সংযুক্ত স্ক্রিনশটটি আমাদের একটি JSON ফর্ম্যাট দেখায় যা API অবজেক্ট হিসাবে স্বাক্ষরিত শংসাপত্র আপলোড করে।

ধাপ 11: Kubernetes-এ অনুমোদিত সার্টিফিকেট তালিকাভুক্ত করুন

আমরা আবার কুবারনেটে অনুমোদিত শংসাপত্রগুলি দেখানোর জন্য কমান্ড চালাই।

> kubectl সিএসআর পান

শংসাপত্রটি অনুমোদিত এবং সফলভাবে জারি করা হয়েছে, যেমনটি উপরের স্ক্রিনশটে দেখানো হয়েছে।

ধাপ 12: সিস্টেমে সার্টিফিকেট সংরক্ষণ করুন

এই ধাপে, আমরা শিখব কিভাবে স্বাক্ষরিত শংসাপত্র ডাউনলোড করতে হয় এবং আমাদের সিস্টেমে এটি সফলভাবে ব্যবহার করতে হয়। আমরা সহজেই সার্ভারে সার্টিফিকেট স্থাপন করি। আদেশটি হল:

> kubectl csr my-svc.my-namespace পান -দ্য জসনপথ = '{.status.certificate}' \

| বেস64 --ডিকোড > server.crt

ধাপ 13: সার্টিফিকেট পূরণ করুন

এই ধাপে, আমরা শিখব কিভাবে সার্ভারে সার্টিফিকেট পপুলেট করতে হয় যাতে আমরা সহজেই ওয়েব নিরাপত্তার জন্য সার্টিফিকেট ব্যবহার করতে পারি। আমরা কমান্ড চালাই:

কলসুম @ কলসুম > kubectl গোপন tls সার্ভার তৈরি করে --প্রত্যয়নপত্র server.crt --মূল server-key.pem

উপরে সংযুক্ত স্ক্রিনশট আমাদের দেখায় যে TLS সুরক্ষিত বা গোপন সার্ভার সফলভাবে তৈরি করা হয়েছে নাম cert server.cr এবং ব্যক্তিগত কী সার্ভার-key.pem সহ।

ধাপ 14: সার্টিফিকেট ম্যাপ কনফিগার করুন

এই ধাপে, আমরা নিচের কমান্ডটি চালানোর মাধ্যমে শংসাপত্রটি নিশ্চিত করতে কনফিগার করব যে এটি একটি নিরাপদ সার্ভিং সার্টিফিকেট:

> kubectl configmap example-serving-ca তৈরি করে --ফাইল থেকে ca.crt=ca.pem

সংযুক্ত স্ক্রিনশটে দেখানো হয়েছে, ওয়েব সার্ভারে একটি সুরক্ষিত সংযোগের জন্য config map/example-serving-ca সফলভাবে Kubernetes-এ তৈরি করা হয়েছে।

উপসংহার

SSL সার্টিফিকেটগুলি ওয়েব সার্ভারে Kubernetes অ্যাপ্লিকেশনগুলির নিরাপত্তা প্রদানের জন্য ব্যবহৃত হয়। আমরা আপনার বোঝার জন্য প্রতিটি ধাপে বিস্তারিত ব্যাখ্যা করেছি। আপনি SSL শংসাপত্র ইনস্টল করতে আপনার Kubernetes অ্যাপ্লিকেশনে একই কমান্ড চালাতে পারেন।