الگوها: هدف قرار دادن میزبان و گروه ها

ساخت وبلاگ

هنگامی که Ansible را از طریق یک دستور ad hoc یا با اجرای یک دفترچه پخش اجرا می کنید ، باید انتخاب کنید که گره ها یا گروه های مدیریت شده ای که می خواهید علیه آنها اجرا کنید. الگوهای به شما امکان می دهد دستورات و کتابهای بازی را در برابر میزبان های خاص و/یا گروه های موجودی خود اجرا کنید. یک الگوی قابل اعتماد می تواند به یک میزبان واحد ، یک آدرس IP ، یک گروه موجودی ، مجموعه ای از گروه ها یا کلیه میزبان موجودی شما مراجعه کند. الگوهای بسیار انعطاف پذیر هستند - می توانید زیر مجموعه های میزبان را حذف کرده یا به آن نیاز داشته باشید ، از کارتهای وحشی یا عبارات منظم و موارد دیگر استفاده کنید. Ansible در تمام میزبان موجودی موجود در این الگوی اجرا می شود.

با استفاده از الگوهای

شما تقریباً در هر زمان که یک دستور ad hoc یا یک کتاب پخش را اجرا می کنید از یک الگوی استفاده می کنید. این الگوی تنها عنصر یک دستور ad hoc است که هیچ پرچمی ندارد. این معمولاً عنصر دوم است:

در یک کتاب پخش ، الگوی محتوای میزبان ها است: خط برای هر نمایشنامه:

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

الگوهای مشترک

در این جدول الگوهای متداول برای هدف قرار دادن میزبان و گروه های موجودی ذکر شده است.

Host1: Host2 (یا Host1 ، Host2)

همه میزبان در WebServers به علاوه همه میزبان ها در DBServers

همه میزبان ها در وب سایت ها به جز آنهایی که در آتلانتا هستند

تقاطع گروهها

هر میزبان در وب ساحلی که در حال نمایش هستند

برای جدا کردن لیستی از میزبان می توانید از کاما (،) یا روده بزرگ استفاده کنید. کاما هنگام برخورد با آدرس های دامنه و IPv6 ترجیح داده می شود.

هنگامی که الگوهای اساسی را بدانید ، می توانید آنها را با هم ترکیب کنید. این مثال:

تمام ماشین های موجود در گروه ها "WebServers" و "DBServers" را که در گروه "مرحله بندی" نیز قرار دارند ، هدف قرار می دهد ، به جز هر دستگاه در گروه "ققنوس".

شما می توانید از الگوهای Wildcard با آدرس FQDN یا IP استفاده کنید ، تا زمانی که میزبان ها توسط FQDN یا آدرس IP در موجودی شما نامگذاری شوند:

شما می توانید همزمان الگوهای و گروه های کارت وحشی را مخلوط کنید:

محدودیت الگوهای

الگوهای به موجودی بستگی دارد. اگر یک میزبان یا گروه در موجودی شما ذکر نشده است ، نمی توانید از الگویی برای هدف قرار دادن آن استفاده کنید. اگر الگوی شما شامل یک آدرس IP یا نام میزبان است که در موجودی شما ظاهر نمی شود ، خطایی مانند این را مشاهده خواهید کرد:

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

شما باید در الگوی خود از نام مستعار استفاده کنید. در مثال بالا ، باید از Host1 در الگوی خود استفاده کنید. اگر از آدرس IP استفاده کنید ، یک بار دیگر خطا را دریافت خواهید کرد:

سفارش پردازش الگوی uf0c1

پردازش کمی خاص است و به ترتیب زیر اتفاق می افتد:

این موقعیت یابی فقط برای پردازش در هر عملیات حساب می کند: A: B: & C :! D :! E == & C: A :! D: B:! E ==! D: A :! E: & C: B

همه این موارد در موارد زیر نتیجه می گیرد:

میزبان در/IS (A یا B) و میزبان در/همه (C) و میزبان در همه (D ، E) نیست.

اکنون A: B:! E:! D: & C یک تغییر جزئی است زیرا قبل از! D پردازش می شود ، اگرچه این تفاوت زیادی ایجاد نمی کند:

میزبان در/IS (A یا B) و میزبان در/همه (C) و میزبان در همه (E ، D) نیست.

گزینه های الگوی پیشرفته uf0c1

الگوهای متداول که در بالا توضیح داده شد ، بیشتر نیازهای شما را برآورده می کند ، اما Ansible چندین روش دیگر برای تعریف میزبان و گروه هایی که می خواهید هدف قرار دهید ارائه می دهد.

استفاده از متغیرها در الگوهای

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

استفاده از موقعیت گروهی در الگوهای

شما می توانید با توجه به موقعیت آن در یک گروه ، میزبان یا زیر مجموعه ای از میزبان ها را تعریف کنید. به عنوان مثال ، با توجه به گروه زیر:

برای انتخاب میزبان ها یا محدوده های فردی در گروه WebServers می توانید از اشتراک ها استفاده کنید:

با استفاده از regexes در الگوهای

با شروع الگوی می توانید یک الگوی را به عنوان یک عبارت منظم مشخص کنید~ :

الگوها و دستورات ad-hoc

شما می توانید با استفاده از گزینه های خط فرمان ، رفتار الگوهای تعریف شده در دستورات ad-hoc را تغییر دهید. همچنین می توانید میزبان های مورد نظر خود را در یک اجرای خاص با پرچ م-محدود محدود کنید.

محدود به یک میزبان

محدود به چندین میزبان

حد نفیتوجه داشته باشید که برای جلوگیری از درون یابی Bash باید از نقل قول های منفرد استفاده شود.

محدود به گروه میزبان

الگوهای و پرچم های کتاب بازی قابل قبول

شما می توانید با استفاده از گزینه های خط فرمان ، رفتار الگوهای تعریف شده در کتابهای پخش را تغییر دهید. به عنوان مثال ، می توانید یک کتاب پخش را اجرا کنید که میزبان ها را تعریف می کند: همه در یک میزبان واحد با مشخص کرد ن-I 127. 0. 0. 2 ، (توجه داشته باشید کاما دنباله دار). این کار حتی اگر میزبان مورد نظر شما در موجودی شما تعریف نشده باشد ، اما این روش موجودی شما را برای متغیرهای گره خورده به این میزبان نمی خواند و هر متغیر مورد نیاز توسط دفترچه بازی باید به صورت دستی در خط فرمان مشخص شود. همچنین می توانید میزبان های مورد نظر خود را در یک اجرای خاص با پرچ م-محدود ، که به موجودی شما اشاره می کند ، محدود کنید:

در آخر ، می توانید از Limit برای خواندن لیست میزبان ها از یک پرونده با پیشوند نام پرونده با @ استفاده کنید:

اگر retry_files_enabled روی True تنظیم شده باشد ، یک پرونده. retry پس از اجرای کتاب بازی Ansible-Play که حاوی لیستی از میزبان های شکست خورده از همه نمایشنامه ها است ، ایجاد می شود. این پرونده هر بار که کتاب بازی Ansible-Play-Playing تمام می شود رونویسی می شود.

برای به کار بردن دانش خود در مورد الگوهای با دستورات Ansible و کتاب های پخش ، مقدمه ای را برای دستورات موقت و کتابهای بازی قابل خواندن بخوانید.

استراتژی ترید...
ما را در سایت استراتژی ترید دنبال می کنید

برچسب : نویسنده : مرجان شیرمحمدی بازدید : 37 تاريخ : چهارشنبه 31 خرداد 1402 ساعت: 21:14