JavaRush /مدونة جافا /Random-AR /من هم Docker وKubernetes وOpenShift وكيف يرتبطون ببعضهم ا...
Павел
مستوى

من هم Docker وKubernetes وOpenShift وكيف يرتبطون ببعضهم البعض؟

نشرت في المجموعة
كل شيء يبدأ بالتغليف. في التنمية الصناعية، هناك حاجة إلى “تغليف” التطبيق المجمع مثلاً، بحيث يمكن نقله إلى الخادم حيث سيعمل، بالشكل الذي قام المطور بتجميعه به على حاسوبه، مثل “تغليف” يجب أن تكون بمثابة نوع من الحماية. يؤدي هذا إلى التخلص من المفاجآت، مثل عندما يعمل التطبيق أثناء الاختبار، ولكنه ينقطع عند نقله إلى الإنتاج. كما أن "التعبئة" تعزل تطبيقًا واحدًا عن آخر موجود على نفس الخادم، وهذا العزل يسمح لأحد التطبيقات بعدم التدخل في عمل تطبيق آخر (على سبيل المثال: لن يتمكن أحد التطبيقات من الاستيلاء على ذاكرة الوصول العشوائي للخادم بالكامل، مما يترك التطبيق الثاني لمصيره). إن مزايا "التعبئة" مع بنية الخدمات الصغيرة ملحوظة بشكل خاص، وهذا أمر مفهوم، هناك العديد من الخدمات الصغيرة - العديد من التطبيقات الصغيرة التي يجب أن تتواصل مع بعضها البعض، ولكن في نفس الوقت يجب ألا تتداخل مع بعضها البعض. مثال على ذلك خزانة ذات أدراج (سرفر)، يوجد بها العديد من الأدراج المختلفة، ويمكننا بسهولة نقل الجوارب المختلفة من درج إلى آخر، وفي نفس الوقت لن تختلط مع بعضها البعض أو مع الملابس الداخلية. من هم Docker وKubernetes وOpenShift وكيف يرتبطون ببعضهم البعض؟  - 1 يتم إنشاء العبوة بواسطة أدوات المحاكاة الافتراضية. ذات مرة، تم استخدام الأجهزة الافتراضية (VMs) كـ "تغليف". سيتذكر كبار السن كيف قاموا بنشر نظام التشغيل Windows XP على نظام التشغيل Vista في جهاز افتراضي. الآن أصبح VM لتغليف التطبيقات شيئًا من الماضي. لقد سيطرت الحاويات على العالم. لأنها: أخف وزنًا وأكثر إنتاجية وأمانًا. بمزيد من التفاصيل: كيف تختلف الحاوية عن الجهاز الظاهري؟ من هم Docker وKubernetes وOpenShift وكيف يرتبطون ببعضهم البعض؟  - 2 عليك أن تتذكر بعض مزايا الحاويات: • أنها أصغر حجما (تستهلك ذاكرة أقل على الخادم)؛ • إمكانية الوصول إلى موارد الخادم المشتركة (ذاكرة الوصول العشوائي، ووقت حوسبة المعالج)؛ • إمكانية النقل بشكل أفضل إلى البيئات الأخرى (من الاختبار إلى البيئات الصناعية). • توفير سرعة إطلاق أعلى (بما أن الحاوية خفيفة الوزن، فإنها تطلق بشكل أسرع). Docker هي أم الحاويات. عندما يقولون حاوية، فإنهم يقصدون Docker. Docker هو برنامج لأتمتة نشر وإدارة التطبيقات في البيئات الحاوية. باستخدام الأمثلة، يعد Docker تقاطعًا بين مصمم عبر الإنترنت وطابعة ثلاثية الأبعاد مزودة برافعة. أي أنه يمكنه أولاً تصميم قالب (صورة) للحاوية، وطباعة (إنشاء) الحاوية وفقًا لشروط معينة (صورة)، ثم نقلها حيثما دعت الحاجة. يتم استخدام ملفات Dockerfiles بدلاً من الرافعات. عملية الإدارة بسيطة: تكتب الملفات والأوامر وتقوم بتشغيلها وترى ما يحدث. من هم Docker وKubernetes وOpenShift وكيف يرتبطون ببعضهم البعض؟  - 3 التعارف الأول مع Docker Docker Compose - ترقية Docker الآن دعونا نلقي نظرة على السيناريو الذي يلزم فيه تشغيل حاويات متعددة في موقع ما. الأداة المساعدة المستخدمة لهذا هي Docker Compose. Docker Compose هي أداة مضمنة في Docker. وهو مصمم لحل المشاكل المتعلقة بنشر المشروع. الفرق بين Docker وDocker Compose: يتم استخدام Docker لإدارة الحاويات الفردية. يتم استخدام Docker Compose لإدارة حاويات متعددة في وقت واحد. توفر هذه الأداة نفس إمكانيات Docker، ولكنها تسمح لك بالعمل مع بنيات أكثر تعقيدًا. من هم Docker وKubernetes وOpenShift وكيف يرتبطون ببعضهم البعض؟  - 4 السيناريو النموذجي لاستخدام Docker Compose: تخيل أنك مطور لمشروع ويب. يتضمن هذا المشروع موقعين على شبكة الإنترنت. الأول يسمح لرجال الأعمال بإنشاء متاجر عبر الإنترنت ببضع نقرات فقط. والثاني يهدف إلى دعم العملاء. ويتفاعل هذان الموقعان مع نفس قاعدة البيانات. أصبح مشروعك أكثر شيوعًا، واتضح أن قوة الخادم الذي يعمل عليه لم تعد كافية. ونتيجة لذلك، عليك أن تقرر نقل المشروع بأكمله إلى جهاز آخر. إذا لم تكن قد استخدمت شيئًا مثل Docker Compose، فسيتعين عليك ترحيل وإعادة تكوين الحاويات واحدة تلو الأخرى، على أمل ألا تنسى أي شيء في هذه العملية. إذا كنت تستخدم Docker Compose، فإن نقل مشروعك إلى خادم جديد هو أمر يمكن حله عن طريق تشغيل بعض الأوامر. لإكمال نقل المشروع إلى موقع جديد، ما عليك سوى إجراء بعض الإعدادات وتحميل نسخة احتياطية من قاعدة البيانات إلى الخادم الجديد. DockerComposer النموذجي: من هم Docker وKubernetes وOpenShift وكيف يرتبطون ببعضهم البعض؟  - 5 ما تحتاج إلى تذكره هنا: الحاويات هي الوسيلة الرئيسية لتطبيقات "التعبئة". يتعامل Docker مع الحاويات، وينشئ صورًا للحاويات، ويلتقط الحاويات وينقلها. لإدارة مجموعة من الحاويات في وقت واحد، يتم استخدام Docker Compose، والذي يتم تضمينه في Docker. هذه البرامج عبارة عن برامج مجانية (مجانية - باختصار) Kubernetes (K8s) - أتمتة Docker ولذا قمنا بنشر الحاويات، ونحن نعرف كيفية نقلها "على دفعات" من جهاز إلى آخر. ولكن فجأة سقطت إحدى الحاويات! ما يجب القيام به؟ ومن سيرفعها مرة أخرى؟ من هم Docker وKubernetes وOpenShift وكيف يرتبطون ببعضهم البعض؟  - 6 بالطبع، يمكنك القيام بذلك يدويًا عبر Docker. ولكن عليك أن تفعل شيئًا ما، وتكتب شيئًا ما، وتحتاج إلى نوع من أدوات التشغيل الآلي. هذا هو المكان الذي يظهر فيه Kubernetes (المختصر K8s) في الصورة، وسيتعامل أيضًا مع إدارة وتنسيق (الإدارة الآلية للكيانات ذات الصلة) للحاويات. مع وجود K8s تحت تصرفك، لن تحتاج إلى مراقبة الحاويات ليلًا ونهارًا. يكفي تحديد سيناريو السلوك، وسوف تقوم K8s بكل شيء بنفسها. الميزات الرئيسية لـ Kubernetes 1. يوفر إمكانية التوسع وإدارة التكوين الخاص بك. 2. يمكنك وصف ما تريد الحصول عليه عند نشر المجموعة، وسوف تقوم K8s بذلك. على سبيل المثال، حدد عدد القرون، مقدار الذاكرة المخصصة لها، تشير إلى عدد النسخ المتماثلة (المثيلات) للتطبيقات المنشورة (في الحاويات) على القرون. 3. مسؤول عن الحفاظ على النظام في حالة معينة، إذا سقط شيء ما، فسوف يلتقطه K8s، وفقًا للتكوين المحدد. ما تحتاج إلى تذكره هنا: Kubernetes هي أداة لتنسيق التطبيقات الموجودة في حاويات - أتمتة نشرها وتوسيع نطاقها وتنسيقها في المجموعة. يدعم تقنيات النقل بالحاويات الرئيسية، بما في ذلك Docker. K8s هو برنامج مفتوح المصدر. من هم Docker وKubernetes وOpenShift وكيف يرتبطون ببعضهم البعض؟  - 7 OpenShift هي سيارة فيراري في عالم المحاكاة الافتراضية، رائعة وسريعة ومكلفة. تطوير الموضوع، دعنا ننتقل إلى OpenShift. OpenShift عبارة عن وظيفة إضافية لبرنامج Kubernetes تقدم وظائف إضافية، وهي جاهزة للاستخدام على الفور، ولا تتطلب تكوينًا طويلًا ومؤلمًا، ويمكن وضعها في مرحلة الإنتاج على الفور. انظر إلى عدد الرموز المختلفة الموجودة فوق Kubernetes. وكل واحد منهم يفعل أشياءه الرائعة. من هم Docker وKubernetes وOpenShift وكيف يرتبطون ببعضهم البعض؟  - 8 أبرز مميزات OpenShift: • إنه منتج مدفوع الأجر، على عكس K8s؛ • DevOps خارج الصندوق، ودعم سيناريوهات نشر الكناري الأساسية باللونين الأزرق/الأخضر؛ • دعم جنكينز المدمج. • يوفر أدوات ملائمة لإدارة المجموعة والعمل معها. • لديه نموذج أمني أكثر صرامة ومراقبة مدمجة. تجدر الإشارة إلى أن OpenShift منتج مدفوع، على عكس Kubernetes. الفرق هو كما يلي: إذا أخذنا Kubernetes فقط، فإننا نحل جميع المشكلات بأنفسنا. إذا تحدثنا عن OpenShift، فهو أحد منتجات Red Hat، الذي يحل المشكلات الناشئة كجزء من الدعم المدفوع. دعونا نلخص ما يلي: في التنمية الصناعية هناك حاجة إلى "تغليف" التطبيق؛ وهذا النهج له أهمية خاصة في هندسة الخدمات الصغيرة. الحاويات هي الوسيلة الأساسية لتطبيقات التعبئة والتغليف. يتعامل Docker مع الحاويات، وينشئ صورًا للحاويات، ويلتقط الحاويات وينقلها. لإدارة مجموعة من الحاويات في وقت واحد، يتم استخدام Docker Compose، والذي يتم تضمينه في Docker. هذه البرامج هي برامج مجانية. Kubernetes(K8s) هي أداة لتنسيق التطبيقات الموجودة في حاويات - أتمتة نشرها وتوسيع نطاقها وتنسيقها في المجموعة. يدعم تقنيات النقل بالحاويات الرئيسية، بما في ذلك Docker. K8s هو برنامج مفتوح المصدر. OpenShift عبارة عن وظيفة إضافية لـ Kubernetes توفر وظائف إضافية. هذا منتج مدفوع، على عكس K8s، مخصص لاستخدام الشركات. يوفر DevOps خارج الصندوق: دعم سيناريوهات النشر الرئيسية باللون الأزرق/الأخضر، والكناري، ويحتوي على دعم مدمج لـ Jenkins ويوفر أدوات ملائمة للإدارة والعمل مع المجموعة. لديه نموذج أمان أكثر صرامة ومراقبة مدمجة. بالنسبة لأولئك الذين يشعرون بالحكة في البرمجة: حزم تطبيق Spring Boot في حاوية كيفية نشر Postgres في Docker والاتصال بتطبيق Spring-Boot ندوة عبر الويب: Docker - كيفية العمل مع الحاويات؟ - تطوير الواجهة الخلفية في جافا
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION