Kubernetes هو نظام إدارة حاويات مجاني ومفتوح المصدر الذي يوفر نظام أساسي لأتمتة النشر والتوسع والعمليات الخاصة بحاويات التطبيقات عبر مجموعات من أجهزة الكمبيوتر المضيفة.
باستخدام Kubernetes ، يمكنهم الاستفادة بحرية من البنية التحتية السحابية المحلية والعامة والمختلطة لتشغيل مهام نشر مؤسستهم.
تثبيت Kubernetes على Ubuntu ومشتقاته
لتثبيت عملي ، سنستخدم كتلة عقدة ثنائية التي سنشكلها في هذه المقالة ستتألف من عقدة رئيسية وعقدة تابعة.
تحتاج كلا العقدتين إلى تثبيت Kubernetes عليهما. أول شيء سنفعله هو تثبيت عامل إرساء على كلاهما ، لذلك نحتاج فقط إلى تشغيل الأمر التالي عليهما:
sudo apt install docker.io
للتحقق من تثبيت عامل الإرساء ، يمكنك تشغيل الأمر التالي على كلا العقدتين:
docker --version
الآن دعنا ننتقل إلى تمكين عامل الإرساء على كلا العقدتين:
sudo systemctl enable docker
الآن الخطوة التالية هي إضافة مفتاح Kubernetes إلى كلا العقدتين ، نقوم بذلك باستخدام الأمر التالي:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
الخطوة التالية هي إضافة المستودع التالي إلى كلا النظامين:
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
الخطوة الأخيرة في عملية التثبيت هي تثبيت Kubeadm على كلا العقدتين عبر الأمر التالي:
sudo apt install kubeadm
يمكنهم التحقق من رقم إصدار Kubeadm وكذلك التحقق من التثبيت عبر الأمر التالي:
kubeadm version
نشر Kubernetes
الآن لتنفيذ نشر Kubernetes في النظام ، يجب علينا تعطيل ذاكرة المبادلة (إذا كانت قيد التشغيل) في كلا العقدتين
يجب عليهم تعطيل ذاكرة التبادل على كلا العقدتينلأن Kubernetes لا يعمل بشكل صحيح على نظام يستخدم ذاكرة المبادلة.
للقيام بذلك ، ما عليك سوى تشغيل:
sudo swapoff -a
الآن الخطوة التالية هي قم بتشغيل الأمر التالي على العقدة الرئيسية لمنحها اسم مضيف فريد:
sudo hostnamectl set-hostname master-node
بينما بالنسبة إلى العقدة التابعة ، يجب أن نكتب:
sudo hostnamectl set-hostname slave-node
فعلت هذا الآن vلننتقل إلى تهيئة العقدة الرئيسية بالأمر التالي:
sudo kubeadm init --pod-network-cidr = 10.244.0.0/16
قد تستغرق العملية دقيقة أو أكثر حسب اتصالك بالإنترنت. يعد إخراج هذا الأمر مهمًا جدًا ، لذا يجب عليك كتابة المعلومات الموجودة في المخرجات ، حيث تحتوي على ip و token وغيرها.
لبدء استخدام مجموعتك ، يجب عليهم تشغيل ما يلي كمستخدم عادي:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
الآن يمكنهم الانضمام إلى أي عدد من الأجهزة عن طريق تشغيل ما يلي على كل عقدة كمستخدمين أساسيين:
kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
حيث سيحلون محل معلومات tutoken و tuip و hash بالمعلومات التي قيلت قبل بضع لحظات والتي سيقومون بتدوينها.
الحصول على قائمة العقد
سترى أن حالة العقدة الرئيسية ليست جاهزة بعد. هذا لأنه لم يتم نشر أي جراب على العقدة الرئيسية حتى الآن ، وبالتالي فإن واجهة شبكة الحاوية فارغة.
لرؤية القائمة ، علينا فقط تنفيذ:
kubectl get nodes
نشر شبكة بود من خلال العقدة الرئيسية
شبكة pod هي وسيلة اتصال بين عقد الشبكة. في هذا البرنامج التعليمي ، نقوم بتنفيذ شبكة Flannel pod في مجموعتنا عبر الأمر التالي:
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
لمعرفة حالة الشبكة ، فقط اكتب:
kubectl get pods --all-namespaces sudo kubectl get nodes
بمجرد الانتهاء من ذلك ، حان الوقت الآن لإضافة عقدة الرقيق إلى الشبكة لتشكيل كتلة ، بنفس الطريقة التي يجب أن تكمل بها المعلومات كما في العقدة الرئيسية.
sudo kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
الآن عند تشغيل الأمر التالي على العقدة الرئيسية ، سيؤكد أن عقدتين ، العقدة الرئيسية وعقد الخادم تعمل على نظامك.
sudo kubectl get nodes
يوضح هذا أن نظام المجموعة المكون من عقدتين يعمل الآن من خلال نظام إدارة حاويات Kubernetes.