در حال توسعه با Cloud Shell & کد ابری

۱. مرور کلی

Cloud Shell یک محیط توسعه و عملیات آنلاین است که از هر مکانی با مرورگر شما قابل دسترسی است. می‌توانید منابع خود را با ترمینال آنلاین آن که از قبل با ابزارهایی مانند ابزار خط فرمان gcloud، kubectl و موارد دیگر بارگذاری شده است، مدیریت کنید. همچنین می‌توانید برنامه‌های مبتنی بر ابر خود را با استفاده از ویرایشگر آنلاین Cloud Shell توسعه، ساخت، اشکال‌زدایی و مستقر کنید.

در این آزمایشگاه، شما با Cloud Shell و Cloud Shell Editor کار خواهید کرد و برنامه‌های مبتنی بر کانتینر را با استفاده از Cloud Code روی شبیه‌سازهای محلی و سرویس‌های واقعی ایجاد، مستقر و آزمایش خواهید کرد.

آنچه یاد خواهید گرفت

  • پیمایش کنید و با ویژگی‌های اصلی Cloud Shell آشنا شوید
  • با الگوهای مختلف استفاده از Cloud Shell تمرین کنید
  • محیط Cloud Shell خود را برای استفاده پیشرفته سفارشی کنید
  • با گزینه‌ها و ویژگی‌های Cloud Code آشنا شوید
  • آشنایی با جزئیات Cloud Code برای برنامه‌های Kubernetes
  • از شبیه‌سازهای محلی مانند Minikube استفاده کنید

پیش‌نیازها

  • شما به یک پروژه GCP با مجوزهای ویرایشگر، یک حساب GCP و دسترسی به Cloud Shell نیاز خواهید داشت.
  • برای قطعات اختیاری، به یک شبیه‌ساز ترمینال و نصب Google Cloud SDK نیاز دارید.

۲. تنظیمات و الزامات

تنظیم محیط خودتنظیم

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

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • نام پروژه ، نام نمایشی برای شرکت‌کنندگان این پروژه است. این یک رشته کاراکتری است که توسط APIهای گوگل استفاده نمی‌شود. می‌توانید آن را در هر زمانی به‌روزرسانی کنید.
  • شناسه پروژه در تمام پروژه‌های گوگل کلود منحصر به فرد است و تغییرناپذیر است (پس از تنظیم، قابل تغییر نیست). کنسول کلود به طور خودکار یک رشته منحصر به فرد تولید می‌کند؛ معمولاً برای شما مهم نیست که چیست. در اکثر آزمایشگاه‌های کد، باید به شناسه پروژه ارجاع دهید (که معمولاً با عنوان PROJECT_ID شناخته می‌شود). اگر شناسه تولید شده را دوست ندارید، می‌توانید یک شناسه تصادفی دیگر ایجاد کنید. به عنوان یک جایگزین، می‌توانید شناسه خودتان را امتحان کنید و ببینید که آیا در دسترس است یا خیر. پس از این مرحله قابل تغییر نیست و در طول پروژه باقی خواهد ماند.
  • برای اطلاع شما، یک مقدار سوم هم وجود دارد، شماره پروژه که برخی از APIها از آن استفاده می‌کنند. برای کسب اطلاعات بیشتر در مورد هر سه این مقادیر، به مستندات مراجعه کنید.
  1. در مرحله بعد، برای استفاده از منابع/API های ابری، باید پرداخت صورتحساب را در کنسول ابری فعال کنید . اجرای این آزمایشگاه کد، اگر اصلاً هزینه‌ای نداشته باشد، هزینه زیادی نخواهد داشت. برای خاموش کردن منابع به طوری که پس از این آموزش متحمل پرداخت صورتحساب نشوید، می‌توانید منابعی را که ایجاد کرده‌اید یا کل پروژه را حذف کنید. کاربران جدید Google Cloud واجد شرایط برنامه آزمایشی رایگان ۳۰۰ دلاری هستند.

۳. کار با ترمینال کلود شل

در این بخش، شما با ترمینال Cloud Shell، نحوه پیمایش رابط کاربری، استفاده از ویژگی‌ها و بررسی گزینه‌های پیکربندی و روش‌های مختلف استفاده از آن برای کمک به افزایش بهره‌وری خود آشنا خواهید شد.

