»فرمان: برنامه

ساخت وبلاگ

دستور Terraform Plan یک برنامه اجرا را ایجاد می کند که به شما امکان می دهد تغییراتی را که Terraform قصد دارد در زیرساخت های شما ایجاد کند ، پیش نمایش کنید. به طور پیش فرض ، هنگامی که Terraform طرحی را ایجاد می کند:

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

Hand-On: Terraform را امتحان کنید: آموزش های شروع کنید. برای جزئیات بیشتر در مورد دستور برنامه ، آموزش طرح Perraform را بررسی کنید.

دستور طرح به تنهایی تغییرات پیشنهادی را که می توانید از این دستور استفاده کنید ، برای بررسی اینکه آیا تغییرات پیشنهادی قبل از اعمال تغییرات مطابقت دارد یا با تیم خود برای بررسی گسترده تر به اشتراک می گذارد ، مطابقت نمی دهد.

اگر Terraform تشخیص دهد که هیچ تغییری برای منابع منابع یا مقادیر خروجی ماژول لازم نیست ، برنامه Terraform گزارش می دهد که هیچ اقدامی لازم نیست.

اگر مستقیماً در یک ترمینال تعاملی از Terraform استفاده می کنید و انتظار دارید تغییراتی را که Terraform پیشنهاد می کند اعمال کنید ، می توانید Terraform را مستقیماً اجرا کنید. به طور پیش فرض ، دستور "اعمال" به طور خودکار یک برنامه جدید ایجاد می کند و شما را برای تصویب آن سوق می دهد.

برای ذخیره برنامه تولید شده در یک پرونده روی دیسک می توانید از گزینه اختیار ی-out = file استفاده کنید ، که بعداً می توانید با انتقال پرونده به Terraform به عنوان یک آرگومان اضافی اجرا کنید. این گردش کار دو مرحله ای در درجه اول هنگام اجرای Terraform در اتوماسیون در نظر گرفته شده است.

اگر برنامه Terraform را بدون گزین ه-out = پرونده اجرا کنید ، یک برنامه سوداگرانه ایجاد می کند ، که توضیحی از تأثیر برنامه است اما بدون هیچ گونه قصد استفاده از آن.

در تیم هایی که برای ایجاد تغییر در زیرساخت های واقعی از یک کنترل کنترل نسخه و بررسی کد استفاده می کنند ، توسعه دهندگان می توانند از برنامه های سوداگرانه برای تأیید تأثیر تغییرات خود قبل از ارسال آنها برای بررسی کد استفاده کنند. با این حال ، مهم است که در نظر بگیرید که تغییرات دیگر در سیستم هدف در این میان ممکن است باعث شود اثر نهایی تغییر پیکربندی متفاوت از آنچه یک برنامه سوداگرانه قبلی نشان داده است متفاوت باشد ، بنابراین شما همیشه باید مجدداً برنامه غیر خاص نهایی را بررسی کنیدقبل از درخواست برای اطمینان از اینکه هنوز هم با قصد شما مطابقت دارد.

استفاده: طرح Terraform [گزینه ها]

SubCommand Plan در فهرست کار فعلی برای پیکربندی ماژول ریشه به نظر می رسد.

از آنجایی که دستور plan یکی از دستورات اصلی Terraform است، گزینه های مختلفی دارد که در قسمت های بعدی توضیح داده شده است. با این حال، در بیشتر مواقع نیازی به تنظیم هیچ یک از این گزینه ها ندارید، زیرا پیکربندی Terraform معمولاً باید طوری طراحی شود که بدون گزینه های اضافی اضافی برای کارهای معمول کار کند.

