۱. اهداف
در این آزمایشگاه شما:
- افزونههای کد ابری را بررسی کنید
- استقرار در خوشه Kubernetes
- جریان لاگهای کوبرنتیز
- از بارگذاری مجدد سریع تغییرات استفاده کنید
- اشکالزدایی برنامههای Kubernetes به صورت زنده
۲. آمادهسازی فضای کاری
کلون کردن برنامه
برای کلون کردن مخزن و باز کردن آن در محیط توسعه خود:
- با مراجعه به آدرس زیر، ویرایشگر Cloud Shell را باز کنید.
https://ide.cloud.google.com
- در پنجره ترمینال، منبع برنامه را با دستور زیر کلون کنید:
git clone https://github.com/viglesiasce/sample-app.git -b golden-path
- به دایرکتوری بروید و فضای کاری IDE را روی ریشه مخزن تنظیم کنید.
cd sample-app && cloudshell workspace .
شروع مینیکوبه
در این بخش، شما با استفاده از یک نسخه محلی از kubernetes به نام Minikube، برنامه خود را میسازید، آزمایش میکنید، مستقر میکنید و به آن دسترسی پیدا میکنید.
- در ترمینال، minikube را با اجرای دستور زیر شروع کنید:
minikube start
Minikube یک کلاستر محلی Kubernetes را در Cloud Shell شما راهاندازی میکند، این راهاندازی چند دقیقه طول میکشد. در حین شروع، لحظهای را برای بررسی رابطهای مختلف ارائه شده توسط Cloud Code در مرحله بعدی اختصاص دهید.
۳. بررسی افزونه کد ابری
Cloud Code پشتیبانی IDE را برای چرخه کامل توسعه برنامههای Kubernetes و Cloud Run، از ایجاد یک برنامه از یک الگوی موجود گرفته تا نظارت بر منابع برنامه مستقر شده شما، ارائه میدهد. شما از دستورات و نماهای مختلف ارائه شده توسط Cloud Code استفاده خواهید کرد. در این مرحله با رابطهای اولیه آشنا خواهید شد.
مرور نماهای اکسپلورر از نوار فعالیت
چندین پنل رابط کاربری از طریق نوار فعالیت قابل دسترسی هستند. برای آشنایی مختصر با نماهای مختلف، روی آیکونهای هر نما کلیک کنید.
کاوشگر API:
- روی نماد Cloud Code - Cloud APIs  از نوار فعالیت کلیک کنید. جزئیات بیشتر برای کار در این نما در مستندات موجود است.

مدیر مخفی اکسپلورر:
- روی نمای مدیر مخفی  در نوار فعالیت کلیک کنید. جزئیات بیشتر برای کار در این نما در مستندات موجود است.

کاوشگر اجرای ابری:
- با استفاده از آیکون Cloud Run در نوار فعالیت در سمت چپ، به Cloud Run Explorer بروید. جزئیات بیشتر برای کار در این نما در مستندات موجود است.

کاوشگر کوبرنتیز:
- با استفاده از آیکون موجود در نوار فعالیت در سمت چپ  به Kubernetes Explorer بروید. جزئیات بیشتر برای کار در این نما در مستندات موجود است.

مرور دستورات نوار وضعیت
دستورات پرکاربرد را میتوان به سرعت از طریق نشانگر موجود در نوار وضعیت مشاهده کرد.
- نشانگر افزونه Cloud Code را در نوار وضعیت پیدا کنید.
 و روی آن کلیک کنید. - مرور دستورات مختلف موجود برای اجرا و اشکالزدایی در CloudRun و Kubernetes