Cloud Shell دو ابزار اصلی دارد، Cloud Shell Terminal و Cloud Shell Editor . در این آزمایش، اصطلاحات Cloud Shell Terminal و Cloud Shell به جای یکدیگر استفاده خواهند شد، با این حال، ویرایشگر همیشه به عنوان Cloud Shell Editor نامیده می‌شود تا تمایز روشنی بین شبیه‌ساز ترمینال و IDE ایجاد شود.

Cloud Shell یک Shell کاملاً کاربردی مبتنی بر ابر است که بر روی یک ماشین لینوکس مبتنی بر دبیان و موقت Google Compute Engine ساخته شده است و همیشه برای استفاده شما در دسترس است. این پوسته با Google Cloud SDK نصب شده و چندین ابزار مرتبط مانند git ، kubectl ، kubectx ، curl ، python3 ، tmux ... ارائه می‌شود.

دایرکتوری $HOME شما توسط Google Cloud در Cloud Storage ذخیره می‌شود و هر بار که دستگاه Cloud Shell شروع به کار می‌کند، به طور خودکار mount می‌شود، بنابراین حتی اگر دستگاه Cloud Shell خاموش شود، هیچ اطلاعاتی را که در زیر آن قرار می‌دهید از دست نخواهید داد. این بدان معناست که اگر دوباره Cloud Shell را فعال کنید، دایرکتوری $HOME شما و هرگونه سفارشی‌سازی که ممکن است روی آن انجام داده باشید، برای استفاده شما وجود خواهد داشت.

راه‌اندازی پوسته ابری

  1. به console.cloud.google.com بروید و اگر قبلاً در کنسول GCP وارد نشده‌اید، اطلاعات کاربری گوگل خود را وارد کنید. رابط کاربری اصلی کنسول پلتفرم ابری گوگل به شما نمایش داده خواهد شد.
  2. شناسه پروژه GCP که با آن کار خواهید کرد را در انتخابگر نوار منوی Cloud Console انتخاب کنید:

a78258af94ed9ec3.png

  1. دکمه فعال کردن Cloud Shell را در سمت راست نوار منو، کنار آواتار حساب خود پیدا کنید:

5b4246f45b173ff4.png

  1. روی آیکون Cloud Shell کلیک کنید تا ترمینال Cloud Shell باز شود و یک پنجره جدید درست زیر رابط کاربری کنسول GCP ظاهر شود:

8495f27a3ed0f05.png

در این پنجره، چیزی به نام ترمینال Cloud Shell را دارید.

  1. به ترمینال Cloud Shell بروید و توجه داشته باشید که از آنجایی که شناسه پروژه GCP مناسب را از کنسول GCP انتخاب کرده‌اید، Cloud Shell از آن مطلع است، بنابراین لازم نیست دوباره آن را مشخص کنید:
echo $GOOGLE_CLOUD_PROJECT

این کار شناسه پروژه GCP شما را نمایش می‌دهد که در اعلان Cloud Shell نیز نشان داده می‌شود.

جابجایی بین ابزارها

Cloud Shell ابزارها و گزینه‌های پیکربندی متعددی را در اختیار شما قرار می‌دهد. آن‌ها را از طریق گزینه‌های موجود در منوی Cloud Shell بررسی کنید:

595834af08265e5c.png

  1. روی دکمه کلیک کنید 67bd0e39332a8438.png در نواری که به شما امکان می‌دهد Cloud Shell Terminal را به حداکثر برسانید و تمام فضای تب مرورگر خود را اشغال کنید:

۱۱۹۷e۳e۹a۳۶bc۷aa.png

  1. Cloud Shell فضای تب مرورگر را به حداکثر می‌رساند و تمام فضای آن را اشغال می‌کند:

ecb227a1d39b8021.png

  1. دوباره روی آن کلیک کنید. فضای تب مرورگر به حالت اشتراکی بین Cloud Console و Cloud Shell برمی‌گردد.

باز کردن تب‌های جدید

ترمینال Cloud Shell به شما امکان می‌دهد هر تعداد تب که نیاز دارید را باز کنید.

  1. روی دکمه‌ی زیر کلیک کنید و یک تب جدید باز کنید.

e5757f88b64c7f5.png

  1. اکنون با کلیک روی علامت ضربدر کنار نام تب یا تایپ کردن exit در پوسته مربوطه، تب جدید را ببندید:

۸۸۲۸۲۳۸e۰۴a۱۴a۲۰.png

باز کردن یک پنجره جدید

باز کردن Cloud Shell در یک پنجره مرورگر جدید به شما این امکان را می‌دهد که Cloud Console را در یک پنجره و Cloud Shell را در پنجره دیگری داشته باشید.

  1. روی دکمه‌ی زیر کلیک کنید و مشاهده کنید که چگونه Cloud Shell در یک تب جدید مرورگر باز می‌شود:

bd407e51ae78d9fe.png

  1. توجه داشته باشید که Cloud Shell اکنون همان گزینه‌های نوار ابزار را ارائه می‌دهد، اما با ظاهری کمی متفاوت:

4bce4507ce34a695.png

  1. در طول بخش‌های بعدی در این برگه مرورگر جدید بمانید.

انتقال جلسات با Tmux

Cloud Shell به همراه tmux ارائه می‌شود. Tmux یک مالتی‌پلکسر ترمینال بسیار محبوب، شبیه به GNU Screen است. ادغام با tmux به Cloud Shell این امکان را می‌دهد که جلسه شما را صرف نظر از مکانی که هستید، حفظ کند.

در مراحل بعدی، شما با این مفهوم تمرین خواهید کرد تا این ویژگی را بهتر درک کنید.

جابجایی ترمینال Cloud Shell

  1. در تب Cloud Shell که باز کردید، دستور top را تایپ کنید:

bdd80a3fdcc6c7db.png

دستور top یک نمای لحظه‌ای از فرآیندهای در حال اجرا در ترمینال Cloud Shell شما ارائه می‌دهد. شما از آن برای تجسم ماندگاری جلسه در Cloud Shell ارائه شده توسط tmux استفاده خواهید کرد.

  1. به اولین تب در مرورگر خود (همان تبی که کنسول ابری در آن قرار دارد) برگردید.
  2. توجه داشته باشید که چون قبلاً تصمیم گرفته‌اید Cloud Shell را در یک پنجره جدید باز کنید، پیامی با این مضمون نمایش داده می‌شود: « Your session was transferred to another browser tab. You can disable this from the "Tmux Settings" option in the Cloud Shell settings menu. »
  3. روی دکمه اتصال مجدد کلیک کنید:

bdc5d5773296bcfe.png

سپس به پوسته‌ای که در تب دوم در حال اجرا بود دسترسی خواهید داشت و top درست همانطور که آن را ترک کردید، در اینجا نیز به اجرای خود ادامه می‌دهد.

  1. به برگه دوم مرورگر خود بروید، جایی که Cloud Shell را در یک پنجره جدید باز کردید،
  2. روی اتصال مجدد کلیک کنید. فرآیند بالا درست همانطور که قبل از بستن پنجره در حال اجرا بود، بازیابی خواهد شد.

تقسیم‌بندی پنجره‌ها با Tmux

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

با این حال، tmux به Cloud Shell برخی ویژگی‌های اضافی می‌دهد که در شبیه‌سازهای ترمینال محلی امکان‌پذیر است. برای نشان دادن یکی از آنها، شما یک تقسیم ترمینال پهلو به پهلو انجام خواهید داد.

  1. درون پوسته ابری، Ctrl + b و سپس % را فشار دهید.
  2. مشاهده کنید که چگونه tmux یک صفحه جدید درست در کنار صفحه اصلی ایجاد می‌کند:

717b047d71c8eeef.png

  1. روی پنل دوم کلیک کنید و exit را تایپ کنید.

استفاده از پیش‌نمایش وب

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

  1. عبارت Cloud Shell را تایپ کنید:
python3 -m http.server 8080
  1. به گزینه پیش‌نمایش وب در گوشه بالا سمت راست بروید و پیش‌نمایش روی پورت ۸۰۸۰ را انتخاب کنید:

a8363cafca79345.png

یک برگه جدید با صفحه پیش‌فرضی که در آن پورت ارائه می‌شود، باز خواهد شد.

توجه داشته باشید که می‌توانید پورت را تغییر دهید و پیش‌نمایشی از هر پورتی که برنامه شما در Cloud Shell نمایش می‌دهد، نه فقط پورت 8080 تهیه کنید.

دسترسی به گزینه‌های اضافی Cloud Shell

تنظیمات و گزینه‌های اضافی در Cloud Shell موجود است.

  1. برای دسترسی به گزینه‌ها، روی سه نقطه در منوی Cloud Shell کلیک کنید:

a5c515c9df9284be.png

