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

گام 1: لایه‌ای را که هر بررسی می‌بیند نام ببرید

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

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

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

گام 2: هر شکست را به یک اقدام گره بزنید

برای هر بررسی تصمیم بگیرید چه چیزی راه‌اندازی مجدد شود، چه چیزی مسدود بماند و چه چیزی انسان را خبر کند. شکست در لایه تونل می‌تواند راه‌اندازی مجدد تونل را توجیه کند؛ شکست تفکیک‌کننده به یکپارچگی DNS روی مشتری اشاره دارد؛ شکست لایه برنامه تقریباً هرگز نباید به تونل دست بزند.

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

گام 3: کاوشگرها را بی‌ضرر و ارزان نگه دارید

از درخواست‌های کوچک و فقط-خواندنی استفاده کنید: یک منبع ایستا، یک نقطه پایانی سلامت که وابستگی خودش را گزارش می‌دهد، یا یک اتصال TCP به پورتی که کنترل می‌کنید. از اعتبارنامه‌ها، مرور خصوصی و هر چیزی که در هر بازه وضعیت را تغییر می‌دهد بپرهیزید، چون کاوشگری که می‌نویسد یک آزمون بار طبق برنامه است.

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

گام 4: هر لایه را بشکنید و ببینید کاوشگر درست قرمز می‌شود

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

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

گام 5: دفترچه راهنما را جایی بگذارید که هشدار اشاره می‌کند

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

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

دفترچه راهنما وقتی کامل است که لایه درست بازیابی شود بدون آنکه کسی یک وب‌سایت در دسترس نبودن را تونل خراب بخواند. این سند را می‌آزماید، نه تونل را.

مقالات مرتبط