بخش های باقی مانده در این صفحه گزینه های مختلف را توضیح می دهند:

  • حالت های برنامه ریزی: حالت های برنامه ریزی جایگزین ویژه ای وجود دارد که می توانید برای برخی موقعیت های خاص که هدف شما فقط تغییر سیستم از راه دور برای مطابقت با پیکربندی شما نیست، از آنها استفاده کنید.
  • گزینه های برنامه ریزی: در کنار حالت های ویژه برنامه ریزی، گزینه هایی نیز وجود دارد که می توانید برای سفارشی کردن فرآیند برنامه ریزی برای نیازهای غیرمعمول تنظیم کنید.
    • Resource Targeting یکی از گزینه های برنامه ریزی خاص است که برخی از اخطارهای مهم مرتبط با آن دارد.

    بخش قبلی رفتار برنامه ریزی پیش فرض Terraform را توضیح می دهد که سیستم راه دور را برای مطابقت با تغییراتی که در پیکربندی خود ایجاد می کنید تغییر می دهد. Terraform دو حالت برنامه ریزی جایگزین دارد که هر کدام یک طرح با نتیجه مورد نظر متفاوت ایجاد می کنند. این گزینه ها هم برای پلان زمینی و هم برای ترافورم کاربردی موجود هستند.

    • Destroy mode: طرحی را ایجاد می کند که هدف آن از بین بردن تمام اشیاء راه دوری است که در حال حاضر وجود دارند و یک حالت Terraform خالی باقی می ماند. این همان اجرای ترافورم از بین بردن است. حالت Destroy می تواند برای موقعیت هایی مانند محیط های توسعه گذرا مفید باشد، جایی که اشیاء مدیریت شده پس از تکمیل کار توسعه دیگر مفید نیستند. با استفاده از گزینه خط فرما ن-destroy حالت تخریب را فعال کنید.
    • حالت فقط تازه سازی: طرحی را ایجاد می کند که هدف آن فقط به روز رسانی وضعیت Terraform و هر مقدار خروجی ماژول ریشه برای مطابقت با تغییرات ایجاد شده در اشیاء راه دور خارج از Terraform است. اگر عمداً یک یا چند شی از راه دور را خارج از جریان کار معمولی تغییر داده باشید (مثلاً هنگام پاسخ به یک حادثه) و اکنون باید رکوردهای Terraform را با آن تغییرات تطبیق دهید، این می تواند مفید باشد. با استفاده از گزینه خط فرما ن-refresh-only حالت فقط به روزرسانی را فعال کنید.

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

    حالت های برنامه ریزی همه متقابلاً منحصر به فرد هستند ، بنابراین فعال کردن هر حالت برنامه ریزی غیر پیش فرض ، حالت برنامه ریزی "عادی" را غیرفعال می کند و شما نمی توانید همزمان از بیش از یک حالت جایگزین استفاده کنید.

    توجه: در Terraform v0. 15 و قبل از آن ، گزین ه-destroy فقط توسط دستور طرح Terraform پشتیبانی می شود ، و نه توسط دستور terraform اعمال می شود. برای ایجاد و استفاده از برنامه ای در حالت Destroy در نسخه های قبلی ، باید Terraform Destroy را اجرا کنید.

    توجه: گزینه فقط Refresh فقط در Terraform v0. 15. 4 و بعد از آن در دسترس است.

    علاوه بر حالت های برنامه ریزی متناوب ، گزینه های مختلفی وجود دارد که می تواند رفتار برنامه ریزی را تغییر دهد. این گزینه ها برای هر دو برنامه Terraform و Terraform Apply در دسترس است.

     

    • -REFRESH = FALSE - رفتار پیش فرض همگام سازی حالت Terraform با اشیاء از راه دور را قبل از بررسی تغییرات پیکربندی غیرفعال می کند. این می تواند با کاهش تعداد درخواست های API از راه دور ، عملکرد برنامه ریزی را سریعتر کند. با این حال ، تنظیم تازه کردن = کاذب باعث نادیده گرفتن تغییرات خارجی می شود ، که می تواند منجر به یک برنامه ناقص یا نادرست شود. شما نمی توانید از Refresh = false در حالت برنامه ریزی فقط تازه استفاده کنید زیرا این امر به طور مؤثر کلیت عملکرد برنامه ریزی را غیرفعال می کند.
    • -Replace = آدرس - به Terraform دستور می دهد که برنامه ریزی برای جایگزینی نمونه منابع با آدرس داده شده باشد. این زمانی مفید است که یک یا چند شیء از راه دور تخریب شوند ، و می توانید از اشیاء جایگزینی با همان پیکربندی برای تراز کردن با الگوهای زیرساخت های تغییر ناپذیر استفاده کنید. Terraform در صورتی که منبع مشخص شده به طور معمول باعث یک عمل "به روزرسانی" شود یا اصلاً عملی باشد ، از یک عمل "جایگزین" استفاده می کند. این گزینه را چندین بار درج کنید تا چندین شیء را به طور همزمان جایگزین کنید. شما نمی توانید از گزینه با گزین ه-destroy استفاده کنید ، و فقط از Terraform v0. 15. 2 به بعد در دسترس است. برای نسخه های قبلی ، از Terraform Taint برای رسیدن به نتیجه مشابه استفاده کنید.
    • -Target = آدرس - به Terraform دستور می دهد تا تلاش های برنامه ریزی خود را فقط بر روی نمونه های منابع که مطابق با آدرس داده شده و هر اشیاء است که به آن موارد بستگی دارد ، متمرکز کند.

       

    توجه: فقط در شرایط استثنایی ، مانند بازیابی از اشتباهات یا کار در اطراف محدودیت های Terraform ، ا ز-target = آدرس استفاده کنید. برای جزئیات بیشتر به Resource Targeting مراجعه کنید.

    چند روش دیگر برای تنظیم مقادیر برای متغیرهای ورودی در ماژول ریشه ، جدا از گزینه ها ی-var و-va r-file وجود دارد. برای اطلاعات بیشتر به اختصاص مقادیر به متغیرهای ماژول ریشه مراجعه کنید.

    متغیرهای ورودی در خط فرمان

    برای مشخص کردن مقادیر متغیرهای ورودی اعلام شده در ماژول ریشه خود می توانید از گزینه خط فرما ن-var استفاده کنید.

    با این حال ، برای انجام این کار نیاز به نوشتن یک خط فرمان دارد که هم توسط پوسته فرمان انتخاب شده شما و هم توسط Terraform قابل تجزیه باشد ، که می تواند برای عبارات مربوط به نقل قول های زیادی و توالی فرار پیچیده باشد. در بیشتر موارد ، ما توصیه می کنیم به جای آن از گزین ه-va r-file استفاده کنید و مقادیر واقعی خود را در یک پرونده جداگانه بنویسید تا Terraform بتواند آنها را مستقیماً تجزیه کند ، نه اینکه نتیجه تجزیه پوسته خود را تفسیر کنید.

    هشدار: اگر فضایی قبل یا بعد از علامت برابر داشته باشید (به عنوان مثال ، "طول" = 2 ") Terraform خطا خواهد کرد.

    برای استفاده از VAR در یک پوسته به سبک یونیکس بر روی سیستمی مانند Linux یا MacOS ، توصیه می کنیم آرگومان گزینه را در نقل قول های منفرد بنویسید تا اطمینان حاصل شود که پوسته به معنای واقعی کلمه این مقدار را تفسیر می کند:

    طرح terrafor m-var 'name = مقدار' 
    کپی خبرهای فارکس...
    ما را در سایت خبرهای فارکس دنبال می کنید

    برچسب : نویسنده : شهره لرستانی بازدید : 33 تاريخ : چهارشنبه 15 شهريور 1402 ساعت: 8:21