إذا كنت بحاجة إلى إعداد مجموعة خدمة AWS Elastic Kubernetes Service (Amazon EKS) باستخدام Terraform، فأنت محظوظ. باستخدام وحدة Terraform EKS وجميع الموارد المطلوبة الأخرى، يمكنك إنشاء تكوين Terraform وإنشاء مجموعة AKS بواسطة الكود.
Amazon EKS هي خدمة مُدارة لتشغيل Kubernetes على AWS بدون الحاجة لتثبيت وتشغيل وصيانة مجموعة Kubernetes الخاصة بك. إن بناء مجموعة EKS باستخدام Terraform يتيح لك إنشاء موارد بسرعة وكفاءة وبنهج آلي.
في هذا البرنامج التعليمي، ستتعلم كيفية بناء وتشغيل تكوين Terraform لبناء مجموعة EKS باستخدام Terraform خطوة بخطوة. لنبدأ!
المتطلبات الأساسية
سيكون هذا المنشور برنامجًا تعليميًا خطوة بخطوة. إذا كنت ترغب في المتابعة، تأكد من وجود ما يلي:
- حساب Amazon Web Service (AWS).
- A code editor – Even though you can use any text editor to work with Terraform configuration files, you should consider Visual Studio (VS) Code as it understands the HCL Terraform language well.
- Terraform – سيستخدم هذا البرنامج التعليمي Terraform v0.14.9 العامل على Ubuntu 18.04.5 LTS، ولكن أي نظام تشغيل يحتوي على Terraform يجب أن يعمل.
بناء تكوين Terraform لعنقود AWS EKS
تيرافورم هو أداة للبنية التحتية كشفرة تسمح لك ببناء وتغيير وإصدار البنية التحتية بأمان وبكفاءة. يستخدم تيرافورم أنواعًا مختلفة من ملفات التكوين. يتم كتابة كل ملف إما بتنسيق نص عادي (.tf) أو تنسيق JSON (.tfjson).
لنقم أولاً بإنشاء تكوين Terraform سينشئ عنقود AKS من البداية عند التطبيق.
1. افتح الطرفية.
2. أنشئ مجلدًا باسم ~/terraform-eks-cluster-demo، ثم قم بتغيير (cd
) دليل العمل إلى ذلك المجلد. سيحتوي هذا المجلد على جميع ملفات التكوين التي ستعمل عليها.
3. بعد ذلك، افتح محرر النصوص المفضل لديك وانسخ/الصق التكوين التالي، واحفظه في ملف main.tf داخل ~/terraform-eks-cluster-demo. هذا الملف main.tf هو تكوين Terraform لعنقود AKS.
يحتوي ملف main.tf على جميع الموارد اللازمة لتوفير عنقود EKS:
- دور إدارة الهوية والوصول في AWS (IAM) (
terraformekscluster
) – سيتم إدارة هذه المورد بواسطة Amazon EKS وإجراء المكالمات إلى خدمات AWS الأخرى مثل AWS S3، CloudWatch، إلخ، نيابةً عنك لإدارة الموارد التي تستخدمها مع الخدمة. - مجموعة أمان EC2 في AWS (
resource "aws_security_group" "eks-cluster"
) – تسمح بحركة المرور الشبكية الواردة والصادرة من مجموعة AWS EKS cluster. ستقوم بإطلاق مجموعة أمان تسمىSG-eks-cluster
مرفقة عبر معرف VPC، مما يسمح بتدفق جميع حركة المرور داخل/خارج العقدة.0.0.0.0/0
هو عنوان IP للإنترنت. - عقدة EKS (
terraformEKScluster
) – سيكون هذا العقدة EKS بـالإصدار 1.19
. - دور إدارة الهوية والوصول لعقدات EKS لإجراء المكالمات إلى خدمات AWS الأخرى (
eks-node-group
). يتم ربط هذا الدور بسياسة تسمح بتولي أوراق أمان مؤقتة على العقدة للوصول إلى موارد AWS الأخرى. - مجموعة عقدات EKS (
node_group1
) – يحدد هذا المورد عدد العقدات التي ستكون للعقدة عبر السمةscaling_config
.
4. إنشاء ملف آخر في ~/terraform-eks-cluster-demo اسمه provider.tf ولصق المحتوى أدناه. يقوم ملف المزود بتحديد مزودين مثل AWS أو Oracle أو Azure، إلخ.، بحيث يمكن لـ Terraform الاتصال بخدمات السحابة الصحيحة.
سيتم إنشاء البرنامج التعليمي لإنشاء موارد في منطقة us-east-2.
5. تحقق من وجود جميع الملفات المطلوبة أدناه في المجلد عن طريق تشغيل الأمر tree
.

إنشاء مجموعة AWS EKS باستخدام وحدة Terraform EKS
الآن أن لديك ملف تكوين Terraform وملفات المتغيرات جاهزة للاستخدام ، حان الوقت لبدء Terraform وإنشاء المجموعة. لتوفير مجموعة AKS ، مثل جميع تكوينات Terraform الأخرى ، يستخدم Terraform ثلاثة أوامر (terraform init → terraform plan → terraform apply).
لنتابع كل مرحلة الآن.
1. افتح الطرفية وانتقل إلى الدليل ~/terraform-eks-cluster-demo
. cd ~/terraform-eks-cluster-demo
2. قم بتشغيل الأمر terraform init
في نفس الدليل. يقوم الأمر terraform init
بتهيئة الإضافات ومزودي الخدمة اللازمين للعمل مع الموارد.
إذا كل شيء يسير على ما يرام، يجب أن ترى الرسالة تمت مباشرة Terraform بنجاح في الإخراج، كما هو موضح أدناه.

3. الآن، قم بتشغيل الأمر terraform plan
. تشغيل terraform plan
ليس ضروريًا ولكنه إجراء موصى به للتأكد من صحة بنية ملفات التكوين وتقديم مخطط للموارد التي سيتم توفيرها في البنية التحتية الخاصة بك.
إذا نجحت العملية، يجب أن ترى رسالة مثل الخطة: “X” للإضافة، “Y” للتغيير، أو “Z” للتدمير في الإخراج.

4. بعد ذلك، قم بتشغيل terraform apply
لإزالة العجلات التدريبية واستدعاء Terraform لإنشاء عنصر التحكم AKS. تشغيل terraform apply
يقرأ كل تكوين (*.tf) في الدليل الحالي لتجميع ملف حالة يتم إرساله إلى AWS لبناء عنصر التحكم EKS وغيره من المكونات.
تفرض AWS رسومًا بقيمة 0.10 دولار لكل ساعة لكل عنصر تحكم EKS. تأكد من إزالة أي عناصر تحكم اختبارية قمت بإنشائها بمجرد إنشائها!

التحقق من عنصر التحكم AWS EKS
في هذه النقطة، يجب أن يكون لديك عنصر تحكم AKS يعمل ولكن لنتحقق للتأكد في وحدة التحكم الإدارية لـ AWS.
1. افتح متصفح الويب المفضل لديك، انتقل إلى وحدة التحكم الإدارية لـ AWS وسجل الدخول.
2. انقر على شريط البحث في الأعلى، ابحث عن EKS، وانقر على عنصر القائمة لخدمة Elastic Kubernetes Service. يجب أن ترى عنصر التحكم EKS terraformEKScluster.


3. انقر على التكوين، ويجب أن ترى كل مكون تم إنشاؤه بنجاح كما قمت بتعريفه في تكوين terraform، كما هو موضح أدناه.



الختام
في هذا الدرس، تعلمت كيفية استخدام terraform لنشر مجموعة aws eks ومكوناتها. أنت الآن جاهز لاستخدام هذه المجموعة ونشر التطبيقات!
ما هي التطبيقات التي تخطط لنشرها على مجموعتك الجديدة؟