نشر Kubernetes مع Kubeadm على CentOS 7
نظرة عامة تهدف هذه المقالة إلى مساعدتك في إنشاء مجموعة Kubernetes وتشغيلها باستخدام kubeadm في لمح البصر. سيقوم هذا الدليل بنشر خادمين في
سيوضح لك هذا الدليل كيفية إنشاء وتكوين سرب Docker باستخدام عدة خوادم Alpine Linux 3.9.0 و Portainer. يرجى الانتباه إلى أن Vultr يقدم تطبيق Docker بنقرة واحدة يدعم حاليًا كلاً من CentOS 7 x64 و Ubuntu 16.04 x64.
للبدء ، ستحتاج إلى خادمي VC2 على الأقل يعملان بنظام Alpine Linux 3.9.0. ضمن سرب Docker الخاص بك ، سيكون أحد هذه الخوادم بمثابة manager node
- التواصل مع الشبكات الخارجية وتفويض الوظائف للعقد العاملة. سيعمل الخادم الآخر بعد ذلك كمهام worker node
تنفيذية مفوضة إليه من قبل عقدة المدير.
لاحظ أنه يمكنك تشغيل أكثر من خادمين إذا كان تطبيقك يتطلب تكرارًا و / أو المزيد من طاقة الحوسبة ، وستظل الخطوات الواردة في هذا الدليل سارية.
قم بزيارة واجهة نشر خادم Vultr .
تأكد من تحديد Vultr Cloud (VC2)
علامة التبويب في أعلى الصفحة.
يمكنك تحديد أي موقع من Server Location
القسم ، ولكن يجب أن تكون جميع الخوادم في نفس الموقع ، وإلا فلن يكون من الممكن نشر سرب Docker عليها.
حدد ISO Library
علامة تبويب Server Type
القسم واختر Alpine Linux 3.9.0 x86_64
الصورة.
حدد خيارًا مناسبًا من Server Size
القسم. سيستخدم هذا الدليل حجم خادم SSD 25 غيغابايت ، ولكن هذا قد يكون غير كافٍ لتلبية متطلبات موارد التطبيق الخاص بك. في حين أن Vultr يجعل من السهل ترقية حجم الخادم بعد إطلاقه بالفعل ، يجب عليك التفكير بعناية في حجم الخادم الذي يحتاج تطبيقك لأداءه على النحو الأمثل.
في Additional Features
القسم ، يجب عليك تحديد Enable Private Networking
الخيار. في حين أن الخيارات الأخرى ليست مطلوبة لاتباع هذا الدليل ، يجب أن تفكر فيما إذا كان كل واحد له معنى في سياق التطبيق الخاص بك.
إذا قمت مسبقًا بتمكين Multiple Private Networks
الخيار على حسابك ، فسيتعين عليك حينئذٍ إما تحديد شبكة موجودة أو إنشاء شبكة خاصة جديدة لخوادمك. إذا لم تقم بتمكينه ، فيمكنك تجاهل هذا القسم. للحصول على معلومات حول تكوين الشبكات الخاصة يدويًا ، راجع هذا الدليل .
تخطي Firewall Group
القسم الآن. فقط الخادم الذي يعمل كعقدة مدير في سرب Docker سيحتاج إلى منافذ مكشوفة ، ويجب تكوين هذا بعد نشر الخادم.
في الجزء السفلي من الصفحة ، يجب عليك إدخال Server Qty
اثنين على الأقل. كما ذكرنا سابقًا ، قد تحتاج إلى أكثر من خادمين ، لكن خادمان يكفيان لمتابعة هذا الدليل.
أخيرًا ، في Server Hostname & Label
القسم ، أدخل أسماء مضيفات وتسميات ذات مغزى ولا تنسى لكل خادم. لأغراض هذا الدليل، واسم المضيف وتسمية الخادم الأول أن يكون docker-manager
و Docker Manager
، التوالي من و docker-worker
و Docker Worker
للمرة الثانية على التوالي.
بعد التحقق المزدوج من جميع التكوينات الخاصة بك ، يمكنك بعد ذلك النقر فوق Deploy Now
الزر الموجود في أسفل الصفحة لبدء تشغيل خوادمك.
نظرًا لأنك اخترت نظام تشغيل من مكتبة ISO في Vultr ، فستحتاج إلى تثبيت Alpine Linux 3.9.0 وتكوينه يدويًا على كل خادم.
بعد منح Vultr دقيقة أو دقيقتين لتخصيص خوادمك ، انقر فوق more options
رمز النقطة الثلاثية Docker Manager
للخادم على واجهة إدارة الخادم ، ثم حدد View Console
الخيار.
يجب إعادة توجيهك إلى وحدة تحكم بمطالبة تسجيل دخول. إذا لم يكن الأمر كذلك ، يرجى الانتظار دقيقة أخرى حتى ينتهي Vultr من نشر خوادمك.
في موجه تسجيل الدخول ، أدخل root
كاسم المستخدم. لا يتطلب الإصدار المباشر من Alpine Linux 3.9.0 (وهو ما تعمل عليه خوادمك حاليًا) المستخدم الخارق لإدخال كلمة مرور عند تسجيل الدخول.
بمجرد تسجيل الدخول بنجاح إلى الحساب الجذر ، سترى رسالة ترحيب متبوعة بموجه shell يبدو كما يلي:
localhost:~#
لبدء تثبيت Alpine Linux ، أدخل الأمر التالي:
# setup-alpine
أولاً ، اختر تخطيط لوحة مفاتيح مناسب. سيستخدم هذا الدليل us
التخطيط والمتغير.
عند تعيين اسم المضيف ، اختر نفس اسم المضيف الذي قمت بتعيينه لهذا الخادم أثناء النشر. إذا كنت تتبع هذا الدليل بالضبط ، فيجب أن يكون اسم المضيف docker-manager
.
يجب أن يتوفر واجهتا شبكة: eth0
و eth1
. إذا رأيت فقط eth0
، فهذا يعني أنك لم تقم بتكوين شبكة الخوادم الخاصة بشكل صحيح. تهيئة eth0
استخدام dhcp
، وتهيئة eth1
باستخدام عنوان IP الخاص، قناع الشبكة، والعبارة تم تعيين هذا الخادم أثناء النشر. يمكنك الوصول إلى هذه التفاصيل من واجهة إعدادات الخادم الخاص بك. عند المطالبة ، لا تقم بإجراء أي تكوين يدوي للشبكة.
أدخل كلمة مرور جديدة لحساب الجذر ، ثم حدد منطقة زمنية مناسبة للموقع الذي اخترت نشر هذه الخوادم فيه.
إذا كنت تنوي استخدام وكيل HTTP / FTP ، فأدخل عنوان URL الخاص به ، وإلا فلا تقم بتعيين عنوان URL للخادم الوكيل.
اختر عميل NTP لإدارة مزامنة ساعة النظام. سيستخدم هذا الدليل busybox
.
عند طلب نسخة متطابقة من مستودع المستودعات ، اختر واحدة صراحة عن طريق إدخال رقمها ؛ اكتشاف وتحديد أسرع واحد تلقائيًا من خلال الدخول f
؛ أو تحرير ملف تكوين المستودع يدويًا عن طريق الدخول e
، وهو ما لا يوصى به إلا إذا كنت معتادًا على Alpine Linux. سيستخدم هذا الدليل المرآة الأولى.
إذا كنت تخطط لاستخدام SSH للوصول إلى خوادمك أو لاستضافة نظام ملفات قائم على SSH ، فحدد خادم SSH لاستخدامه. سيستخدم هذا الدليل openssh
.
عند المطالبة للحصول على القرص لاستخدامها، واختيار القرص vda
كما sys
نوع.
يجب الآن تثبيت Alpine Linux 3.9.0 على الخادم الخاص بك. كرر هذه العملية مع جميع الخوادم الأخرى التي نشرتها سابقًا ، مما يضمن استبدال القيم الصحيحة لاسم المضيف eth1
وواجهة الشبكة.
في هذه المرحلة ، لا تزال خوادمك تعمل بإصدار ISO المباشر من Alpine Linux 3.9.0. للتمهيد من تثبيت SSD ، قم بزيارة واجهة الإعدادات لخادمك ، وانتقل إلى Custom ISO
إدخال القائمة الجانبية ، وانقر فوق Remove ISO
الزر. هذا يجب إعادة تشغيل الخادم. إذا لم يحدث ذلك ، فقم بإعادة التشغيل يدويًا.
بمجرد الانتهاء من إعادة تشغيل الخادم ، انتقل مرة أخرى إلى وحدة تحكم الويب للخادم Docker Manager
.
قم بتسجيل الدخول إلى الحساب الجذر باستخدام كلمة المرور التي قمت بتعيينها مسبقًا أثناء عملية التثبيت.
قم بتمكين مستودع حزمة المجتمع عن طريق إلغاء تعليق السطر الثالث من /etc/apk/repositories
الاستخدام vi
. يمكنك تمكين مستودعات الحافة والاختبار بطريقة مماثلة ، ولكن ليس مطلوبًا اتباع هذا الدليل.
قم بمزامنة فهرس الحزمة المحلية للخادم مع المستودع البعيد الذي حددته سابقًا عن طريق إدخال أمر shell التالي:
# apk update
ثم ترقية الحزم القديمة:
# apk upgrade
كما كان من قبل ، كرر عملية التكوين هذه لكل خادم قمت بنشره مسبقًا.
قبل تثبيت حزمة Docker نفسها ، قد ترغب في إنشاء docker
مستخدم منفصل . يمكنك القيام بذلك باستخدام الأمر التالي:
# adduser docker
ملاحظة: يتمتع هذا المستخدم الجديد وأي مستخدمين تمت إضافتهم إلى docker
المجموعة الجديدة بامتيازات الجذر بمجرد تثبيت حزمة Docker. راجع المشكلة التالية من مستودع Moby Github:
نظرًا
--privileged
لداخل عامل الميناء ، فإن أي شخص تمت إضافته إلى مجموعة عامل الميناء هو مكافئ الجذر. أي شخص في مجموعة عامل الميناء لديه باب خلفي حول جميع سياسة تصعيد الامتيازات والتدقيق على النظام.هذا يختلف عن قدرة شخص ما على تشغيل الركض sudo إلى الجذر ، حيث لديه سياسة ، والتدقيق المطبق عليه.
إذا كنت ترغب في منح sudo الإذن docker
للمستخدم ، فقم أولاً بتثبيت sudo
الحزمة:
# apk add sudo
ثم قم بإنشاء sudo
مجموعة:
# addgroup sudo
أخيرًا ، أضف docker
المستخدم إلى sudo
المجموعة:
# adduser docker sudo
يمكنك الآن اتباع الخطوة 4 من هذا الدليل لإنهاء تكوين sudo.
عند هذه النقطة ، أنت جاهز لتثبيت حزمة Docker. لاحظ أنه ليس من الضروري تمامًا أن يكون لديك docker
مستخدم منفصل وقادر على sudo لتثبيت وتكوين Docker ، ولكن هذا الدليل يتبع هذه الاتفاقية.
قم بتثبيت حزمة Docker بالأمر التالي:
# apk add docker
ثم قم بتمكين البرنامج النصي Docker init:
# rc-update add docker
أخيرًا ، ابدأ برنامج Docker الخفي:
# rc-service docker start
يمكنك التحقق من تشغيل Docker باستخدام هذا الأمر:
# docker info
كما هو الحال في المرة الأخيرة ، كرر عملية تثبيت Docker لكل خادم قمت بنشره في البداية.
مع معالجة كل هذا الإعداد ، فأنت جاهز أخيرًا لإنشاء سرب Docker.
انتقل مرة أخرى إلى وحدة تحكم الويب لخادمك Docker Manager
. ستقوم بتكوين هذا الخادم كعقدة مدير في سربك. إذا اخترت إنشاء docker
المستخدم في وقت سابق ، فقم بتسجيل الدخول باستخدام هذا الحساب بدلاً من المستخدم الخارق.
أدخل الأمر التالي ، ولكن استبدل 192.0.2.1
بعنوان IP الخاص (وليس العام) الذي Docker Manager
تم تعيينه لخادمك:
$ docker swarm init --advertise-addr 192.0.2.1
سيعرض Docker أمرًا يمكنك تنفيذه على خوادم أخرى في الشبكة الخاصة لإضافتها كعقد عاملة إلى هذا السرب الجديد. احفظ هذا الأمر.
انتقل الآن إلى وحدة تحكم الويب لخادمك Docker Worker
، وقم بتسجيل الدخول مع docker
المستخدم إذا قمت بإنشائه.
لإضافة هذا الخادم كعقدة عاملة إلى السرب الذي أنشأته للتو ، قم بتنفيذ الأمر الذي قمت بحفظه من إخراج أمر إنشاء swarm. ستبدو مشابهة لما يلي:
$ docker swarm join --token SWMTKN-1-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXX 192.0.2.1:2377
سيخرج عامل الميناء ما إذا كانت العقدة قادرة على الانضمام إلى السرب. إذا واجهت مشاكل في إضافة عقد العامل إلى السرب ، فتحقق مرة أخرى من تكوين شبكتك الخاصة وارجع إلى هذا الدليل لاستكشاف الأخطاء وإصلاحها.
إذا قمت بنشر أكثر من خادمين في البداية ، يمكنك إضافة الباقي كعقد عامل إلى سربك باستخدام الأمر أعلاه ، مما يزيد من كمية الموارد المتاحة لتطبيقك. بدلاً من ذلك ، يمكنك إضافة عُقد مدير إضافية ، ولكن هذا يتجاوز نطاق هذا الدليل.
عند هذه النقطة يكون سرب Docker جاهزًا للاستخدام. ومع ذلك ، يمكنك إطلاق مكدس Portainer اختياريًا على العقدة الإدارية في سربك. يوفر Portainer واجهة ويب مريحة لإدارة السرب والعقد فيه.
حان الوقت الآن لإنشاء مجموعة جدار حماية لسربك. ما لم يتطلب التطبيق الخاص بك على وجه التحديد ، فضح المنافذ فقط في عقد مديرك . يمكن أن يؤدي تعريض المنافذ على عقد العمل الخاصة بك دون دراسة دقيقة إلى حدوث نقاط ضعف.
انتقل إلى واجهة إدارة جدار الحماية وقم بإنشاء مجموعة جدار حماية جديدة. يجب أن يملي تطبيقك المنافذ التي 9000
سيتم كشفها ، ولكن يجب عليك على الأقل كشف المنفذ لـ Portainer. قم بتطبيق مجموعة جدار الحماية هذه على Docker Manager
الخادم.
على الرغم من أنه غير مطلوب ، فمن المستحسن تأمين Portainer باستخدام SSL. من أجل هذا الدليل ، ستستخدم فقط شهادة OpenSSL موقعة ذاتيًا ، ولكن يجب أن تفكر في استخدام Let's Encrypt في الإنتاج.
انتقل إلى وحدة تحكم الويب الخاصة Docker Manager
بالخادم ، docker
وقم بتسجيل الدخول باستخدام المستخدم ، واستخدم الأوامر التالية لإنشاء شهادة OpenSSL موقعة ذاتيًا:
$ mkdir ~/certs
$ openssl genrsa -out ~/certs/portainer.key 2048
$ openssl req -new -x509 -sha256 -key ~/certs/portainer.key -out ~/certs/portainer.pem -days 3650
قم بإنشاء ملف جديد ~/portainer-agent-stack.yml
بالمحتويات التالية:
version: '3.2'
services:
agent:
image: portainer/agent
environment:
AGENT_CLUSTER_ADDR: tasks.agent
CAP_HOST_MANAGEMENT: 1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/var/lib/docker/volumes
- /:/host
networks:
- agent_network
deploy:
mode: global
portainer:
image: portainer/portainer
command: -H tcp://tasks.agent:9001 --tlsskipverify --ssl --sslcert /certs/portainer.pem --sslkey /certs/portainer.key
ports:
- target: 9000
published: 9000
protocol: tcp
mode: host
volumes:
- portainer_data:/data
- /home/docker/certs:/certs
networks:
- agent_network
deploy:
mode: replicated
replicas: 1
placement:
constraints: [node.role == manager]
networks:
agent_network:
driver: overlay
attachable: true
volumes:
portainer_data:
بعد تعديل ملف تكوين مكدس Docker هذا ليتوافق مع متطلباتك ، يمكنك نشره:
$ docker stack deploy --compose-file ~/portainer-agent-stack.yml portainer
للتحقق من عمل Portainer ، قم بتنفيذ الأمر التالي بعد إعطاء Docker دقيقة أو دقيقتين لنشر المكدس:
$ docker ps
سترى حاويتين مع الصور portainer/portainer:latest
و portainer/agent:latest
، والتحقق من أن Portainer التي بشكل صحيح.
يمكنك الآن تكوين وإدارة سرب Docker الخاص بك عن طريق زيارة عنوان IP العام لخادمك Docker Manager
على المنفذ 9000
باستخدام HTTPS.
نظرة عامة تهدف هذه المقالة إلى مساعدتك في إنشاء مجموعة Kubernetes وتشغيلها باستخدام kubeadm في لمح البصر. سيقوم هذا الدليل بنشر خادمين في
عادة ما تتكون تطبيقات PHP من خادم ويب ونظام قاعدة بيانات علائقية ومترجم لغة نفسه. في هذا البرنامج التعليمي سنكون leveragin
مقدمة Docker هو تطبيق يسمح لنا بنشر البرامج التي يتم تشغيلها كحاويات. وقد كتب بلغة البرمجة Go الشهيرة
ستوضح لك هذه المقالة كيفية نشر تطبيق Node داخل حاوية Docker. ملاحظة: يفترض هذا البرنامج التعليمي أنك قمت بتثبيت Docker وقراءته
حاويات LXC (حاويات Linux) هي إحدى ميزات نظام التشغيل في Linux والتي يمكن استخدامها لتشغيل العديد من أنظمة Linux المعزولة على مضيف واحد. هذه
Kubernetes هو نظام أساسي مفتوح المصدر تم تطويره بواسطة Google لإدارة التطبيقات في حاويات عبر مجموعة من الخوادم. إنه يبني على عقد و
استخدام نظام مختلف؟ مقدمة Rancher هي منصة مفتوحة المصدر لتشغيل الحاويات وبناء خدمة حاويات خاصة. رانشر هو القاعدة
تشرح هذه المقالة كيفية تثبيت Docker-compose على CoreOS. في CoreOS ، المجلد / usr / غير قابل للتغيير بحيث لا يتو��ر المسار القياسي / usr / local / bin
نعلم جميعًا ونحب Docker ، وهي منصة لإنشاء وإدارة وتوزيع حاويات التطبيقات عبر أجهزة متعددة. تقدم شركة Docker Inc. خدمة ر
استخدام نظام مختلف؟ مقدمة Rancher هي منصة مفتوحة المصدر لتشغيل الحاويات وبناء خدمة حاويات خاصة. رانشر هو القاعدة
استخدام نظام مختلف؟ مقدمة يحول Docker Swarm خوادمك الفردية إلى مجموعة من أجهزة الكمبيوتر ، مما يسهل القياس والتوافر العالي
استخدام نظام مختلف؟ Docker هو تطبيق يسمح بنشر البرامج داخل حاويات افتراضية. تمت كتابته في برنامج Go
نظرة عامة RancherOS هو نظام تشغيل خفيف الوزن بشكل لا يصدق (حوالي 60 ميجا بايت فقط) يقوم بتشغيل برنامج Docker daemon باسم PID 0 لتشغيل خدمات النظام
استخدام نظام مختلف؟ مقدمة يحول Docker Swarm خوادمك الفردية إلى مجموعة من أجهزة الكمبيوتر ؛ تسهيل التوسع ، وتوافر عالية
يوضح هذا البرنامج التعليمي أساسيات البدء مع Docker. أفترض أن لديك Docker مثبتة بالفعل. ستعمل الخطوات في هذا البرنامج التعليمي على
عند تشغيل تطبيق ويب ، تحتاج عادةً إلى تحقيق أقصى استفادة من مواردك دون الحاجة إلى تحويل البرنامج الخاص بك لاستخدام مؤشرات متعددة
المتطلبات الأساسية محرك Docker 1.8+. 4 جيجابايت على الأقل من مساحة القرص. 4 غيغابايت على الأقل من ذاكرة الوصول العشوائي. الخطوة 1. تثبيت Docker من أجل تثبيت SQL-Server ، Docker mus
استخدام نظام مختلف؟ مقدمة Docker هو تطبيق يسمح بنشر البرامج داخل حاويات افتراضية. هو مكتوب في G
استخدام نظام مختلف؟ Docker هو تطبيق يسمح بنشر البرامج التي يتم تشغيلها كحاويات. وقد كتب في برنامج Go الشهير
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد