كيفية إنشاء TLS سري في Kubernetes

Kyfyt Ansha Tls Sry Fy Kubernetes



Kubernetes هي أداة مفتوحة المصدر تُستخدم لتنفيذ وإدارة التطبيقات الموجودة داخل المجموعة. يقوم بمهام مختلفة للتحكم في بيانات اعتماد التطبيق وتشغيلها وتأمينها من خلال السرية والدخول.

يتم استخدام الدخول لإدارة حركة المرور الواردة للتطبيق وأيضًا لإنهاء SSL. في المقابل، تُستخدم الأسرار لتخزين المعلومات السرية وشهادات TLS للتطبيق.

هذه التدوينة ستوضح:







ما هي أسرار Kubernetes؟

تعد الأسرار أحد موارد Kubernetes المستخدمة لتخزين المعلومات السرية مثل بيانات اعتماد تسجيل دخول المستخدم أو المفاتيح أو الشهادات أو الرموز المميزة. يمكن إنشاء الأسرار بشكل فردي وتوصيلها بالقرون. يمنع المطور من تقديم بيانات سرية في التعليمات البرمجية ويوفر أيضًا طبقة إضافية من الأمان. يمكن إنشاء أنواع مختلفة من الأسرار واستخدامها. الأسرار الأكثر استخدامًا هي:



سر عام: تُستخدم الأسرار العامة لتخزين المعلومات الأساسية مثل كلمات المرور والرموز المميزة ومفاتيح API ومفاتيح OAuth وما إلى ذلك.



سر TLS: تُستخدم أسرار TLS لتخزين المفاتيح الخاصة والشهادات الموقعة من قبل CA. لضمان أمان التطبيقات التي تعمل داخل Kubernetes ولتأمين الاتصال داخل المجموعة، يحتاج المستخدم عادةً إلى إنشاء أسرار TLS وتضمينها في الكبسولة.





سجل عامل الميناء: يتم استخدامه لتخزين بيانات اعتماد تسجيل عامل الإرساء لسحب الصور بسهولة من السجل.

المتطلب السابق: إنشاء مفتاح خاص وشهادة

لإنشاء الشهادة والمفتاح الخاص لتحسين الأمان، استخدم OpenSSL الذي ينشئ CSR (طلب توقيع الشهادة) والمفتاح الخاص. ثم استخدم CSR لإنشاء الشهادات الموقعة ذاتيًا أو شهادات CA.



للاستفادة من أوامر OpenSSL على نظام التشغيل Windows، يتعين على المستخدمين تثبيت Git. لهذا الغرض، اتبع الرابط الخاص بنا “ تثبيت جيت على نظام التشغيل Windows ' شرط.

بعد تثبيت git، اتبع الإرشادات التالية لإنشاء مفتاح خاص وشهادة موقعة.

الخطوة 1: قم بتشغيل Git Bash Terminal

قم بالبحث عن ' جيت باش ' في قائمة 'ابدأ' وقم بتشغيل الجهاز:

للتحقق من الدليل الحالي استخدم ' الأشخاص ذوي الإعاقة ' يأمر:

الأشخاص ذوي الإعاقة

حاليًا، نحن نعمل في دليل %USERPROFILE%:

الخطوة 2: إنشاء دليل جديد

قم بإنشاء دليل جديد لحفظ الشهادات والمفتاح الخاص:

mkdir سيرت

انتقل إلى الدليل الذي تم إنشاؤه حديثًا باستخدام ' قرص مضغوط ' يأمر:

قرص مضغوط سيرت

الخطوة 3: إنشاء مفتاح خاص

الآن، قم بإنشاء المفتاح الخاص من خلال الأمر المحدد. هنا، سيتم حفظ المفتاح الخاص الذي تم إنشاؤه في ' mycert.key ':

opensl genpkey -خوارزمية آر إس إيه -خارج mycert.key

الخطوة 4: توليد المسؤولية الاجتماعية للشركات

لإنشاء CSR (طلب خدمة الشهادة) للحصول على شهادة موقعة، استخدم الأمر المحدد:

طلب opensl -جديد -مفتاح mycert.key -خارج mycert.csr

الخطوة 5: إنشاء الشهادة

