نشر Kubernetes مع Kubeadm على CentOS 7
نظرة عامة تهدف هذه المقالة إلى مساعدتك في إنشاء مجموعة Kubernetes وتشغيلها باستخدام kubeadm في لمح البصر. سيقوم هذا الدليل بنشر خادمين في
عندما تقوم بتشغيل تطبيق ويب ، فأنت عادة تريد تحقيق أقصى استفادة من مواردك دون الحاجة إلى تحويل برنامجك لاستخدام حلقات متعددة مؤشرات أو أحداث معقدة. ومع ذلك ، يوفر Docker طريقة بسيطة لتحميل التوازن لتطبيقك داخليًا لتحقيق أقصى استفادة من موارد الخادم. ستوضح لك هذه المقالة كيفية استخدام Nginx لتحميل رصيد تطبيق الويب الخاص بك باستخدام Docker على CentOS.
سنستخدم الصدأ لبناء هذا التطبيق البسيط. بافتراض أن لديك الصدأ ، قم بتشغيل cargo new webapp –bin
. عند النجاح ، سترى دليل يسمى webapp
. داخل webapp
، سترى ملف يسمى Cargo.toml
. ألحق السطور التالية به:
[dependencies.iron]
version = "*"
بعد ذلك ، داخل src/main.rs
الملف ، قم بإزالة كل شيء وملؤه بما يلي:
extern crate iron;
use iron::prelude::*;
use iron::status;
fn main() {
Iron::new(|_: &mut Request| {
Ok(Response::with((status::Ok, "Hello Vultr :)")))
}).http("0.0.0.0:3000").unwrap();
}
ملاحظة: لا تقم بتغيير IP داخل التطبيق. تم تكوين هذا بحيث يمكن Docker الاستماع إلى التطبيق الخاص بك.
بمجرد الانتهاء ، قم بتجميع التطبيق عن طريق التنفيذ cargo build –release
. اعتمادًا على الخادم الخاص بك ، قد يستغرق الأمر بضع دقائق. إذا لم تكن هناك أخطاء ، فاختبر التطبيق باتباع الخطوات التالية:
target/release/webapp
.http://0.0.0.0:3000/
في متصفحك. استبدل 0.0.0.0
بعنوان IP الخاص بخادمك.إذا كان كل شيء يعمل بشكل صحيح ، فسترى "Hello Vultr :)" في الصفحة.
قم بإنشاء Dockerfile
وملء ما يلي:
FROM centos:latest
MAINTAINER User <user@localhost>
RUN yum update -y
COPY ./webapp/target/release/webapp /opt/
EXPOSE 3000
WORKDIR /opt
CMD ./webapp
حفظ الملف. ثم قم بإنشاء ملف يسمى deploy.sh
وملؤه بما يلي:
DEFAULT_PORT=45710
APP_PORT=3000
DEPLOY=5
NAME="webapp"
docker build -t webapp:example .
for ((i=0; i<DEPLOY; i++)); do
docker kill $NAME$i ; docker rm $NAME$i
docker run --name $NAME$i -p 127.0.0.1:$(((i * 1000) + DEFAULT_PORT)):$APP_PORT -d webapp:example
done
عند تشغيل هذا النص البرمجي ، سيقوم بإنشاء الصورة ونشر الحاوية بناءً على المبلغ الذي قمت بتعيينه (الافتراضي هو 5). إذا كانت الحاوية موجودة ، فسوف تقتلها وتزيلها من السجل قبل نشرها مرة أخرى.
الآن ، قم بإنشاء ملف تكوين Nginx وملؤه بما يلي:
upstream application {
server localhost:45710;
server localhost:46710;
server localhost:47710;
server localhost:48710;
server localhost:49710;
}
server {
listen 0.0.0.0:80;
location / {
expires 1w;
proxy_pass http://application;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}
استبدل 0.0.0.0
بعنوان IP الخاص بخادمك.
إعادة تشغيل Nginx عن طريق القيام به systemctl restart nginx
. قم بحل أي أخطاء ، ثم انتقل إلى الخطوة التالية.
نشر التطبيق عن طريق التشغيل bash ./deploy.sh
.
يمكنك التحقق من حالة طلبك باستخدام docker ps
- سيتم إنشاء 5 صور تبدأ بـ webapp
. الآن ، انتقل إلى http://0.0.0.0:3000/
متصفحك ، سترى رسالة "Hello، Vultr :)" مرة أخرى.
لذا ، ما الفرق الذي يحدثه هذا ، بالضبط؟
إذا قمت بإجراء اختبار قياس أداء مقابل تكوين موازن التحميل ، فستلاحظ أنه يتم استخدام المزيد من موارد الخادم الخاصة بك ، وهو ما تريده ، خاصة إذا كان تطبيقك مبنيًا بلغات مثل Node حيث يكون عادةً مترابطًا واحدًا. إذا احتجت في أي وقت إلى ترقية تطبيقك ، يمكنك القيام بذلك وإعادة تشغيله deploy.sh
لإعادة بناء الصورة ونشر حاوياتك.
نظرة عامة تهدف هذه المقالة إلى مساعدتك في إنشاء مجموعة 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 الشهير
مقدمة سيوضح لك هذا الدليل كيفية إنشاء وتكوين سرب Docker باستخدام عدة خوادم Alpine Linux 3.9.0 و Portainer. يرجى الانتباه إلى ذلك
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد