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

1. بررسی اجمالی

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

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

آنچه خواهید آموخت

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

پیش نیازها

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

2. راه اندازی و الزامات

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

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

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

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

3. کار با Cloud Shell Terminal

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

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

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

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

راه اندازی Cloud Shell

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

a78258af94ed9ec3.png

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

5b4246f45b173ff4.png

  1. روی نماد Cloud Shell کلیک کنید و Cloud Shell Terminal باز می شود و یک صفحه جدید درست در زیر رابط کاربری کنسول GCP نمایان می شود: UI:

8495f27a3ed0f05.png

در این بخش، چیزی را دارید که Cloud Shell Terminal نامیده می شود.

  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 را به حداکثر برسانید و تمام برگه های مستغلات مرورگر خود را اشغال کنید:

1197e3e9a36bc7aa.png

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

ecb227a1d39b8021.png

  1. دوباره روی آن کلیک کنید. املاک و مستغلات برگه مرورگر به اشتراک گذاشته شدن بین Cloud Console و Cloud Shell برمی گردد.

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

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

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

e5757f88b64c7f5.png

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

8828238e04a14a20.png

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

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

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

bd407e51ae78d9fe.png

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

4bce4507ce34a695.png

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

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

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

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

حرکت ترمینال Cloud Shell به اطراف

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

bdd80a3fdcc6c7db.png

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

  1. به اولین تب در مرورگر خود بازگردید (همانی که کنسول Cloud در آن قرار دارد).
  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

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

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

تقسیم ویندوز با Tmux

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

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

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

717b047d71c8eeef.png

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

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

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

  1. در Cloud Shell تایپ کنید:
python3 -m http.server 8080
  1. به گزینه Web Preview در گوشه سمت راست بالا بروید و Preview on port 8080 را انتخاب کنید:

a8363cafca79345.png

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

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

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

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

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

a5c515c9df9284be.png

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

4. کار با Cloud Shell Editor

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

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

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

ویرایشگر پوسته ابری به سه روش مختلف قابل دسترسی است:

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

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

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

با استفاده از خط فرمان از Cloud Shell Editor

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

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

8b2c36f71e851c40.png

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

سفارشی کردن تنظیمات Cloud Shell

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

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

a473c985a434070b.png

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

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

پیکربندی محیط پوسته

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

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

اضافه کردن تنظیمات به ترمینال 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 است، این درخواست جدید را که کوتاه‌تر از پیش‌فرض است، پیکربندی کرده است و شامل اطلاعات اولیه Git مانند وضعیت شاخه یا وضعیت git است.
  2. اکنون یک code نام مستعار جدید برای دستور cloudshell edit وجود دارد که کوتاهتر است. از آن برای مشاهده محتویات فایل .bash_profile استفاده کنید:
code $HOME/.bash_profile
  1. برای مشاهده محتویات فایل .customize_environment از فرمان bat تازه نصب شده استفاده کنید:
bat $HOME/.customize_environment

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

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

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

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

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

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

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

  1. با تایپ کردن در Cloud Shell Terminal، ایجاد تصویر ظرف 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. تغییرات را به مخزن Cloud Source و تصویر را به Container Registry فشار دهید:
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. URL خروجی را کپی کرده و در یک برگه مرورگر جدید جای‌گذاری کنید تا نمونه سفارشی Cloud Shell باز شود. توجه داشته باشید که چگونه هنگام دسترسی به نمونه، بنرهایی وجود دارد که نشان می دهد شما در حالت تماماً زودگذر در حال اجرا هستید:

bc091a4c33649aa9.png

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

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

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

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

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

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

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

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

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

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

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

mkdir $HOME/cloudshell

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

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

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

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

5. استفاده از Cloud Code

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

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

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

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

de0b6c69b590d21b.png

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

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

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

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

f04c703ff45b05a.png

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

ایجاد یک نمونه 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. روی Create a New GKE Cluster کلیک کنید. این گزینه یک صفحه جدید در سمت راست بارگذاری می کند که در آن می توانید اطلاعات اضافی را وارد کنید تا به سرعت یک توسعه Cluster ایجاد کنید. دستورالعمل های پنل را دنبال کنید و اطلاعات زیر را وارد کنید:
  • Autopilot را انتخاب کنید
  • منطقه خود را انتخاب کنید (europe-west-1)
  • به خوشه خود نام " dev " بدهید
  1. روی دکمه Create Cluster کلیک کنید. این یک خوشه Autopilot جدید ایجاد می کند.

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

کاوش در صفحه کد ابری Kubernetes

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

b654e618f78de3b3.png

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

آنچه می توانید در صفحه کد ابری Kubernetes مشاهده کنید موارد زیر است:

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

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

8e4306c3ce707ef8.png

6. تبریک!

تبریک می گویم، شما نرم افزار کد را تمام کردید!

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

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