مرتبط‌ترین گزینه‌ها در اینجا امکان آپلود یا دانلود فایل‌ها در Cloud Shell و راه‌اندازی مجدد دستگاه Cloud Shell در صورت بروز هرگونه مشکل است.

۴. کار با ویرایشگر Cloud Shell

یکی از مهم‌ترین ویژگی‌های Cloud Shell، ویرایشگر Cloud Shell است. این یک IDE کامل مبتنی بر پروژه متن‌باز Eclipse Theia است که توسط گوگل و دیگران توسعه داده شده است. ظاهر و حس آن بسیار شبیه به VSCode است زیرا هر دو از چندین مؤلفه پایه متن‌باز مشترک مانند ویرایشگر Monaco، مدل Extension، پروتکل سرور زبان و پروتکل آداپتور اشکال‌زدایی استفاده می‌کنند.

از آنجایی که ویرایشگر پوسته Theia/Cloud ابزاری نسبتاً پیچیده است، توصیف تمام ویژگی‌های ویرایشگر پوسته Cloud خارج از محدوده این آزمایشگاه است. در این بخش، برخی از مفاهیم اصلی و ویژگی‌های منحصر به فرد موجود در این پیاده‌سازی Google Cloud را بررسی خواهید کرد.

دسترسی به ویرایشگر Cloud Shell

ویرایشگر Cloud Shell از سه طریق مختلف قابل دسترسی است:

  • دسترسی از خط فرمان
  • دسترسی از طریق منوی Cloud Shell
  • بازدید از یک URL در مرورگر شما

این روش‌ها را از طریق مراحل زیر تجربه کنید

  1. فایل ‎.bashrc‎ را از خط فرمان با دستور زیر باز کنید:
cloudshell edit $HOME/.bashrc
  1. با کلیک روی Open Editor، از منو، Cloud Shell را باز کنید . 6039dbc755bfca9f.png دکمه: f493b9a98771b0af.png این کار ویرایشگر Cloud Shell را باز می‌کند و در عین حال ترمینال Cloud Shell را باز نگه می‌دارد. اگر می‌خواهید تمام فضای تب را فقط برای ویرایشگر Cloud Shell داشته باشید، روی دکمه سمت راست دکمه ویرایش کلیک کنید تا ترمینال بسته شود. این دو دکمه (باز کردن/بستن ویرایشگر و باز کردن/بستن ترمینال) تعیین می‌کنند که کدام یک از ابزارها در تب مرورگر وجود داشته باشد. برای کسب مهارت در این کار، کلیک کردن روی هر دو را تمرین کنید.
  2. با تایپ کردن ide.cloud.google.com ، ویرایشگر Cloud Shell را از نوار آدرس مرورگر فراخوانی کنید .

استفاده از خط فرمان از ویرایشگر Cloud Shell

اگرچه شما ترمینال Cloud Shell و ویرایشگر Cloud Shell را در یک تب مرورگر دارید، می‌توانید از ترمینال Cloud Shell صرف نظر کنید و منحصراً از ویرایشگر Cloud Shell و ترمینال موجود در داخل ویرایشگر Cloud Shell برای تمام نیازهای خود استفاده کنید. این ممکن است منطقی باشد اگر به زندگی در داخل IDE عادت دارید و میانبرها و پویایی‌های مختلف پنجره را از VSCode می‌دانید.

ویرایشگر Cloud Shell را با استفاده از هر یک از روش‌های ذکر شده در بالا باز کنید. سپس، به منوی Editor بروید و Terminal > New Terminal را انتخاب کنید (یا کلیدهای Ctrl + `` را از صفحه کلید خود فشار دهید). یک پنجره ترمینال جدید در قسمت پایین ویرایشگر Cloud Shell باز می‌شود که می‌توانید برای تمام نیازهای پوسته خود از آن استفاده کنید:

8b2c36f71e851c40.png

این همچنین به شما امکان می‌دهد تا پنل‌های ترمینال مختلف را بدون نیاز به استفاده از مدیریت پنل tmux، همانطور که در مورد ترمینال Cloud Shell وجود داشت، مدیریت کنید.

سفارشی‌سازی تنظیمات Cloud Shell

Cloud Shell گزینه‌های سفارشی‌سازی متعددی را ارائه می‌دهد، از ظاهر و عملکرد اولیه گرفته تا پیکربندی راه‌اندازی ترمینال Cloud Shell و عملکرد دقیق. در بخش‌های بعدی، گزینه‌های مختلف را با جزئیات بیشتری بررسی خواهید کرد.

