برنامه نویسی

استقرار Kubernetes را با استفاده از Terraform و Github Actions به صورت خودکار انجام دهید

ارسال GitHub Action + Dev 2023

چیزی که من ساختم

  • من کد Terraform را ایجاد کرده ام که یک فضای نام ایجاد می کند و سرور Nginx را در خوشه minikube مستقر می کند و تأیید و استقرار کد TF با استفاده از اقدامات GitHub خودکار شده است.

چگونه ساختم

  • یک گردش کار GitHub Actions با استفاده از افزونه‌های اقدامات بازار Github ایجاد کرد،
    • actions/checkout@v2.5.0 -> برای بررسی کد
    • medyagh/setup-minikube@v0.0.13 -> برای راه اندازی minikube
    • Azure/setup-kubectl@v3 -> برای راه اندازی kubectl
    • hashicorp/setup-terraform@v2.0.2 -> برای راه اندازی terraform
  • این گردش کار را می توان در محیط های توسعه استفاده کرد، که در آن یک توسعه دهنده Infra می تواند کد Terraform را برای استقرار بار کاری kubernetes ایجاد کند. پس از ایجاد کد tf، توسعه‌دهنده می‌تواند گردش کار Terraform را راه‌اندازی کند، که CI را برای کد Terraform انجام می‌دهد و infra را در آن مستقر می‌کند. minikube.
  • زمینه پیکربندی kube به عنوان یک متغیر در Terraform ایجاد شده است، بنابراین می‌توان آن را با سایر پیکربندی‌ها و زمینه‌های Kubernetes Cluster از ارائه‌دهندگان Cloud مانند Amazon EKS یا Azure AKS یا GCP GKE Cluster لغو کرد.

ارسال دسته

استقرار DIY

لینک برنامه

کد منبع برای Repo در اینجا موجود است

Github Action Workflow Yaml

اسکرین شات ها

گردش کار tf k8s

شرح

راه اندازی گردش کار

این گردش کار می تواند از actions با ارائه دایرکتوری کد Terraform به عنوان ورودی (به اسکرین شات بالا مراجعه کنید).
بنابراین مراحل زیر را در دایرکتوری ارائه شده به عنوان ورودی اجرا می کند.

  1. نصب گردش کار، minikube، kubectl و terraform فایل های اجرایی CLI باید توسط بقیه گردش کار استفاده شوند
  2. اجرا می شود terraform init دستور دانلود kubernetes ارائه دهنده
  3. سپس می دود terraform validate دستور بررسی کد tf معتبر است یا خیر
  4. بعد از آن اجرا می شود، terraform plan و terraform apply ایجاد فضای نام Kubernetes را فرمان داده و انجام می دهد و سرور nginx را مستقر می کند.
  5. گردش کار نیز دارد terraform destroy دستور، که زیرنویس kubernetes ایجاد شده در گردش کار را حذف می کند

ارسال گردش کار

  • این گردش کار از workflow_displatch نحو Github – بلوک فرعی درون بلوک راه‌اندازی رویداد on است که در آن می‌توانیم ورودی‌های مورد نیاز برای راه‌اندازی گردش کار را مشخص کنیم.
  • در بلوک رویداد workflow_dispatch بخش، مسیر دایرکتوری ورودی‌ها را اضافه می‌کنیم، که در آن اعتبار کد Terraform خود را اجرا می‌کنیم.
  • برای سهولت هدف آزمایشی، به دایرکتوری ‘kubernetes’ موجود در مخزن پیش‌فرض است.

پیوند به کد منبع

کد منبع برای Repo در اینجا موجود است

گزارش گردش کار اکشن Github

Github Action Workflow Yaml

GH Action گردش کار اجرا شد

مجوز مجاز

مجوز من

زمینه

همانطور که قبلا ذکر شد،
این گردش کار (یا خط لوله) را می توان برای آزمایش کد زمینی که توسط مهندسان/SRE/توسعه دهندگان DevOps فشار داده شده است پیکربندی کرد و هر زمان که کد tf جدیدی برای مدیریت بار کاری Kubernetes به یک شاخه خاص فشار داده شد، فعال شود.

منابع/اطلاعات اضافی

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا