مكتبة الشروحات

تركيب عناقيد Kubernetes على AWS أو GCP أو Azure

لقد أحدث Kubernetes ثورة في طريقة نشر وإدارة التطبيقات الحديثة، حيث يوفر حلاً قويًا وقابلًا للتوسع لأتمتة تنسيق الحاويات. بالنسبة للشركات التي ترغب في نشر عناقيد Kubernetes في السحابة، توفر AWS وGCP وAzure خدمات مدارة بالكامل تُبسط عملية الإعداد والإدارة والتوسع في بيئات Kubernetes.

ستوفر هذه المقالة دليلًا شاملاً حول كيفية نشر عناقيد Kubernetes على خدمات Amazon Web Services (AWS) وGoogle Cloud Platform (GCP) وMicrosoft Azure. سنتناول الاختلافات بين خدمات Kubernetes في كل منصة، والخطوات المطلوبة للنشر، وأفضل الممارسات لإدارة وتحسين العناقيد. سواء كنت مهندس DevOps أو مسؤول نظام أو قائد أعمال، سيساعدك هذا الدليل في اتخاذ قرارات مستنيرة حول كيفية الاستفادة من Kubernetes لاحتياجاتك في بنية السحابة التحتية.

نظرة عامة على Kubernetes
ما هو Kubernetes؟
Kubernetes، والذي يُختصر عادةً بـ K8s، هو منصة مفتوحة المصدر تهدف إلى أتمتة نشر وتوسيع وإدارة التطبيقات المعتمدة على الحاويات. تم تطويره في البداية بواسطة Google وهو الآن تحت إدارة مؤسسة Cloud Native Computing Foundation (CNCF). يوفر Kubernetes منصة لإدارة الحاويات مثل Docker عبر مجموعة من الأجهزة، مما يسمح لفرق DevOps بنشر التطبيقات المعقدة بشكل موثوق وقابل للتوسع.

الميزات الرئيسية لـ Kubernetes

  • النشر الآلي: يقوم Kubernetes بأتمتة نشر وتوسيع التطبيقات، مما يقلل الحاجة للتدخل اليدوي.
  • الشفاء الذاتي: يمكن لـ Kubernetes إعادة تشغيل الحاويات التي فشلت، واستبدال العقد غير المستجيبة، وإعادة جدولة الحاويات على العقد السليمة.
  • توزيع الحمل والتوسع: يقوم Kubernetes بتوزيع حركة المرور عبر الحاويات ويوزع التطبيقات تلقائيًا استنادًا إلى حركة المرور أو استخدام الموارد.
  • التكوين التصريحي: يسمح Kubernetes للمستخدمين بتعريف الحالة المرغوبة لبنيتهم التحتية باستخدام تكوينات تصريحية، مما يضمن التناسق والقابلية لإعادة التنفيذ.

خدمات Kubernetes المدارة
تقدم جميع المنصات السحابية الرئيسية AWS وGCP وAzure خدمات Kubernetes المدارة التي تقلل من تعقيد نشر وصيانة عناقيد Kubernetes. تتولى هذه الخدمات المهام الصعبة، بما في ذلك إدارة خطة التحكم، وتوسيع البنية التحتية، وتوفير التحديثات الأمنية.

خدمة Amazon Elastic Kubernetes (EKS)
Amazon EKS هي خدمة Kubernetes مُدارة بالكامل تُبسط عملية تشغيل Kubernetes على AWS دون الحاجة لإدارة خطة التحكم في Kubernetes. يتكامل EKS بسلاسة مع خدمات AWS مثل EC2 وElastic Load Balancing (ELB) وAmazon RDS، مما يسمح للمستخدمين ببناء تطبيقات قابلة للتوسع وآمنة.

الميزات الرئيسية:

  • متكامل مع AWS Identity and Access Management (IAM) للوصول الآمن.
  • خطة التحكم المدارة مع التحديثات التلقائية والتصحيحات.
  • دعم Fargate، مما يتيح الحوسبة بدون خوادم للحاويات.
  • تكامل أصلي مع خدمات AWS مثل CloudWatch وRoute 53 وELB.

خدمة Google Kubernetes Engine (GKE)
خدمة GKE هي خدمة Kubernetes مدارة تقدمها Google Cloud. بما أن Kubernetes نشأت في Google، فإن GKE معروفة بتكاملها العميق مع نظام Kubernetes البيئي. تقدم GKE منصة قوية ومرنة مع ميزات متقدمة مثل التوسيع التلقائي، والترقيات التلقائية، ودعم النشر عبر عدة عناقيد.