به منوی Cloud Shell Terminal بروید و روی آیکون چرخ‌دنده کلیک کنید. چندین گزینه پیکربندی ظاهر خواهد شد:

a473c985a434070b.png

برخی از آنها را مرور کنید:

  • تم‌های رنگی : می‌توانید از رنگ‌های روشن، تیره یا مجموعه‌ای از رنگ‌های سفارشی (رنگ پایه، مانند رنگ فونت و رنگ پس‌زمینه) استفاده کنید.
  • اندازه متن : ۵ اندازه فونت مختلف برای انتخاب
  • فونت : پیک جدید یا مونواسپیس
  • تنظیمات کپی : در اینجا می‌توانید میانبر صفحه‌کلید کپی را تغییر دهید تا شبیه میانبرهای مورد استفاده در اکثر شبیه‌سازهای ترمینال لینوکس باشد.
  • صفحه کلید : نگاشت کلید متا به Alt (به طور پیش‌فرض، متا ESC است) و نگاشت کلید Alt Gr در برخی از سیستم عامل‌ها.

پیکربندی محیط Shell

به عنوان یک شبیه‌ساز ترمینال که یک پوسته را در یک دستگاه لینوکس مبتنی بر دبیان اجرا می‌کند، می‌توانید محیط پوسته خود را به همان روشی که در لینوکس انجام می‌دهید، سفارشی کنید. به این ترتیب، هر فایل پیکربندی موجود در $HOME (مانند .bashrc) هر بار که یک فرآیند پوسته ورود جدید ایجاد می‌شود، منبع‌یابی می‌شود.

Cloud Shell همچنین به شما این امکان را می‌دهد که در یک فایل پیکربندی ویژه به نام .customize_environment ، مشخص کنید که هر بار که نمونه Cloud Shell شروع می‌شود، می‌خواهید چه اقداماتی انجام شود. می‌توانید اطلاعات بیشتر در مورد این موضوع را در مستندات Environment Customization مطالعه کنید.

برای تمرین، کمی پیکربندی به ترمینال Cloud Shell اضافه کنید. به ترمینال Cloud Shell بروید و مخزن کد نمونه زیر را کپی کنید:

git clone https://gitlab.com/javiercanadillas/cloud-code-getting-started.git

این مخزن شامل نمونه‌هایی برای دو رویداد اصلی است که ممکن است بخواهید Cloud Shell خود را در آنها پیکربندی کنید:

  • هر زمان که نمونه Cloud Shell شروع به کار کند: فایل $HOME/.customize_environment خوانده خواهد شد. گزارش اجرای این فرآیند را می‌توان در /var/log/customize_environment یافت و پس از اجرای موفقیت‌آمیز، یک /google/devshell/customize_environment_done ایجاد می‌شود.
  • هر زمان که یک فرآیند پوسته جدید شروع شود (پنجره جدید، برگه جدید...)؛ فایل‌های پیکربندی پوسته bash معمولی خوانده می‌شوند.

با دنبال کردن این مراحل، هر دو را تمرین کنید:

  1. دستور زیر را برای راه‌اندازی سفارشی‌سازی‌های ارائه شده توسط مخزن اجرا کنید:
cd cloud-code-getting-started
source set_env_cust.sh

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

  1. به اعلان جدید پوسته توجه کنید. یک اسکریپت bash که در فایل .bash_profile منبع‌گذاری شده است، این اعلان جدید را پیکربندی کرده است که کوتاه‌تر از اعلان پیش‌فرض است و شامل اطلاعات اولیه گیت مانند شاخه بررسی‌شده یا وضعیت گیت است.
  2. اکنون یک نام مستعار code جدید برای دستور cloudshell edit وجود دارد که کوتاه‌تر است. از آن برای دیدن محتویات فایل .bash_profile استفاده کنید:
code $HOME/.bash_profile
  1. برای مشاهده‌ی محتوای فایل .customize_environment از دستور bat که به تازگی نصب شده است استفاده کنید:
bat $HOME/.customize_environment

bat نسخه بهبود یافته ابزار محبوب یونیکس cat است. خروجی bat در اینجا دستور apt install را نشان می‌دهد که برای نصب مجدد hey ، یک ابزار تست بار، هر بار که یک ماشین Cloud Shell جدید راه‌اندازی می‌شود، استفاده می‌شود.

  1. با کلیک روی منوی Cloud Shell (سه نقطه در گوشه بالا سمت راست) و انتخاب Restart ، بررسی کنید که همه چیز درست کار می‌کند.

