‫ميزة تعلمك لـ Docker ، ثم Compose ، ثم Swarm هي
‫أن لديك الكثير من المعرفة الأساسية هنا بحيث
‫لا يتعين علي البدء من الصفر عندما أعلمك Kubernetes.
‫بعض المصطلحات ، خاصة عندما نتحدث عن الكائنات
‫الموجودة داخل Kubernetes التي تتحكم فيها وتستخدمها ، يمكن
‫أن تكون المصطلحات مربكة بعض الشيء لأن بعضها
‫متضارب وبعضها جديد.
‫إلى حد بعيد ، الشيء الأول الذي ستستمر
‫في سماعه ، إذا بحثت عن أي شيء في Kubernetesland
‫، هو الكبسولة. البود هو الوحدة الأساسية للنشر.
‫لا ننشر الحاويات من الناحية الفنية مباشرةً داخل
‫Kubernetes.
‫نحن ننشر البودات فقط ، ونستخدم
‫أشياء فوق تلك المعروفة باسم وحدات التحكم للتحكم
‫في تلك الكبسولات.
‫من الناحية الفنية ، يمكنك نشر الكبسولة مباشرة ، لكنك
‫لن ترغب في فعل ذلك حقًا.
‫ستنشئ دائمًا وحدة تحكم عبارة عن كائن
‫يجلس هناك باستمرار ويتحقق مما إذا
‫كان ما يحدث داخل Kubernetes هو ما طلبت
‫منه القيام به أم لا.
‫إنه محرك مختلف له أنواع مختلفة.
‫تبدأ بـ Deployments و ReplicaSets التي ستستخدمها
‫بشكل حصري تقريبًا.
‫عمليات النشر مشابهة جدًا للطريقة التي قدمنا
‫بها الخدمات في Swarm والتي تتحكم في البودات الخاصة بك
‫في المستويات الأدنى. بعد ذلك ، يمكنك التغيير والقيام
‫بأنواع مختلفة من وحدات التحكم ، وحتى أنواع وحدات التحكم
‫التابعة لجهات خارجية بما في ذلك StatefulSets و DaemonSets
‫و Jobs و CronJobs وغير ذلك الكثير.
‫هذا جزء من مرونة Kubernetes هو أنه يمنحنا
‫هذه الوحدة الأساسية من الكبسولات ثم يسمح لنا
‫بالتحكم في ذلك باستخدام وحدات التحكم بطرق مختلفة
‫، ويسمح لنا أن نكون مبدعين حقًا في كيفية نشر أنظمتنا.
‫تختلف الخدمة قليلاً في Kubernetes عما اعتدت
‫عليه في Swarm.
‫لا علاقة للخدمة حقًا بنشر التطبيقات
‫كما تفعل في Swarm.
‫الخدمات ، وتحديدًا نقطة النهاية التي تقدمها لمجموعة
‫من البودات ، غالبًا عندما تستخدم وحدة تحكم مثل
‫وحدة تحكم النشر لنشر مجموعة من النسخ
‫المتماثلة ، يمكنك عندئذٍ
‫تعيين خدمة على ذلك.
‫تعني الخدمة فقط أنك تمنحها نقطة نهاية ثابتة في المجموعة
‫بحيث يمكن لأي شيء آخر
‫الوصول إلى تلك المجموعة من البودات في
‫اسم ومنفذ DNS محددان.
‫التالي ، سريع حقيقي ، هو مساحة الاسم.
‫لن نستخدم بالفعل مساحات الأسماء كثيرًا في Docker
‫Mastery نفسها لأنها ميزة اختيارية ومتقدمة ، لكنك
‫ستسمعها مذكورة إذا كنت تبحث في الوثائق
‫أو تقرأ المدونات وما إلى ذلك.
‫مساحة الاسم هي في الحقيقة مجرد عامل تصفية على طريقة العرض
‫الخاصة بك في سطر الأوامر.
‫هذا كل ما في الأمر حقًا. إنها ليست ميزة أمنية.
‫إذا كنت معتادًا على بعض العناصر الداخلية لـ Docker ، فستسمع
‫عن مساحات الأسماء في Docker.
‫هذا بأي حال من الأحوال نفس الشيء.
‫هذه ببساطة طريقة لتصفية
‫وجهات نظرك عند استخدام سطر أوامر kubectrl بحيث
‫ترى فقط الأشياء التي تهتم بها في الوقت
‫الحالي. قد يكون أحد الأمثلة الجيدة
‫عند استخدام Docker Desktop ، فإنه يتم تعيينه افتراضيًا على مساحة
‫الاسم الافتراضية ويقوم بتصفية جميع حاويات النظام التي تقوم بتشغيل
‫Kubernetes في الخلفية.
‫لأنه عادةً ، لا تريد أن ترى هؤلاء عند تشغيل
‫أسطر أوامر kubectrl.
‫ثم يمكنك تغيير مساحة الاسم لرؤية هؤلاء إذا كنت
‫تريد رؤية طرق العرض المختلفة.
‫فقط فكر في الأمر على أنه عامل تصفية ، وليس ميزة أمان.
‫بالطبع ، هناك الكثير جدًا لـ Kubernetes التي ستدخل
‫في النهاية. هناك أسرار.
‫هناك ConfigMaps. هناك مجموعة من الأشياء الخاصة بالجهات الخارجية.
‫لكن يكفي المفاهيم. دعنا نكتب الأوامر ونرى
‫النتائج في سطر الأوامر ثم سنقوم بتصويرها
‫على لوحة الرسم.