وأخيرًا، باستخدام المفتاح الخاص وCSR الذي تم إنشاؤه، قم بإنشاء شهادة وحفظها في ' mycert.crt ' ملف. لهذا الغرض، قم بتنفيذ الأمر التالي:

يفتح x509 -req -في mycert.csr -مفتاح التوقيع mycert.key -خارج mycert.crt -أيام 365

بعد إنشاء شهادات TLS، يمكن للمستخدم إنشاء TLS السري باتباع القسم أدناه.

كيفية إنشاء TLS سري في Kubernetes؟

لضمان أمان التطبيق والتواصل الآمن داخل وخارج مجموعة Kubernetes، تعد شهادات TLS (Transport Layer Security) ضرورية والتي يتم استخدامها في تشفير البيانات. يسمح لنا سر Kubernetes بتضمين شهادة TLS مع تشغيل القرون من خلال TLS السري. لإنشاء TLS سري في Kubernetes، اتبع الإرشادات التالية.

الخطوة 1: ابدأ مجموعة Minikube

لبدء مجموعة minikube، قم أولاً بتشغيل Windows PowerShell كمسؤول. بعد ذلك، قم بإنشاء وتشغيل المجموعة باستخدام ' بداية مينيكوب ' يأمر:

بداية مينيكوب

الخطوة 2: الحصول على العقد

قم بالوصول إلى عقدة Kubernetes للتحقق مما إذا كانت المجموعة قد بدأت أم لا:

minikube الحصول على العقد

الخطوة 3: إنشاء TLS السري

قم بإنشاء سر TLS في Kubernetes باستخدام ' kubectl إنشاء سر <نوع سري> <اسم سري> –cert=<شهادة المسار إلى TLS> –مفتاح=<مسار إلى مفتاح خاص> ' يأمر. هنا يمكن أن يكون النوع السري ' نوعي '،' tls '، أو ' سجل عامل الميناء '. لإنشاء سر TLS، قمنا بتعيين نوع السر على أنه 'tls':

kubectl ينشئ سرًا تجريبيًا لـ tls سريًا --cert =C:\Users\Dell\cert\mycert.crt --مفتاح =C:\Users\Dell\cert\mycert.key

الخطوة 4: احصل على الأسرار

للتأكيد، قم بإدراج سر Kubernetes باستخدام الأمر المحدد:

kubectl الحصول على السر

هنا، يمكنك أن ترى أننا أنشأنا بشكل فعال ' تجريبي ' يحتوي على ' 2 'قيم البيانات:

الخطوة 5: وصف السر

لعرض كيفية عرض البيانات أو تخزينها بشكل سري، قم بوصف السر باستخدام ' يصف kubectl سر <الاسم السري> ' يأمر:

kubectl وصف السري التجريبي السري

يمكنك رؤية القيم مخزنة بالبايت ولا يمكن عرضها مباشرة على عكس Kubernetes ConfigMaps:

كيفية إنشاء TLS سري من خلال ملف Yaml؟

لإنشاء TLS سري من خلال ملف yaml، قم أولاً بإنشاء ' Secret.yml '، قم بإضافة ملف شهادة Tls Base64 المشفرة في ال ' tls.crt '، وأضف مفتاح مشفر Base64 في ال ' tls.key '.

للتوضيح، اتبع الخطوات المذكورة.

الخطوة 1: إنشاء ملف Yaml

قم بإنشاء ملف باسم ' Secret.yml 'والصق الكود المعطى:

apiVersion : الإصدار 1

بيانات
:

tls.crt
: 'شهادة مشفرة Base64'

tls.key
: 'مفتاح مشفر Base64'

عطوف
: سر

البيانات الوصفية
:

اسم
: mytls-secret

مساحة الاسم
: تقصير

يكتب
: kubernetes.io/tls

في المقتطف أعلاه، استبدل القيمتين الأساسيتين 'tls.crt' و'tls.key' بشهادتك الأصلية وقيم المفتاح:

الخطوة 2: إنشاء سر

الآن قم بتطبيق ملف yaml السري من خلال ' تطبيق kubectl -f ' يأمر:

تطبيق كوبيكتل -F Secret.yml

يظهر الإخراج أننا نجحنا في إنشاء ' mytls-secret 'باستخدام ملف yaml:

ملاحظة: عرض شهادة TLS والمفتاح الخاص

لعرض شهادة Base64 المشفرة واستخدامها في ملف yaml، قم بتشغيل ' القط <ملف المسار إلى الشهادة> | base64 'الأمر في محطة git bash:

قطة mycert.crt | base64

لعرض المفتاح المشفر base64، استخدم ' القط <ملف المسار إلى المفتاح> | base64 ' يأمر:

قطة mycert.key | base64

كيفية تضمين TLS السري مع Kubernetes Pod؟

بعد إنشاء TSL السري، يمكن للمستخدم تضمينه في حجرة Kubernetes. للقيام بذلك، استخدم الإرشادات التالية.

الخطوة 1: إنشاء ملف Yaml

قم بعمل ملف اسمه ' pod.yml ' والصق المقتطف أدناه في الملف:

نسخة API: v1

النوع: جراب

البيانات الوصفية:

الاسم: جراب تجريبي

المواصفات:

الحاويات:

- الاسم: html-cont

الصورة: رافيا098 / أتش تي أم أل-IMG: 1.0

بيئة من:

- المرجع السري:

الاسم: التجريبي السري

في المقتطف أعلاه:

  • ' عطوف 'يحدد المفتاح مورد Kubernetes الذي يقوم المستخدم بإنشائه.
  • ' اسم 'سيقوم المفتاح بتعيين اسم الجراب.
  • ' حاويات 'سيقوم المفتاح بتخزين معلومات الحاوية.
  • ' اسم 'سيقوم المفتاح الموجود أسفل مفتاح 'الحاويات' بتعيين اسم الحاوية.
  • ' صورة سيوفر المفتاح صورة التطبيق أو الحاوية لإنشاء التطبيق وبدء تشغيله داخل الحاوية.
  • ' envFrom 'سيقوم المفتاح بتعيين متغير البيئة من موارد Kubernetes الأخرى. هنا، لتضمين TLS السري في حجرة، ' المرجع السري 'يتم استخدامه لتوفير مرجع سري. لتضمين TLS السري أعلاه، حدد اسم السر في مفتاح 'الاسم'.

الخطوة 2: إنشاء أو ترقية الكبسولة

بعد ذلك، افتح المجلد الذي يوجد به ' pod.yml 'يتم إنشاء الملف:

قرص مضغوط C:\Users\Dell\Documents\Kubernetes\Secret

قم بتطبيق ملف yaml لإنشاء أو إعادة تكوين الكبسولة باستخدام ' تطبيق كوبيكتل ' يأمر:

تطبيق كوبيكتل -F pod.yml

الخطوة 3: الوصول إلى Kubernetes Pods

للتحقق، قم بإدراج كبسولات Kubernetes:

kubectl الحصول على جراب

هنا، يمكنك أن ترى أننا أنشأنا ' جراب تجريبي ' بنجاح:

الخطوة 4: وصف الكبسولة

للتحقق مما إذا كانت الكبسولة قد قامت بتضمين TLS السري أم لا، قم بوصف الكبسولة باستخدام الأمر أدناه:

يصف kubectl جرابًا تجريبيًا

يوضح الناتج أدناه أننا نجحنا في تضمين سر TLS مع الكبسولة:

لقد تناولنا كيفية إنشاء TLS سريًا وتضمينه مع تطبيق Kubernetes الذي يعمل في الكبسولة.

خاتمة

لإنشاء TLS السري في Kubernetes، قم أولاً بإنشاء شهادة TLS الموقعة والمفتاح الخاص. بعد ذلك، ابدأ تشغيل مجموعة Kubernetes وقم بتشغيل ' kubectl إنشاء سر <نوع سري> <اسم سري> –cert=<شهادة المسار إلى TLS> –مفتاح=<مسار إلى مفتاح خاص> ' يأمر. يمكن للمستخدمين أيضًا إنشاء TLS السري باستخدام بيان yaml. يوضح هذا المنشور كيفية إنشاء TLS السري وكيفية تضمين السر باستخدام تطبيق أو حجرة قيد التشغيل.