این به شما امکان می‌دهد تا زمان انقضای Cloud Shell و بازسازی نمونه را شبیه‌سازی کنید و مطمئن شوید که همه چیز به درستی پیکربندی شده است.

سفارشی‌سازی تصویر کانتینر Cloud Shell

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

به جای سفارشی‌سازی محیط مانند کاری که در بخش قبل انجام دادید، تغییرات خود را در یک تصویر جدید که برای چرخاندن Cloud Shell شما استفاده می‌شود، اعمال خواهید کرد. این کار مزایای آشکاری دارد زیرا Cloud Shell سفارشی شما سریع‌تر شروع به کار می‌کند.

ایجاد یک تصویر جدید Cloud Shell

  1. با تایپ کردن دستور زیر در ترمینال Cloud Shell، ایجاد تصویر کانتینر Cloud Shell را آغاز کنید:
cloudshell env create-custom-image custom-cloud-shell
cd custom-cloud-shell

این یک دایرکتوری جدید در Cloud Shell شما و یک مخزن Cloud Source Repositories جدید با همین نام برای میزبانی کد شما ایجاد می‌کند. همچنین یک Dockerfile نمونه را در $HOME/custom-cloud-shell/ directory کپی می‌کند.

  1. خط RUN apt install -y hey به آخرین خط Dockerfile اضافه کنید:
echo "RUN apt install -y hey" >> $HOME/custom-cloud-shell/Dockerfile

این همان سفارشی‌سازی‌ای را که در .customize_environment داشتید، تنظیم می‌کند، اما در عوض در یک کانتینر پخته می‌شود.

  1. ساخت تصویر به صورت محلی:
cloudshell env build-local
  1. با اجرای دستور زیر، تصویر جدید را آزمایش کنید:
cloudshell env run

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

  1. با اجرای دستور hey ، نصب آن را بررسی کنید:
hey
  1. پس از اتمام، برای خروج از کانتینر، exit را تایپ کنید:
exit
  1. تغییرات را به مخزن منبع ابر و تصویر را به رجیستری کانتینر اعمال کنید:
git commit -a -m "Initial commit"
git push origin master
cloudshell env push

آزمایش تصویر جدید

  1. تصویر را در دسترس عموم قرار دهید تا بتوانید از آن استفاده کنید:
gsutil iam ch allUsers:objectViewer $(gsutil ls)
  1. یک URL ایجاد کنید که بتوانید از آن برای آزمایش نمونه سفارشی Cloud Shell منتشر شده خود استفاده کنید:
echo "https://ssh.cloud.google.com/cloudshell/editor?cloudshell_image=gcr.io/$GOOGLE_CLOUD_PROJECT/custom-cloud-shell"
  1. آدرس اینترنتی خروجی را کپی کرده و در یک برگه مرورگر جدید جایگذاری کنید، و نمونه سفارشی Cloud Shell باز خواهد شد. توجه داشته باشید که چگونه وقتی به نمونه دسترسی پیدا می‌کنید، بنرهایی وجود دارد که نشان می‌دهد در حالت کاملاً موقت اجرا می‌شوید:

bc091a4c33649aa9.png

  1. دوباره تصویر را با اجرای دستور hey آزمایش کنید
hey
  1. پس از انجام این کار، از نمونه Cloud Shell موقت exit ، به برگه‌ای که Cloud Shell معمولی شما در آن باز بود برگردید و روی اتصال مجدد کلیک کنید.

دسترسی به Cloud Shell از راه دور با SSH

همچنین می‌توانید از طریق کامپیوتر محلی خود و از راه دور از ویژگی‌های Cloud Shell استفاده کنید. این معمولاً شامل دو مورد استفاده مختلف است:

  • اتصال SSH به دستگاه Cloud Shell از طریق ترمینال محلی شما
  • نصب دایرکتوری $HOME از راه دور Cloud Shell به صورت محلی.

برای این کار، باید Google Cloud SDK را به صورت محلی نصب کنید. همچنین باید آن را با شناسه پروژه و اعتبارنامه‌های خاصی که استفاده می‌کنید پیکربندی کنید.

مراحل زیر را از یک شبیه‌ساز ترمینال که در دستگاه محلی شما اجرا می‌شود، انجام دهید:

  1. شناسه پروژه GCP را تنظیم کنید و با اطلاعات مربوط به سازمان ابری که پوسته ابری خود را در آن دارید، وارد شوید.
