نشر Kubernetes مع Kubeadm على CentOS 7
نظرة عامة تهدف هذه المقالة إلى مساعدتك في إنشاء مجموعة Kubernetes وتشغيلها باستخدام kubeadm في لمح البصر. سيقوم هذا الدليل بنشر خادمين في
حاويات LXC (حاويات Linux) هي إحدى ميزات نظام التشغيل في Linux والتي يمكن استخدامها لتشغيل العديد من أنظمة Linux المعزولة على مضيف واحد.
ستوجهك هذه التعليمات خلال الخطوات الأساسية لتهيئة الخادم لاستضافة حاويات Linux المعزولة. سنقوم بتكوين الميزات التالية:
ssh [email protected]
وssh [email protected]
يفترض هذا الدليل ما يلي:
في نهاية البرنامج التعليمي ، سوف نحصل على حاويتين افتراضيتين يمكنهما الوصول إلى الإنترنت ، ولكن لا يمكنهما تنفيذ الأمر. سنقوم أيضًا بتكوين إعادة توجيه المنفذ من example.com
إلى الحاويات. سننشر لوحة تكوين وإدارة آمنة بمساعدة أدوات من حزمة Proxmox.
سنستخدم Proxmox فقط لإدارة حاويات LXC. بشكل عام ، يدعم أيضًا KVM ، ولكن المحاكاة الافتراضية المتداخلة ممنوعة على Vultr. قبل البدء ، يجب تنزيل Proxmox ISO من الموقع الرسمي. سوف نستخدم Proxmox VE 5.0 ISO Installer
. قم بتثبيت نظام التشغيل من الصورة بالإعدادات الافتراضية وأعد تشغيل الجهاز الظاهري. يمكنك أيضًا تثبيت البروكسموكس يدويًا من المصادر ، ولكن هذا ليس ضروريًا في معظم الحالات (اتبع الإرشادات هنا ).
اتصل بمضيفك عن طريق SSH ، وقم بتحديث قائمة قوالب البروكسموكس وقم بتنزيل قالب مناسب للحاويات.
apt-get update
pveam update
pveam available
pveam download local ubuntu-14.04-standard_14.04-1_amd64.tar.gz
الآن ، نحن بحاجة إلى إنشاء حاوية لينكس مع واجهة شبكة متصلة بجسر لينكس. افتح /etc/network/interfaces
الخطوط التالية وأضفها:
auto vmbr1
iface vmbr1 inet static
address 10.100.0.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
بعد إعادة تشغيل النظام ، يمكنك إنشاء حاوية جديدة من Ubuntu 14.04
القالب.
pct create 200 /var/lib/vz/template/cache/ubuntu-14.04-standard_14.04-1_amd64.tar.gz -storage local-lvm -net0 name=eth0,bridge=vmbr1,ip=10.100.0.200/24,gw=10.100.0.1
يمكنك التحقق من الحاوية الخاصة بك باستخدام pct list
، وبدء الحاوية # 200 pct start 200
بإدخال الصدفة مع pct enter 200
. يمكنك أيضًا التحقق من إعدادات الشبكة والعناوين باستخدام ip addr
.
لتوفير اتصال بالإنترنت داخل الحاوية الخاصة بك ، نحتاج إلى تمكينها NAT
. سيسمح ما يلي بإعادة توجيه حركة المرور من الحاوية إلى الإنترنت بمساعدة تقنية NAT. و vmbr0
يرتبط الجسر إلى الواجهة الخارجية و vmbr1
يرتبط الجسر إلى الحاويات.
sysctl -w net.ipv4.ip_forward=1
iptables --table nat --append POSTROUTING --out-interface vmbr0 -j MASQUERADE
iptables --append FORWARD --in-interface vmbr1 -j ACCEPT
أدخل الحاوية مع pct enter 200
خادم الويب وقم بتكوينه بالداخل.
apt-get update
apt-get install nginx
service nginx start
exit
الآن ، نحن بحاجة إلى تكوين Nginx على الخادم الخاص بك إلى مواقع الويب الوكيل في حاويات.
apt-get update
apt-get install nginx
قم بإنشاء ملف تكوين جديد /etc/nginx/sites-available/box200
بالمحتوى التالي:
server {
listen 80;
server_name server200.example.com;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
location / {
proxy_pass http://10.100.0.200/;
}
}
ستقوم Nginx الآن بإنشاء وكيل لكل طلب HTTP server200.example.com
من الخادم الخاص بك إلى الحاوية باستخدام IP 10.100.0.200. تنشيط هذا التكوين.
ln -s /etc/nginx/sites-available/box200 /etc/nginx/sites-enabled/
service nginx restart
إذا كنت ترغب في توفير وصول سهل إلى وضع الحماية ، فأنت بحاجة إلى إعادة توجيه جلسات SSH إلى الحاويات. للقيام بذلك ، قم بإنشاء مستخدم جديد على خادم الجذر الخاص بك. لا تنس إدخال كلمة مرور ، فالمعلمات الأخرى ليست ضرورية.
adduser box200
su - box200
ssh-keygen
cat .ssh/id_rsa.pub
exit
انسخ مفتاح SSH هذا وأدخل الحاوية لإلحاق المفتاح.
pct enter 200
mkdir .ssh
nano .ssh/authorized_keys
exit
على الخادم الخاص بك ، أضف السطر التالي إلى .ssh/authorized_keys
الملف.
command="ssh [email protected]",no-X11-forwarding,no-agent-forwarding,no-port-forwarding <YOUR SSH KEY>
لا تنس تغيير <YOUR SSH KEY>
مفتاح منزلك العام. بدلاً من ذلك ، يمكنك تشغيل ما يلي من سطر الأوامر.
echo 'command="ssh [email protected]",no-X11-forwarding,no-agent-forwarding,no-port-forwarding <YOUR SSH KEY>' >> .ssh/authorized_keys
بعد ذلك ، يمكنك الاتصال بصندوق الرمل باستخدام ssh.
`ssh box200@<your_server_IP>`
حان الوقت لتنفيذ العديد من التحسينات الأمنية. أولاً ، نريد تغيير منفذ SSH الافتراضي. ثم نريد حماية صفحة إدارة Proxmox الخاصة بنا بمصادقة HTTP الأساسية.
nano /etc/ssh/sshd_config
uncomment وتغيير الخط
#Port 22
إلى
Port 24000
أعد تشغيل ssh.
service ssh restart
أعد الاتصال بـ ssh بالمنفذ الجديد.
ssh root@<your_IP> -p 24000
إنشاء ملف /etc/default/pveproxy
.
ALLOW_FROM="127.0.0.1"
DENY_FROM="all"
POLICY="allow"
أعد تشغيل pveproxy
التغييرات لتصبح سارية المفعول.
/etc/init.d/pveproxy restart
تكوين nginx (إذا لم تكن قد فعلت ذلك من قبل).
apt-get install nginx
service nginx restart
إنشاء تكوين افتراضي في /etc/nginx/site-available/default
.
server {
listen 80;
server_name example.com;
rewrite ^ https://$hostname.example.com$request_uri? permanent;
}
server {
listen 443 ssl;
server_name example.com;
#auth_basic "Restricted";
#auth_basic_user_file htpasswd;
#location / { proxy_pass https://127.0.0.1:8006; }
}
احصل على شهادة SSL صالحة وقم بتحديث تكوين nginx. على سبيل المثال ، يمكن القيام بذلك بمساعدة certbox و letencrypt. لمزيد من المعلومات ، انقر هنا .
wget https://dl.eff.org/certbot-auto
chmod +x certbot-auto
./certbot-auto --nginx
الآن ، يجب أن تبدو تهيئة nginx على النحو التالي (أو يمكنك تغييرها يدويًا بعد ذلك). لا تنسَ unsment unsment و auth وخطوط الموقع.
server {
listen 80;
server_name example.com;
rewrite ^ https://$hostname.example.com$request_uri? permanent;
}
server {
listen 443 ssl;
server_name example.com;
ssl on;
auth_basic "Restricted";
auth_basic_user_file htpasswd;
location / { proxy_pass https://127.0.0.1:8006; }
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
}
قم بإنشاء /etc/htpasswd
ملف باستخدام مولد Htpasswd .
nano /etc/nginx/htpasswd
أعد تشغيل Nginx
service nginx restart
يمكنك الآن عرض وحدة تحكم الإدارة https://example.com
بعد المصادقة الأساسية.
الحاويات متاحة الآن عن طريق طلبات HTTP و SSH. الآن ، يمكننا تكوين إعادة توجيه المنفذ من الخادم الخارجي إلى الحاويات. على سبيل المثال، لرسم الخرائط example.com:8080
ل 10.100.0.200:3000
إدخال التالية.
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8080 -j DNAT --to 10.100.0.200:3000
يمكنك عرض القواعد الحالية.
`iptables -t nat -v -L PREROUTING -n --line-number`
يمكنك أيضًا حذف قاعدة برقم بما يلي.
`iptables -t nat -D PREROUTING <#>`.
يمكننا الآن الوصول إلى حاوية واحدة من أخرى.
pct create 250 /var/lib/vz/template/cache/ubuntu-14.04-standard_14.04-1_amd64.tar.gz -storage local-lvm -net0 name=eth0,bridge=vmbr1,ip=10.100.0.250/24,gw=10.100.0.1
pct start 250
pct enter 250
ping 10.100.0.200
إذا كنت تريد تقييد الوصول من الحاوية 250 إلى 200 ، فأنت بحاجة إلى توصيل كل حاوية بجسر شخصي وتعطيل إعادة التوجيه بين الجسور.
حذف الحاويات الموجودة.
pct stop 200
pct stop 250
pct destroy 200
pct destroy 250
تغيير محتوى /etc/network/interfaces
.
auto vmbr1
iface vmbr1 inet static
address 10.100.1.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
auto vmbr2
iface vmbr2 inet static
address 10.100.2.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
reboot
النظام
تمكين إعادة التوجيه
`sysctl -w net.ipv4.ip_forward=1`
لجعل هذه التغييرات دائمة ، يمكنك تحرير /etc/sysctl.conf
الملف والعثور على النص التالي.
#net.ipv4.ip_forward=1
أزعجها.
net.ipv4.ip_forward=1
يمكنك أيضًا تشغيل sysctl -p
التغييرات لتصبح سارية المفعول على الفور.
إنشاء حاويات.
pct create 200 /var/lib/vz/template/cache/ubuntu-14.04-standard_14.04-1_amd64.tar.gz -storage local-lvm -net0 name=eth0,bridge=vmbr1,ip=10.100.1.200/24,gw=10.100.1.1
pct create 250 /var/lib/vz/template/cache/ubuntu-14.04-standard_14.04-1_amd64.tar.gz -storage local-lvm -net0 name=eth0,bridge=vmbr2,ip=10.100.2.250/24,gw=10.100.2.1
بدء الحاويات مع pct start 200
و pct start 250
.
مسح iptables
القواعد.
iptables -F
تمكين NAT.
iptables --table nat --append POSTROUTING --out-interface vmbr0 -j MASQUERADE
vmbr0
هو الجسر الذي يتضمن الواجهة الخارجية.
السماح بإعادة التوجيه من الواجهة الخارجية.
iptables --append FORWARD --in-interface vmbr0 -j ACCEPT
السماح بإعادة التوجيه من الحاويات إلى الإنترنت.
iptables -A FORWARD -i vmbr1 -o vmbr0 -s 10.100.1.0/24 -j ACCEPT
iptables -A FORWARD -i vmbr2 -o vmbr0 -s 10.100.2.0/24 -j ACCEPT
إسقاط إعادة التوجيه الأخرى.
iptables -A FORWARD -i vmbr1 -j DROP
iptables -A FORWARD -i vmbr2 -j DROP
الآن ، تحقق من أنه 10.100.1.200
يمكن تنفيذ الأمر ping 8.8.8.8
ولكن لا يمكن تنفيذ الأمر ping 10.100.2.250
والذي 10.100.2.250
يمكنه تنفيذ الأمر ping 8.8.8.8
ولكن لا يمكنه تنفيذ الأمر ping 10.100.1.200
.
ترتيب الأوامر المتعلقة بجداول iptables مهم. أفضل طريقة لتشغيل قواعدك هي الاستخدام iptables-persistent
. هذه الحزمة يساعدك على حفظ قواعد إيبتبلس إلى الملفات /etc/iptables/rules.v4
و /etc/iptables/rules.v6
ويمكن تحميلها تلقائيا بعد إعادة تشغيل النظام. فقط قم بتثبيته مع ما يلي.
apt-get install iptables-persistent
حدد YES
عندما يُطلب منك ذلك.
نظرة عامة تهدف هذه المقالة إلى مساعدتك في إنشاء مجموعة Kubernetes وتشغيلها باستخدام kubeadm في لمح البصر. سيقوم هذا الدليل بنشر خادمين في
عادة ما تتكون تطبيقات PHP من خادم ويب ونظام قاعدة بيانات علائقية ومترجم لغة نفسه. في هذا البرنامج التعليمي سنكون leveragin
مقدمة Docker هو تطبيق يسمح لنا بنشر البرامج التي يتم تشغيلها كحاويات. وقد كتب بلغة البرمجة Go الشهيرة
ستوضح لك هذه المقالة كيفية نشر تطبيق Node داخل حاوية Docker. ملاحظة: يفترض هذا البرنامج التعليمي أنك قمت بتثبيت Docker وقراءته
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. قراءة هذه المادة لمعرفة المزيد