برنامه نویسی

🌍 دستورات Terraform: از مبتدی تا پیشرفته برای مهندسان DevOps

Summarize this content to 400 words in Persian Lang

معرفی

Terraform هست یک زیرساخت منبع باز به عنوان ابزار کد (IaC). خلق شده توسط HashiCorpکه به شما امکان می دهد زیرساخت مرکز داده را با استفاده از یک زبان پیکربندی سطح بالا تعریف و تهیه کنید. چه به تازگی با Terraform شروع کرده باشید و چه به دنبال بهبود مهارت های خود باشید، این راهنما دستورات ضروری و بهترین شیوه ها را پوشش می دهد. سطوح مبتدی تا پیشرفته

🎯 مفاهیم کلیدی

قبل از فرو رفتن در دستورات، اجازه دهید برخی از مفاهیم اساسی Terraform را مرور کنیم:

ارائه دهنده: افزونه ای که Terraform را قادر می سازد با API های ارائه دهندگان ابری تعامل داشته باشد.

منبع: جزء زیرساخت شما، مانند ماشین مجازی، کانتینر یا شبکه.

مدول: ظرفی برای چندین منبع که با هم استفاده می شوند.

حالت: وضعیت فعلی زیرساخت شما که توسط Terraform مدیریت می شود.

🏁 دستورات مبتدی

1. مقداردهی اولیه

راه اندازی دایرکتوری کاری

terraform init

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

دایرکتوری کاری حاوی فایل های پیکربندی Terraform را راه اندازی می کند. این دستور ارائه دهنده های لازم را دانلود و نصب می کند.

2. اعتبار سنجی

اعتبار سنجی فایل های پیکربندی

terraform validate

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نحو و پیکربندی فایل‌های Terraform در فهرست را تأیید می‌کند.

3. برنامه ریزی کنید

یک برنامه اجرایی ایجاد کنید

terraform plan

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک طرح اجرایی ایجاد می کند که نشان می دهد Terraform چه اقداماتی را برای رسیدن به وضعیت مطلوب انجام می دهد.

4. درخواست کنید

اعمال تغییرات در زیرساخت

terraform apply

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

تغییرات مورد نیاز برای رسیدن به وضعیت مطلوب پیکربندی را اعمال می کند. این دستور قبل از ادامه، تأیید را درخواست می کند.

5. نابود کردن

زیرساخت ها را نابود کنید

terraform destroy

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

زیرساخت های تحت مدیریت Terraform را نابود می کند. این دستور همچنین درخواست تایید می کند.

6. مدیریت دولتی

نمایش وضعیت فعلی

terraform show

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

وضعیت فعلی یا یک فایل طرح را نمایش می دهد.

7. ارائه دهندگان

ارائه دهندگان لیست

terraform providers

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

تمام ارائه دهندگان مورد نیاز پیکربندی را فهرست می کند.

8. قالب بندی

فرمت فایل های پیکربندی

terraform fmt

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فایل های پیکربندی Terraform را به قالب و سبک متعارف قالب بندی می کند.

9. خروجی

نمایش خروجی ها

terraform output

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

متغیرهای خروجی تعریف شده در پیکربندی را فهرست می کند.

10. مدیریت فضای کاری

فهرست فضاهای کاری

terraform workspace list

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

تمام فضاهای کاری موجود را فهرست می کند.

ایجاد فضای کاری

terraform workspace new my-workspace

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک فضای کاری جدید ایجاد می کند.

Workspace را انتخاب کنید

terraform workspace select my-workspace

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک فضای کاری موجود را انتخاب می کند.

🚀 دستورات میانی

1. مدیریت دولتی

فهرست منابع در ایالت

terraform state list

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

تمام منابع موجود در حالت Terraform را فهرست می کند.

نمایش منبع دولتی

terraform state show

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اطلاعات دقیق وضعیت یک منبع را نمایش می دهد.

حذف منبع از State

