استقرار 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
اسکرین شات ها
شرح
راه اندازی گردش کار
این گردش کار می تواند از actions
با ارائه دایرکتوری کد Terraform به عنوان ورودی (به اسکرین شات بالا مراجعه کنید).
بنابراین مراحل زیر را در دایرکتوری ارائه شده به عنوان ورودی اجرا می کند.
- نصب گردش کار،
minikube
،kubectl
وterraform
فایل های اجرایی CLI باید توسط بقیه گردش کار استفاده شوند - اجرا می شود
terraform init
دستور دانلودkubernetes
ارائه دهنده - سپس می دود
terraform validate
دستور بررسی کد tf معتبر است یا خیر - بعد از آن اجرا می شود،
terraform plan
وterraform apply
ایجاد فضای نام Kubernetes را فرمان داده و انجام می دهد و سرور nginx را مستقر می کند. - گردش کار نیز دارد
terraform destroy
دستور، که زیرنویس kubernetes ایجاد شده در گردش کار را حذف می کند
ارسال گردش کار
- این گردش کار از
workflow_displatch
نحو Github – بلوک فرعی درون بلوک راهاندازی رویداد on است که در آن میتوانیم ورودیهای مورد نیاز برای راهاندازی گردش کار را مشخص کنیم. - در بلوک رویداد
workflow_dispatch
بخش، مسیر دایرکتوری ورودیها را اضافه میکنیم، که در آن اعتبار کد Terraform خود را اجرا میکنیم. - برای سهولت هدف آزمایشی، به دایرکتوری ‘kubernetes’ موجود در مخزن پیشفرض است.
پیوند به کد منبع
کد منبع برای Repo در اینجا موجود است
گزارش گردش کار اکشن Github
Github Action Workflow Yaml
مجوز مجاز
مجوز من
زمینه
همانطور که قبلا ذکر شد،
این گردش کار (یا خط لوله) را می توان برای آزمایش کد زمینی که توسط مهندسان/SRE/توسعه دهندگان DevOps فشار داده شده است پیکربندی کرد و هر زمان که کد tf جدیدی برای مدیریت بار کاری Kubernetes به یک شاخه خاص فشار داده شد، فعال شود.
منابع/اطلاعات اضافی