gcloud config set project <your project id>
gcloud auth login
  1. به دستگاه Cloud Shell از راه دور خود SSH کنید:
gcloud cloud-shell ssh --authorize-session

اکنون در Cloud Shell خود خواهید بود، اما از ویژگی‌ها و پیکربندی شبیه‌ساز ترمینال محلی خود استفاده می‌کنید. اگر شبیه‌ساز مورد استفاده شما از tmux پشتیبانی می‌کند، می‌توانید از ادغام‌های بیشتر برای داشتن تجربه بهتر از راه دور بهره‌مند شوید.

دایرکتوری خانگی Cloud Shell خود را از دستگاه محلی خود نصب کنید

اگرچه امکان SSH به نمونه Cloud Shell از راه دور خوب است، اما بهتر است که بتوانید IDE محلی خود را با دسترسی به دایرکتوری $HOME Cloud Shell از راه دور خود داشته باشید. به این ترتیب، می‌توانید دسترسی SSH که قبلاً نشان داده شد را با امکان ویرایش کد از راه دور به صورت محلی ترکیب کنید.

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

mkdir $HOME/cloudshell

این دایرکتوری است که Cloud Shell شما در آن نصب خواهد شد. اکنون، برای نصب آن، مطمئن شوید که نمونه Cloud Shell شما شروع شده است و سپس در ترمینال محلی خود تایپ کنید:

$(gcloud cloud-shell get-mount-command $HOME/cloudshell)
cd $HOME/cloudshell

این دستور mount مورد نیاز برای mount کردن Cloud Shell به صورت محلی را دریافت کرده و آن را mount می‌کند. محتویات دایرکتوری خانگی Cloud Shell خود را که در دستگاه محلی شما mount شده است، مشاهده خواهید کرد.

اکنون می‌توانید یک IDE مانند VSCode را به صورت محلی باز کنید و یک فضای کاری از راه دور در Cloud ایجاد کنید. همزمان، با استفاده از دسترسی SSH به Cloud Shell، می‌توانید یک پنجره ترمینال در داخل IDE باز کنید تا یک ترمینال از راه دور نیز در IDE محلی خود داشته باشید.

۵. استفاده از کد ابری

Cloud Code افزونه‌ای است که توسط گوگل توسعه داده شده و به توسعه‌دهندگان اجازه می‌دهد تا با ابزارهای مبتنی بر ابر، به طور مؤثرتری کار کنند. این افزونه در چندین IDE و ویرایشگر کد مانند محصولات VSCode و Jetbrains موجود است و برای راحتی شما به طور پیش‌فرض در ویرایشگر Cloud Shell ادغام شده است. Cloud Code شامل ویژگی‌های بسیار کاربردی برای توسعه‌دهندگان است که در مراحل بعدی با آنها تمرین خواهید کرد.

پیدا کردن کد ابری در ویرایشگر پوسته ابری شما

استفاده از دکمه‌های دسترسی سریع

چهار دکمه زیر را که در پنل سمت چپ ویرایشگر قرار دارند، پیدا کنید:

de0b6c69b590d21b.png

این موارد منو امکان دسترسی آسان و پیکربندی سرویس‌های GCP را مستقیماً از ویرایشگر Cloud Shell فراهم می‌کنند.

در این آزمایش، شما بر روی خوشه‌های Kubernetes تمرکز خواهید کرد.

استفاده از نوار وضعیت

دو بخش دیگر از Cloud Cloud از طریق رابط کاربری ویرایشگر Cloud Shell نمایش داده می‌شوند که مرتبط هستند. می‌توانید هر دو را در نوار پایین ویرایشگر مشاهده کنید:

f04c703ff45b05a.png

  • <> کد ابری : کلیک کردن اینجا یک منوی اقدامات سریع را نمایش می‌دهد که در طول این آموزش از آن استفاده خواهید کرد: 58a3f8940f6263ae.png
  • کنترل مینی‌کوب: این به شما امکان می‌دهد شبیه‌ساز محلی کوبرنتیز، مینی‌کوب، را با اقدامات اساسی مانند شروع یا توقف خوشه کنترل کنید.

ایجاد یک نمونه Minikube

اکنون با کلیک روی دکمه، یک نمونه Minikube ایجاد کنید.

540da42dd52e1469.png