terraform state rm

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک منبع را از حالت Terraform حذف می کند.

انتقال منابع دولتی

terraform state mv source>

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک منبع را از یک حالت به حالت دیگر منتقل می کند.

2. نمودار وابستگی

ایجاد نمودار وابستگی

terraform graph | dot -Tpng > graph.png

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک نمایش بصری از نمودار وابستگی پیکربندی ایجاد می کند.

3. قفل کردن

حالت باز کردن قفل اجباری

terraform force-unlock

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فایل حالت را به صورت دستی باز می کند.

4. متغیرهای محیطی

تنظیم متغیرهای محیطی

export TF_VAR_variable_name=value

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

متغیرهای محیطی را برای متغیرهای Terraform تنظیم می کند.

5. پیکربندی Backend

پیکربندی Backend

terraform {
backend “s3” {
bucket = “my-terraform-state”
key = “path/to/my/key”
region = “us-west-2”
}
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک باطن را برای ذخیره فایل حالت پیکربندی می کند.

6. ماژول ها

ماژول ها را راه اندازی کنید

terraform get

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ماژول های مورد استفاده در پیکربندی را راه اندازی می کند.

به روز رسانی ماژول ها

terraform get -update

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ماژول های مورد استفاده در پیکربندی را به روز می کند.

🧠 دستورات پیشرفته

1. برنامه ریزی دقیق

برنامه تولید و ذخیره کنید

terraform plan -out=myplan.tfplan

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک برنامه اجرایی را تولید و در یک فایل ذخیره می کند.

برنامه ذخیره شده را اعمال کنید

terraform apply myplan.tfplan

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

تغییرات توصیف شده توسط طرح ذخیره شده را اعمال می کند.

2. واردات

واردات زیرساخت های موجود

terraform import .

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

زیرساخت های موجود را به ایالت Terraform وارد می کند.

3. فضاهای کاری برای محیط ها

ایجاد و استفاده از فضاهای کاری برای محیط های مختلف

terraform workspace new dev
terraform workspace new prod
terraform workspace select dev
terraform workspace select prod

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ایجاد و جابجایی بین فضاهای کاری برای محیط های مختلف.

4. مدیریت دولتی پیشرفته

پشتیبان گیری از فایل حالت

cp terraform.tfstate terraform.tfstate.backup

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

به صورت دستی از فایل State نسخه پشتیبان تهیه می کند.

بازیابی فایل State

cp terraform.tfstate.backup terraform.tfstate

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فایل حالت را از یک نسخه پشتیبان بازیابی می کند.

5. عبارات شرطی

از عبارات شرطی استفاده کنید

resource “aws_instance” “example” {
count = var.create_instance ? 1 : 0
ami = “ami-123456”
instance_type = “t2.micro”
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

از عبارات شرطی برای ایجاد منابع بر اساس مقادیر متغیر استفاده می کند.

6. منابع داده

از منابع داده استفاده کنید

data “aws_vpc” “selected” {
default = true
}

resource “aws_subnet” “example” {
vpc_id = data.aws_vpc.selected.id
cidr_block = “10.0.1.0/24”
availability_zone = “us-west-2a”
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

از منابع داده برای واکشی اطلاعات در مورد منابع موجود استفاده می کند.

7. اشکال زدایی

ثبت جزئیات را فعال کنید

export TF_LOG=DEBUG
terraform apply

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ثبت جزئیات را برای اهداف اشکال زدایی فعال می کند.

وارد یک فایل شوید

export TF_LOG=DEBUG
export TF_LOG_PATH=./terraform.log
terraform apply

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اطلاعات اشکال زدایی را در یک فایل ثبت می کند.

📊 بهترین شیوه ها

از کنترل نسخه استفاده کنید

فایل های پیکربندی Terraform خود را در یک سیستم کنترل نسخه (به عنوان مثال، Git) ذخیره کنید تا تغییرات را پیگیری کنید و با اعضای تیم همکاری کنید.

کد خود را مدولار کنید

پیکربندی های Terraform خود را به ماژول های قابل استفاده مجدد برای ترویج استفاده مجدد از کد و مدیریت پیچیدگی تقسیم کنید.

مدیریت فایل های حالت ایمن

از پشتیبان‌های راه دور برای ذخیره و مدیریت ایمن فایل‌های حالت خود استفاده کنید و مطمئن شوید که به‌طور تصادفی حذف یا اصلاح نشده‌اند.

از متغیرها و خروجی ها استفاده کنید

از متغیرها برای پارامترسازی پیکربندی ها و خروجی ها برای استخراج اطلاعات مفید از پیکربندی های خود استفاده کنید.

پیاده سازی خطوط لوله CI/CD

Terraform را با خطوط لوله CI/CD ادغام کنید تا آزمایش و استقرار زیرساخت خود را خودکار کنید.

سیاست ها را اجرا کنید

از ابزارهایی مانند HashiCorp Sentinel یا Open Policy Agent (OPA) برای اجرای سیاست ها و اطمینان از انطباق با استانداردهای سازمان خود استفاده کنید.

🚀 نتیجه گیری

تسلط بر دستورات Terraform از سطوح مبتدی تا پیشرفته برای مهندسین DevOps برای مدیریت موثر و خودکارسازی زیرساخت ضروری است. این راهنمای جامع مرجع ارزشمندی برای پیمایش در محیط Terraform شما ارائه می دهد. با پیروی از بهترین شیوه ها و استفاده از این دستورات، می توانید از راه اندازی زیرساخت قوی و کارآمد اطمینان حاصل کنید.

ترافورمینگ مبارک! 🎉

به خاطر خواندن بلاگم از شما متشکرم …:)

© حق چاپ: ProDevOpsGuy

به ما بپیوندید انجمن تلگرام || برای اطلاعات بیشتر من را دنبال کنید محتوای DevOps

فهرست مطالب

معرفی

Terraform هست یک زیرساخت منبع باز به عنوان ابزار کد (IaC). خلق شده توسط HashiCorpکه به شما امکان می دهد زیرساخت مرکز داده را با استفاده از یک زبان پیکربندی سطح بالا تعریف و تهیه کنید. چه به تازگی با Terraform شروع کرده باشید و چه به دنبال بهبود مهارت های خود باشید، این راهنما دستورات ضروری و بهترین شیوه ها را پوشش می دهد. سطوح مبتدی تا پیشرفته

🎯 مفاهیم کلیدی

قبل از فرو رفتن در دستورات، اجازه دهید برخی از مفاهیم اساسی Terraform را مرور کنیم:

  • ارائه دهنده: افزونه ای که Terraform را قادر می سازد با API های ارائه دهندگان ابری تعامل داشته باشد.
  • منبع: جزء زیرساخت شما، مانند ماشین مجازی، کانتینر یا شبکه.
  • مدول: ظرفی برای چندین منبع که با هم استفاده می شوند.
  • حالت: وضعیت فعلی زیرساخت شما که توسط Terraform مدیریت می شود.

🏁 دستورات مبتدی

1. مقداردهی اولیه

راه اندازی دایرکتوری کاری

terraform init
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

دایرکتوری کاری حاوی فایل های پیکربندی Terraform را راه اندازی می کند. این دستور ارائه دهنده های لازم را دانلود و نصب می کند.

2. اعتبار سنجی

اعتبار سنجی فایل های پیکربندی

terraform validate
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نحو و پیکربندی فایل‌های Terraform در فهرست را تأیید می‌کند.

3. برنامه ریزی کنید

یک برنامه اجرایی ایجاد کنید

terraform plan
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک طرح اجرایی ایجاد می کند که نشان می دهد Terraform چه اقداماتی را برای رسیدن به وضعیت مطلوب انجام می دهد.

4. درخواست کنید

اعمال تغییرات در زیرساخت

terraform apply
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

تغییرات مورد نیاز برای رسیدن به وضعیت مطلوب پیکربندی را اعمال می کند. این دستور قبل از ادامه، تأیید را درخواست می کند.

5. نابود کردن

زیرساخت ها را نابود کنید

terraform destroy
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

زیرساخت های تحت مدیریت Terraform را نابود می کند. این دستور همچنین درخواست تایید می کند.

6. مدیریت دولتی

نمایش وضعیت فعلی

terraform show
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

وضعیت فعلی یا یک فایل طرح را نمایش می دهد.

7. ارائه دهندگان

ارائه دهندگان لیست

terraform providers
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

تمام ارائه دهندگان مورد نیاز پیکربندی را فهرست می کند.

8. قالب بندی

فرمت فایل های پیکربندی

terraform fmt
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فایل های پیکربندی Terraform را به قالب و سبک متعارف قالب بندی می کند.

9. خروجی

نمایش خروجی ها

terraform output
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

متغیرهای خروجی تعریف شده در پیکربندی را فهرست می کند.

10. مدیریت فضای کاری

فهرست فضاهای کاری

terraform workspace list
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

تمام فضاهای کاری موجود را فهرست می کند.

ایجاد فضای کاری

terraform workspace new my-workspace
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک فضای کاری جدید ایجاد می کند.

Workspace را انتخاب کنید

terraform workspace select my-workspace
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک فضای کاری موجود را انتخاب می کند.

🚀 دستورات میانی

1. مدیریت دولتی

فهرست منابع در ایالت

terraform state list
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

تمام منابع موجود در حالت Terraform را فهرست می کند.

نمایش منبع دولتی

terraform state show 
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اطلاعات دقیق وضعیت یک منبع را نمایش می دهد.

حذف منبع از State

terraform state rm 
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک منبع را از حالت Terraform حذف می کند.

انتقال منابع دولتی

terraform state mv source> 
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک منبع را از یک حالت به حالت دیگر منتقل می کند.

2. نمودار وابستگی

ایجاد نمودار وابستگی

terraform graph | dot -Tpng > graph.png
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک نمایش بصری از نمودار وابستگی پیکربندی ایجاد می کند.

3. قفل کردن

حالت باز کردن قفل اجباری

terraform force-unlock 
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فایل حالت را به صورت دستی باز می کند.

4. متغیرهای محیطی

تنظیم متغیرهای محیطی

export TF_VAR_variable_name=value
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

متغیرهای محیطی را برای متغیرهای Terraform تنظیم می کند.

5. پیکربندی Backend

پیکربندی Backend

terraform {
  backend "s3" {
    bucket = "my-terraform-state"
    key    = "path/to/my/key"
    region = "us-west-2"
  }
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک باطن را برای ذخیره فایل حالت پیکربندی می کند.

6. ماژول ها

ماژول ها را راه اندازی کنید

terraform get
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ماژول های مورد استفاده در پیکربندی را راه اندازی می کند.

به روز رسانی ماژول ها

terraform get -update
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ماژول های مورد استفاده در پیکربندی را به روز می کند.

🧠 دستورات پیشرفته

1. برنامه ریزی دقیق

برنامه تولید و ذخیره کنید

terraform plan -out=myplan.tfplan
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یک برنامه اجرایی را تولید و در یک فایل ذخیره می کند.

برنامه ذخیره شده را اعمال کنید

terraform apply myplan.tfplan
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

تغییرات توصیف شده توسط طرح ذخیره شده را اعمال می کند.

2. واردات

واردات زیرساخت های موجود

terraform import . 
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

زیرساخت های موجود را به ایالت Terraform وارد می کند.

3. فضاهای کاری برای محیط ها

ایجاد و استفاده از فضاهای کاری برای محیط های مختلف

terraform workspace new dev
terraform workspace new prod
terraform workspace select dev
terraform workspace select prod
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ایجاد و جابجایی بین فضاهای کاری برای محیط های مختلف.

4. مدیریت دولتی پیشرفته

پشتیبان گیری از فایل حالت

cp terraform.tfstate terraform.tfstate.backup
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

به صورت دستی از فایل State نسخه پشتیبان تهیه می کند.

بازیابی فایل State

cp terraform.tfstate.backup terraform.tfstate
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فایل حالت را از یک نسخه پشتیبان بازیابی می کند.

5. عبارات شرطی

از عبارات شرطی استفاده کنید

resource "aws_instance" "example" {
  count = var.create_instance ? 1 : 0
  ami           = "ami-123456"
  instance_type = "t2.micro"
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

از عبارات شرطی برای ایجاد منابع بر اساس مقادیر متغیر استفاده می کند.

6. منابع داده

از منابع داده استفاده کنید

data "aws_vpc" "selected" {
  default = true
}

resource "aws_subnet" "example" {
  vpc_id            = data.aws_vpc.selected.id
  cidr_block        = "10.0.1.0/24"
  availability_zone = "us-west-2a"
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

از منابع داده برای واکشی اطلاعات در مورد منابع موجود استفاده می کند.

7. اشکال زدایی

ثبت جزئیات را فعال کنید

export TF_LOG=DEBUG
terraform apply
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ثبت جزئیات را برای اهداف اشکال زدایی فعال می کند.

وارد یک فایل شوید

export TF_LOG=DEBUG
export TF_LOG_PATH=./terraform.log
terraform apply
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اطلاعات اشکال زدایی را در یک فایل ثبت می کند.

📊 بهترین شیوه ها

از کنترل نسخه استفاده کنید

  • فایل های پیکربندی Terraform خود را در یک سیستم کنترل نسخه (به عنوان مثال، Git) ذخیره کنید تا تغییرات را پیگیری کنید و با اعضای تیم همکاری کنید.

کد خود را مدولار کنید

  • پیکربندی های Terraform خود را به ماژول های قابل استفاده مجدد برای ترویج استفاده مجدد از کد و مدیریت پیچیدگی تقسیم کنید.

مدیریت فایل های حالت ایمن

  • از پشتیبان‌های راه دور برای ذخیره و مدیریت ایمن فایل‌های حالت خود استفاده کنید و مطمئن شوید که به‌طور تصادفی حذف یا اصلاح نشده‌اند.

از متغیرها و خروجی ها استفاده کنید

  • از متغیرها برای پارامترسازی پیکربندی ها و خروجی ها برای استخراج اطلاعات مفید از پیکربندی های خود استفاده کنید.

پیاده سازی خطوط لوله CI/CD

  • Terraform را با خطوط لوله CI/CD ادغام کنید تا آزمایش و استقرار زیرساخت خود را خودکار کنید.

سیاست ها را اجرا کنید

  • از ابزارهایی مانند HashiCorp Sentinel یا Open Policy Agent (OPA) برای اجرای سیاست ها و اطمینان از انطباق با استانداردهای سازمان خود استفاده کنید.

🚀 نتیجه گیری

تسلط بر دستورات Terraform از سطوح مبتدی تا پیشرفته برای مهندسین DevOps برای مدیریت موثر و خودکارسازی زیرساخت ضروری است. این راهنمای جامع مرجع ارزشمندی برای پیمایش در محیط Terraform شما ارائه می دهد. با پیروی از بهترین شیوه ها و استفاده از این دستورات، می توانید از راه اندازی زیرساخت قوی و کارآمد اطمینان حاصل کنید.

ترافورمینگ مبارک! 🎉


به خاطر خواندن بلاگم از شما متشکرم …:)

© حق چاپ: ProDevOpsGuy

68747470733a2f2f696d6775722e636f6d2f326a36416f796c2e706e67

به ما بپیوندید انجمن تلگرام || برای اطلاعات بیشتر من را دنبال کنید محتوای DevOps

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

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

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

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