- برای جزئیات بیشتر و نمونه فعالیتها، روی «باز کردن صفحه خوشآمدگویی» کلیک کنید.
مرور پالت دستورات
دستورات اضافی از طریق پالت دستورات در دسترس هستند. لیست دستوراتی را که میتوانید به آنها دسترسی داشته باشید، مرور کنید.
- پالت فرمان (Command Palette) را باز کنید (کلیدهای Ctrl/Cmd+Shift+P را فشار دهید) و سپس عبارت Cloud Code را تایپ کنید تا دستورات موجود فیلتر شوند.
- از کلیدهای جهتنما برای جابجایی در لیست دستورات استفاده کنید.
۴. استقرار در کلاستر Kubernetes
در این بخش، شما برنامه خود را میسازید، آزمایش میکنید، مستقر میکنید و به آن دسترسی پیدا میکنید.
مراحل زیر، ساخت کد منبع را آغاز کرده و سپس تستها را اجرا میکنند. ساخت و اجرای تستها چند دقیقه طول میکشد. این تستها شامل تستهای واحد و یک مرحله اعتبارسنجی هستند که قوانینی را که برای محیط استقرار تعیین شدهاند، بررسی میکند. این مرحله اعتبارسنجی از قبل پیکربندی شده است و تضمین میکند که حتی در حالی که هنوز در محیط توسعه خود کار میکنید، در مورد مشکلات استقرار هشدار دریافت کنید.
- در پنل پایین ویرایشگر Cloud Shell، گزینه Cloud Code  را انتخاب کنید.
. - در پنلی که در بالا ظاهر میشود، گزینه Run on Kubernetes را انتخاب کنید. در صورت درخواست، برای استفاده از زمینه Kubernetes در minikube، گزینه Yes را انتخاب کنید.
- برگه خروجی را در پنل پایین انتخاب کنید
برای مشاهده پیشرفت و اعلانها - در منوی کشویی سمت راست، گزینه "Kubernetes: Run/Debug - Detailed" را انتخاب کنید.
برای مشاهده جزئیات بیشتر و گزارشهای زنده از کانتینرها
وقتی ساخت و آزمایشها انجام شد، در برگه خروجی عبارت زیر نمایش داده میشود: Resource deployment/sample-app-dev status completed successfully و دو آدرس اینترنتی (URL) فهرست شدهاند.
- در ترمینال Cloud Code، نشانگر ماوس را روی اولین URL در خروجی (http://localhost:8080) نگه دارید و سپس در ابزار نمایش داده شده، گزینه Open Web Preview را انتخاب کنید.
نسخه محلی برنامه در مرورگر شما باز میشود. این نسخه از برنامه در کلاستر Kubernetes مربوط به minikube اجرا میشود.
- در مرورگر خود، صفحه را رفرش کنید. عدد کنار شمارنده افزایش مییابد که نشان میدهد برنامه به رفرش شما پاسخ میدهد.
در مرورگر خود، این صفحه را باز نگه دارید تا بتوانید برنامه را همزمان با ایجاد هرگونه تغییر در محیط محلی خود مشاهده کنید.
۵. از بارگذاری مجدد سریع تغییرات استفاده کنید
در این بخش، شما تغییری در برنامه ایجاد میکنید و تغییر را همزمان با اجرای برنامه در خوشه محلی Kubernetes مشاهده میکنید. در تب خروجی برای کانال Kubernetes: Run/Debug، علاوه بر آدرسهای اینترنتی برنامه، خروجی عبارت Watching for changes. این بدان معناست که حالت نظارت فعال است. در حالی که Cloud Code در حالت نظارت است، Cloud Code هرگونه تغییر ذخیره شده در مخزن شما را تشخیص میدهد و به طور خودکار برنامه را با آخرین تغییرات بازسازی و مجدداً مستقر میکند.
- در ویرایشگر Cloud Shell، به فایل main.go بروید.
- در این فایل main.go، در خط ۲۳، رنگ را از سبز به آبی تغییر دهید.
- فایل را ذخیره کنید.
Cloud Code تشخیص میدهد که تغییر در برنامه ذخیره شده است و تغییر را به طور خودکار دوباره اعمال میکند. در برگه خروجی، عبارت «بهروزرسانی آغاز شد» نمایش داده میشود. اجرای این دوبارهسازی چند دقیقه طول میکشد.
این بازسازی خودکار شبیه بارگذاری مجدد کد در حین کار است که ویژگیای است که برای برخی از انواع برنامهها و چارچوبها در دسترس است.
- وقتی ساخت تمام شد، به مرورگری که برنامه را در آن باز کردهاید بروید و صفحه را رفرش کنید.
وقتی صفحه را رفرش میکنید، رنگ بالای جدول از آبی به سبز تغییر میکند.
این تنظیمات، بارگذاری خودکار را برای هر معماری و با هر کامپوننتی در اختیار شما قرار میدهد. هنگام استفاده از Cloud Code و minikube، هر چیزی که در Kubernetes در حال اجرا باشد، این قابلیت بارگذاری مجدد کد در حین اجرا را دارد.
۶. اشکالزدایی برنامههای Kubernetes زنده
شما برنامه را اجرا کردهاید، تغییری ایجاد کردهاید و برنامه در حال اجرا را مشاهده کردهاید. در این بخش، برنامه را اشکالزدایی میکنید تا مطمئن شوید که آماده بازگشت به مخزن اصلی است.
برای این مثال اشکالزدایی، ما روی بخش مربوط به شمارنده صفحه از کد تمرکز خواهیم کرد.
- در ویرایشگر Cloud Shell، فایل main.go را باز کنید.
- با کلیک کردن روی عدد سمت چپ خط ۸۲، یک نقطه توقف در برنامه تعیین کنید (اگر err != nil {)
- در پنل آبی رنگ پایین ویرایشگر Cloud Shell، گزینه Cloud Code را انتخاب کنید.
. - در پنلی که در بالا ظاهر میشود، گزینه Debug on Kubernetes را انتخاب کنید.
Cloud Code اجرا میشود و اشکالزداها را ضمیمه میکند تا بتوانید به وضعیت درون حافظهای برنامه دسترسی داشته باشید، نه فقط رفتار کاربرپسند برنامه.
- در پایان فرآیند استقرار، پیامی در بالای پنجره شما ظاهر میشود که از شما میخواهد دایرکتوری موجود در کانتینری که برنامه در آن مستقر شده است را تأیید کنید.

تأیید کنید که مقدار روی /go/src/app تنظیم شده است و برای پذیرش مقدار، کلید enter را بزنید.
- منتظر بمانید تا دیباگر نصب را تمام کند. وقتی نوار وضعیت نارنجی شود و خروجی عبارت
"Attached debugger to container "sample-app-dev-..." successfully" را گزارش دهد، متوجه خواهید شد که نصب کامل شده است. - در ترمینال Cloud Code، نشانگر ماوس را روی اولین URL در خروجی (http://localhost:8081) نگه دارید و سپس در راهنمای ابزار ظاهر شده، گزینه Open Web Preview را انتخاب کنید. همانطور که انتظار میرود، بارگذاری صفحه به پایان نمیرسد.
- به IDE برگردید، جایی که دیباگر اکنون ظاهر میشود. کد در تب ظاهر میشود و شما پشته فراخوانی و متغیرهای موجود در آن بخش از کد را خواهید دید. میتوانید متغیرها - محلی را باز کنید تا مقدار متغیر شمارنده فعلی را ببینید.
- برای ادامه بارگذاری صفحه، نماد «ادامه» را در پنجره اشکالزدایی انتخاب کنید

- وقتی اشکالزدایی تمام شد، روی دکمهی توقف کلیک کنید تا هر یک از رشتههای در حال اجرا خاتمه یابد.