ایجاد یک کلاستر GKE با کد ابری

  1. روی آیکون Cloud Code - Kubernetes Clusters ( کلیک کنید 5ffab5cb541da6.png ) در سمت چپ. یک پنجره جدید با نام CLOUD CODE - KUBERNETES: CLUSTERS در سمت چپ ظاهر می‌شود.
  2. روی دکمه + کنار CLOUD CODE - KUBERNETES: CLUSTERS کلیک کنید و Google Kubernetes Engine را انتخاب کنید (توجه داشته باشید که می‌توانید گزینه‌های دیگری مانند Minikube که قبلاً راه‌اندازی کردید را نیز انتخاب کنید):

e7a81607c1bc7c55.png

  1. روی «ایجاد یک خوشه GKE جدید» کلیک کنید. این گزینه یک پنجره جدید در سمت راست بارگذاری می‌کند که می‌توانید اطلاعات اضافی را برای ایجاد سریع یک خوشه توسعه وارد کنید. دستورالعمل‌های موجود در پنل را دنبال کنید و اطلاعات زیر را وارد کنید:
  • خلبان خودکار را انتخاب کنید
  • منطقه خود را انتخاب کنید (europe-west-1)
  • به کلاستر خود نام « dev » بدهید
  1. روی دکمه‌ی «ایجاد خوشه» کلیک کنید. این کار یک خوشه‌ی جدید برای خلبان خودکار ایجاد می‌کند.

فرآیند ایجاد خوشه نمی‌تواند ۵ تا ۵ دقیقه طول بکشد. بنابراین در حالی که خوشه در حال ایجاد است، کمی بیشتر در مورد Cloud Code Kubernetes Pane کاوش کنید.

بررسی پنل Cloud Code Kubernetes

پیش از این، شما یک خوشه Minikube ایجاد کرده‌اید. وقتی آماده شد، این خوشه در پنل Cloud Code Kubernetes با نامی که شما به آن داده‌اید، minikube ، ظاهر خواهد شد:

b654e618f78de3b3.png

خوشه در رابط کاربری به صورت ACTIVE نمایش داده می‌شود. این تنظیم با محتوای فعلی kubernetes در خط فرمان همگام‌سازی می‌شود.

آنچه در پنل Cloud Code Kubernetes مشاهده می‌کنید به شرح زیر است:

  • فایل پیش‌فرض KubeConfig : Cloud Code فایل ~/ .kube/config را برای کاربر شما می‌خواند و از آن برای اتصال به Kubernetes Clusters پیکربندی‌شده در آنجا استفاده می‌کند تا بتوانید به راحتی در آنها پیمایش کنید. می‌توانید فایل Kubeconfig را با نگه داشتن ماوس روی خط Default Kubeconfig و سپس کلیک روی مربعی که فلش خروجی کنار آن قرار دارد، ویرایش کنید.
  • یک رندر قابل مرور از اشیاء مختلف خوشه‌های ثبت‌شده شما : در این حالت، می‌توانید خوشه minikube Minikube را که قبلاً ایجاد کرده‌اید، به همراه Contexts، Namespaces و Nodes آن مشاهده کنید. ادامه دهید و برخی از گره‌های درخت را گسترش دهید. هنوز هیچ podای وجود نخواهد داشت زیرا هیچ برنامه‌ای را مستقر نکرده‌اید.

پس از راه‌اندازی و اجرای کلاستر GKE جدید، در پنل سمت چپ به همراه کلاستر minikube Minikube نمایش داده می‌شود. توجه داشته باشید که می‌توانید روی هر یک از کلاسترها کلیک راست کرده و آن را "فعال" کنید، به این معنی که کلاستر را برای هر یک از اقدامات Cloud Code که ممکن است اجرا کنید، انتخاب کنید:

8e4306c3ce707ef8.png

۶. تبریک می‌گویم!

تبریک می‌گویم، شما codelab را تمام کردید!

آنچه شما پوشش داده‌اید

  • پیمایش و آشنایی با ویژگی‌های اصلی Cloud Shell
  • با الگوهای مختلف استفاده از Cloud Shell تمرین شده است
  • محیط Cloud Shell خود را برای استفاده پیشرفته سفارشی کنید
  • با گزینه‌ها و ویژگی‌های Cloud Code آشنا شدید
  • بررسی جزئیات Cloud Code برای برنامه‌های Kubernetes
  • از شبیه‌سازهای محلی مانند Minikube استفاده کنید