الميزات الرئيسية:

  • تكامل أصلي مع خدمات Google Cloud مثل Stackdriver وBigQuery وCloud SQL.
  • التوسيع والترقيات التلقائية لكل من خطة التحكم وعقد العمل.
  • دعم Anthos للنشر عبر السحابة المتعددة وKubernetes الهجين.
  • ميزات أمان متقدمة مثل هوية العمل والترخيص الثنائي.

خدمة Azure Kubernetes (AKS)
Azure Kubernetes Service (AKS) هي خدمة Kubernetes مدارة بالكامل على منصة Microsoft Azure. يُبسط AKS إدارة Kubernetes من خلال أتمتة التحديثات والتوسع والتصحيحات. ويتكامل بشكل وثيق مع Azure Active Directory (AAD) وخدمات Azure الأخرى، مما يجعله مثاليًا للمنظمات التي تستخدم بالفعل السحابة الخاصة بـ Azure.

الميزات الرئيسية:

  • تكامل سلس مع Azure Active Directory لإدارة الهوية وضوابط الوصول.
  • خطة التحكم في Kubernetes المدارة مع الترقيات التلقائية والتصحيحات.
  • تكامل مع Azure DevOps لخطوط أنابيب التكامل المستمر / التسليم المستمر (CI/CD).
  • دعم Azure Monitor وAzure Policy للمراقبة والحوكمة.

نشر Kubernetes على AWS (EKS)
إعداد حساب AWS
قبل نشر Kubernetes على AWS، تحتاج إلى حساب AWS.

تثبيت AWS CLI وExcel
AWS CLI هي أداة سطر أوامر تسمح لك بالتفاعل مع خدمات AWS. يُعتبر eksctl أداة CLI مصممة خصيصًا لإدارة عناقيد EKS.
تثبيت AWS CLI:

curl https://awscli.amazonaws.com/AWSCLIV2.pkg -o AWSCLIV2.pkg  
sudo installer -pkg AWSCLIV2.pkg -target /

تكوين AWS CLI
بعد التثبيت، قم بتكوين AWS CLI من خلال تنفيذ:

aws configure

سيُطلب منك إدخال مفتاح الوصول الخاص بـ AWS، والمفتاح السري، والمنطقة، وتنسيق الإخراج.

إنشاء مجموعة EKS
باستخدام EKSctl، يصبح إنشاء مجموعة Kubernetes على EKS أمرًا بسيطًا. نفذ الأمر التالي:

eksctl create cluster --name my-cluster --region us-west-2 --nodes 3

تكوين kubectl لـ EKS
kubectl هي أداة سطر أوامر للتفاعل مع مجموعات Kubernetes. لتكوين kubectl للعمل مع مجموعة EKS الخاصة بك، نفذ:

aws eks --region us-west-2 update-kubeconfig --name my-cluster

نشر تطبيق عينة
لنشر تطبيق Nginx عينة على مجموعة EKS الخاصة بك:

kubectl create deployment nginx --image=nginx

مراقبة وتوسيع مجموعتك
مراقبة أداء واستخدام الموارد لمجموعتك باستخدام AWS CloudWatch، الذي يتكامل بسلاسة مع EKS. يمكنك أيضًا توسيع تطبيقك عن طريق زيادة عدد النسخ:

kubectl scale deployment nginx --replicas=5

نشر Kubernetes على GCP (GKE)
إعداد حساب Google Cloud
قم بإنشاء حساب Google Cloud. يمكن للمستخدمين الجدد الاستفادة من الرصيد المجاني.

تثبيت Google Cloud SDK
يوفر Google Cloud SDK أداة سطر أوامر gcloud التي تسمح لك بالتفاعل مع خدمات Google Cloud.

تمكين API Kubernetes
قبل إنشاء مجموعة GKE، يجب تمكين Kubernetes Engine API:

gcloud services enable container.googleapis.com

إنشاء مجموعة GKE
قم بإنشاء مجموعة GKE باستخدام CLI gcloud.

تكوين kubectl لـ GKE
يمكن تكوين kubectl للتفاعل مع مجموعة GKE باستخدام الأمر التالي.

نشر Kubernetes على Azure (AKS)
إعداد حساب Azure
إذا لم يكن لديك حساب Azure، قم بالتسجيل للحصول عليه. يحصل المستخدمون الجدد على خدمات ورصيد مجاني.

تثبيت Azure CLI
تسمح لك Azure CLI بإدارة موارد Azure من سطر الأوامر. قم بتثبيت Azure CLI باستخدام:

curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

إنشاء مجموعة AKS
قم بإنشاء مجموعة AKS باستخدام Azure CLI:

az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 3 --enable-addons monitoring --generate-ssh-keys

هذا الأمر يقوم بإنشاء مجموعة Kubernetes في مجموعة الموارد myResourceGroup مع ثلاثة عقد.

  • 0 أعضاء وجدوا هذه المقالة مفيدة
هل كانت المقالة مفيدة ؟