การพัฒนาด้วย Cloud Shell และ โค้ดของ Cloud

1. ภาพรวม

Cloud Shell เป็นสภาพแวดล้อมในการพัฒนาซอฟต์แวร์และการดำเนินการออนไลน์ที่เข้าถึงได้ทุกที่ด้วยเบราว์เซอร์ของคุณ คุณจัดการทรัพยากรได้ด้วยเทอร์มินัลออนไลน์ที่โหลดไว้ล่วงหน้าพร้อมกับยูทิลิตี เช่น เครื่องมือบรรทัดคำสั่ง gcloud, kubectl และอื่นๆ นอกจากนี้ คุณยังพัฒนา สร้าง แก้ไขข้อบกพร่อง และทำให้แอปในระบบคลาวด์ใช้งานได้โดยใช้ Cloud Shell Editor ออนไลน์

ในห้องทดลองนี้ คุณจะได้ทำงานกับ 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

2. การตั้งค่าและข้อกำหนด

การตั้งค่าสภาพแวดล้อมตามเวลาที่สะดวก

  1. ลงชื่อเข้าใช้ Google Cloud Console และสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่อีกครั้ง หากยังไม่มีบัญชี Gmail หรือ Google Workspace คุณต้องสร้างบัญชี

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • ชื่อโครงการคือชื่อที่แสดงของผู้เข้าร่วมโปรเจ็กต์นี้ เป็นสตริงอักขระที่ Google APIs ไม่ได้ใช้ โดยคุณจะอัปเดตได้ทุกเมื่อ
  • รหัสโปรเจ็กต์จะไม่ซ้ำกันในทุกโปรเจ็กต์ของ Google Cloud และจะเปลี่ยนแปลงไม่ได้ (เปลี่ยนแปลงไม่ได้หลังจากตั้งค่าแล้ว) Cloud Console จะสร้างสตริงที่ไม่ซ้ำกันโดยอัตโนมัติ ปกติแล้วคุณไม่สนว่าอะไรเป็นอะไร ใน Codelab ส่วนใหญ่ คุณจะต้องอ้างอิงรหัสโปรเจ็กต์ (โดยปกติจะระบุเป็น PROJECT_ID) หากคุณไม่ชอบรหัสที่สร้างขึ้น คุณสามารถสร้างรหัสแบบสุ่มอื่นได้ หรือคุณจะลองดำเนินการเองแล้วดูว่าพร้อมให้บริการหรือไม่ และไม่สามารถเปลี่ยนแปลงได้หลังจากขั้นตอนนี้และจะยังคงอยู่ตลอดระยะเวลาของโปรเจ็กต์
  • สำหรับข้อมูลของคุณ ค่าที่ 3 คือหมายเลขโปรเจ็กต์ที่ API บางตัวใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าทั้ง 3 ค่าเหล่านี้ในเอกสารประกอบ
  1. ถัดไป คุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร/API ของระบบคลาวด์ การใช้งาน Codelab นี้น่าจะไม่มีค่าใช้จ่ายใดๆ หากมี หากต้องการปิดทรัพยากรเพื่อไม่ให้มีการเรียกเก็บเงินนอกเหนือจากบทแนะนำนี้ คุณสามารถลบทรัพยากรที่คุณสร้างหรือลบทั้งโปรเจ็กต์ได้ ผู้ใช้ใหม่ของ Google Cloud จะมีสิทธิ์เข้าร่วมโปรแกรมทดลองใช้ฟรี$300 USD

3. การทำงานกับเทอร์มินัล Cloud Shell

ในส่วนนี้ คุณจะได้เรียนรู้เกี่ยวกับเทอร์มินัล Cloud Shell, วิธีไปยังส่วนต่างๆ ของ UI, การใช้ฟีเจอร์ต่างๆ รวมถึงสำรวจตัวเลือกการกำหนดค่าและวิธีการใช้งานฟีเจอร์ดังกล่าวเพื่อช่วยเพิ่มประสิทธิภาพการทำงาน

Cloud Shell มีเครื่องมือหลัก 2 อย่าง ได้แก่ Cloud Shell Terminal และ Cloud Shell Editor ในห้องทดลองนี้ คำว่า Cloud Shell Terminal และ Cloud Shell จะใช้แทนกันได้ อย่างไรก็ตาม เราจะเรียก Editor ว่า Cloud Shell Editor เสมอเพื่อสร้างความแตกต่างที่ชัดเจนระหว่างโปรแกรมจำลองเทอร์มินัลและ IDE

Cloud Shell คือ Shell ในระบบคลาวด์ที่มีฟังก์ชันการทำงานเต็มรูปแบบ ซึ่งสร้างขึ้นจากเครื่อง Linux ชั่วคราวของ Google Compute Engine ที่ใช้ Debian ซึ่งคุณใช้งานได้เสมอ โดยมาพร้อมกับ Google Cloud SDK ที่ติดตั้งและเครื่องมือที่เกี่ยวข้องมากมาย เช่น git, kubectl, kubectx, curl, python3, tmux...

ไดเรกทอรี $HOME จะยังคงอยู่ใน Cloud Storage โดย Google Cloud และระบบจะต่อเชื่อมโดยอัตโนมัติทุกครั้งที่เครื่อง Cloud Shell เริ่มทำงาน ดังนั้นข้อมูลของคุณที่ทิ้งไว้จะไม่หายไปแม้ว่าเครื่อง Cloud Shell จะปิดลงก็ตาม ซึ่งหมายความว่าหากคุณเปิดใช้ Cloud Shell อีกครั้ง ไดเรกทอรี $HOME และการปรับแต่งใดๆ ที่คุณอาจทำไว้จะพร้อมให้คุณใช้งาน

การเปิดใช้งาน Cloud Shell

  1. ไปที่ console.cloud.google.com และหากคุณยังไม่ได้เข้าสู่ระบบในคอนโซล GCP ให้ป้อนข้อมูลเข้าสู่ระบบ Google ของคุณ คุณจะเห็น UI หลักของคอนโซล Google Cloud Platform
  2. เลือกรหัสโปรเจ็กต์ GCP ที่จะใช้งานในตัวเลือกแถบเมนู Cloud Console ดังนี้

a78258af94ed9ec3.png

  1. ค้นหาปุ่มเพื่อเปิดใช้งาน Cloud Shell ทางด้านขวาของแถบเมนู ถัดจากรูปโปรไฟล์ของบัญชี

5b4246f45b173ff4.png

  1. คลิกไอคอน Cloud Shell และเทอร์มินัล Cloud Shell จะเปิดขึ้น ซึ่งจะแสดงแผงใหม่ใต้ UI ของคอนโซล GCP: UI:

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 และครองพื้นที่ในแท็บของเบราว์เซอร์ทั้งหมด

1197e3e9a36bc7aa.png

  1. Cloud Shell จะขยายและใช้พื้นที่ทั้งหมดของแท็บเบราว์เซอร์อย่างเต็มที่:

ecb227a1d39b8021.png

  1. คลิกอีกครั้ง อสังหาริมทรัพย์ของแท็บเบราว์เซอร์จะเปลี่ยนกลับไปเป็นการแชร์ระหว่าง Cloud Console กับ Cloud Shell

กำลังเปิดแท็บใหม่

Cloud Shell Terminal ช่วยให้คุณเปิดแท็บได้มากเท่าที่ต้องการ

  1. คลิกปุ่มต่อไปนี้และเปิดแท็บใหม่

e5757f88b64c7f5.png

  1. แล้วปิดแท็บใหม่โดยคลิก x ถัดจากชื่อแท็บ หรือพิมพ์ exit ใน Shell ที่เกี่ยวข้อง

8828238e04a14a20.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

คำสั่งด้านบนจะแสดงมุมมองแบบเรียลไทม์ของกระบวนการที่ทำงานอยู่ในเทอร์มินัล Cloud Shell คุณจะใช้คีย์นี้เพื่อแสดงภาพความต่อเนื่องของเซสชันใน Cloud Shell ที่ tmux จัดเตรียมไว้ให้

  1. กลับไปที่แท็บแรกในเบราว์เซอร์ (แท็บที่มี Cloud Console)
  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

จากนั้นคุณจะมีสิทธิ์เข้าถึงเชลล์ที่ทำงานในแท็บที่ 2 และส่วนบนจะยังคงทำงานที่นี่เช่นเดียวกับที่คุณออกจากเชลล์

  1. ไปที่แท็บที่ 2 ในเบราว์เซอร์ แล้วเปิด Cloud Shell ในหน้าต่างใหม่
  2. คลิกเชื่อมต่ออีกครั้ง คุณจะกู้คืนกระบวนการระดับบนสุดที่กระบวนการดังกล่าวทำงานอยู่ก่อนที่เราจะปิดหน้าต่างได้

การแยกหน้าต่างด้วย Tmux

Tmux มีประโยชน์มากกว่าที่คุณเพิ่งใช้ไปมาก บทแนะนำสำหรับ tmux อยู่นอกขอบเขตของห้องทดลองนี้ โปรดดูข้อมูลเพิ่มเติมได้ในการเริ่มต้นใช้งาน tmux อย่างเป็นทางการ

แต่ tmux ให้ฟีเจอร์เพิ่มเติมของ Cloud Shell ได้ในโปรแกรมจำลองเทอร์มินัลในเครื่อง ในการสาธิต คุณต้องแยกเทอร์มินัลแสดงคู่กัน

  1. ใน Cloud Shell ให้กด Ctrl + b แล้วกด %
  2. ดูวิธีที่ tmux สร้างแผงใหม่ทางด้านขวาจากแผงเดิม ดังนี้

717b047d71c8eeef.png

  1. คลิกแผงที่ 2 และพิมพ์ exit

ใช้ตัวอย่างเว็บ

นอกจากนี้ Cloud Shell ยังสร้างการส่งต่อพอร์ตอัตโนมัติจากเครื่อง Cloud Shell ที่ทำงานในระบบคลาวด์ผ่านเบราว์เซอร์ในเครื่องที่ทำงานอยู่ในคอมพิวเตอร์ได้ด้วย

  1. พิมพ์ใน Cloud Shell:
python3 -m http.server 8080
  1. ไปที่ตัวเลือกตัวอย่างเว็บที่มุมขวาบน แล้วเลือกแสดงตัวอย่างบนพอร์ต 8080 ดังนี้

a8363cafca79345.png

แท็บใหม่จะเปิดขึ้นพร้อมหน้าเริ่มต้นที่แสดงในพอร์ตนั้น

โปรดทราบว่าคุณสามารถเปลี่ยนพอร์ตและดูตัวอย่างพอร์ตทั้งหมดที่แอปพลิเคชันแสดงใน Cloud Shell ได้ ไม่ใช่แค่พอร์ต 8080

การเข้าถึงตัวเลือก Cloud Shell เพิ่มเติม

มีการตั้งค่าและตัวเลือกเพิ่มเติมใน Cloud Shell

  1. คลิกจุด 3 จุดในเมนู Cloud Shell เพื่อเข้าถึงตัวเลือกต่อไปนี้

a5c515c9df9284be.png

ตัวเลือกที่เกี่ยวข้องมากที่สุดคือความสามารถในการอัปโหลดหรือดาวน์โหลดไฟล์ไปยัง Cloud Shell และรีสตาร์ทเครื่อง Cloud Shell ในกรณีที่พบปัญหา

4. การใช้งาน Cloud Shell Editor

ฟีเจอร์ที่สำคัญที่สุดอย่างหนึ่งของ Cloud Shell คือ Cloud Shell Editor นี่คือ IDE เต็มรูปแบบที่อิงจากโครงการโอเพนซอร์ส Eclipse Theia ซึ่งจัดทำโดย Google รวมถึงองค์กรอื่นๆ รูปลักษณ์มีความคล้ายคลึงกับ VSCode มาก เนื่องจากทั้งคู่ใช้คอมโพเนนต์พื้นฐานแบบโอเพนซอร์สทั่วไปหลายรายการ เช่น ตัวแก้ไขของโมนาโก, โมเดลส่วนขยาย, Language Server Protocol และ Debug Adapter Protocol

เนื่องจาก Theia/Cloud Shell Editor เป็นเครื่องมือที่ค่อนข้างซับซ้อน การอธิบายว่าฟีเจอร์ Cloud Shell Editor ทั้งหมดอยู่นอกขอบเขตของห้องทดลองนี้ ในส่วนนี้ คุณจะได้แนะนำแนวคิดหลักและฟีเจอร์ที่เป็นเอกลักษณ์ในการใช้งาน Google Cloud นี้

การเข้าถึง Cloud Shell Editor

คุณเข้าถึง Cloud Shell Editor ได้ 3 วิธี ดังนี้

  • เข้าถึงจากบรรทัดคำสั่ง
  • เข้าถึงผ่านเมนู Cloud Shell
  • เข้าชม URL ในเบราว์เซอร์

ลองใช้วิธีการเหล่านี้ตามขั้นตอนต่อไปนี้

  1. เปิด .bashrc จากบรรทัดคำสั่งด้วยคำสั่งต่อไปนี้
cloudshell edit $HOME/.bashrc
  1. เปิด Cloud Shell จากเมนู โดยการคลิกปุ่ม "เปิดเครื่องมือแก้ไข" 6039dbc755bfca9f.png: f493b9a98771b0af.png ซึ่งจะเป็นการเปิด Cloud Shell Editor ไปพร้อมกับเปิดเทอร์มินัล Cloud Shell ไว้ หากคุณต้องการมีแท็บทั้งหมดเป็นแท็บจริงสำหรับ Cloud Shell Editor เพียงอย่างเดียว ให้คลิกที่ปุ่มแก้ไขทางขวาปุ่มแก้ไขเพื่อปิดเทอร์มินัล ปุ่ม 2 ปุ่มนี้ (เปิด/ปิดเครื่องมือแก้ไข และเปิด/ปิดเทอร์มินัล) จะกำหนดว่าเครื่องมือใดปรากฏในแท็บเบราว์เซอร์ ฝึกคลิกทั้งสองเพื่อสร้างความชำนาญพิเศษ
  2. เรียกใช้ Cloud Shell Editor จากแถบ URL ในเบราว์เซอร์ โดยพิมพ์ ide.cloud.google.com

การใช้บรรทัดคำสั่งจาก Cloud Shell Editor

แม้ว่าคุณจะมีเทอร์มินัล Cloud Shell และ Cloud Shell Editor อยู่ในแท็บเบราว์เซอร์เดียวกัน แต่คุณสามารถจ่ายด้วยเทอร์มินัล Cloud Shell และใช้ Cloud Shell Editor เพียงอย่างเดียว รวมถึงเทอร์มินัลที่พร้อมใช้งานจากภายใน Cloud Shell Editor สำหรับทุกความต้องการของคุณ คุณอาจเคยชินกับการใช้ IDE และรู้จักแป้นพิมพ์ลัดและไดนามิกของแผงแบบต่างๆ จาก VSCode

เปิด Cloud Shell Editor โดยใช้วิธีการที่กล่าวถึงข้างต้น จากนั้น ไปที่เมนู Editor และเลือก Terminal > เทอร์มินัลใหม่ (หรือกด "Ctrl + `" บนแป้นพิมพ์) แผงเทอร์มินัลใหม่จะเปิดขึ้นในส่วนล่างของ Cloud Shell Editor ซึ่งคุณใช้สำหรับความต้องการของ Shell ทั้งหมดได้

8b2c36f71e851c40.png

การดำเนินการนี้จะช่วยให้คุณมีตัวเลือกในการจัดการแผงเทอร์มินัลต่างๆ โดยไม่ต้องใช้การจัดการแผง tmux ตามที่เป็นกรณีของเทอร์มินัล Cloud Shell

การปรับแต่งการตั้งค่า Cloud Shell

Cloud Shell มีตัวเลือกการปรับแต่งมากมาย ตั้งแต่รูปลักษณ์ ความรู้สึกและการทำงานพื้นฐานไปยังการกำหนดค่าการเริ่มต้นเทอร์มินัล Cloud Shell และการดำเนินการโดยละเอียด คุณจะตรวจสอบตัวเลือกต่างๆ อย่างละเอียดในส่วนต่อไปนี้

ไปที่เมนู Cloud Shell Terminal แล้วคลิกไอคอนรูปเฟือง ตัวเลือกการกำหนดค่าต่างๆ จะปรากฏขึ้น:

a473c985a434070b.png

ลองดูตัวอย่าง

  • ธีมสี: คุณสามารถใช้ สว่าง มืด หรือใช้ชุดสีที่กำหนดเอง (สีพื้นฐาน เช่น สีแบบอักษรและสีพื้นหลัง)
  • ขนาดข้อความ: มีแบบอักษรให้เลือก 5 ขนาด
  • แบบอักษร: Courier new หรือ Monospace
  • คัดลอกการตั้งค่า: ที่นี่คุณสามารถเปลี่ยนแป้นพิมพ์ลัดสำหรับการคัดลอกให้คล้ายกับแป้นพิมพ์ลัดที่ใช้ในโปรแกรมจำลองเทอร์มินัลของ Linux ยอดนิยม
  • แป้นพิมพ์: การจับคู่แป้น Meta กับ Alt (โดยค่าเริ่มต้น Meta คือ ESC) และการจับคู่คีย์ Alt Gr ในบางระบบปฏิบัติการ

การกำหนดค่าสภาพแวดล้อม Shell

เมื่อใช้โปรแกรมจำลองเทอร์มินัลที่เรียกใช้เชลล์ในเครื่อง Linux ที่ใช้ Debian คุณสามารถปรับแต่งสภาพแวดล้อม Shell ในลักษณะเดียวกับที่คุณทำใน Linux ด้วยเหตุนี้ ระบบจะระบุไฟล์การกำหนดค่าที่อยู่ใน $HOME (เช่น .bashrc) ทุกครั้งที่มีการสร้างกระบวนการ Shell การเข้าสู่ระบบใหม่

Cloud Shell ยังช่วยให้คุณระบุการทำงานที่ต้องการทำทุกครั้งที่อินสแตนซ์ Cloud Shell เริ่มต้นในไฟล์การกำหนดค่าพิเศษที่ชื่อ .customize_environment ได้ด้วย อ่านข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ในเอกสารประกอบการปรับแต่งสภาพแวดล้อม

ฝึกเพิ่มการกำหนดค่าไปยังเทอร์มินัล Cloud Shell ไปที่เทอร์มินัล Cloud Shell แล้วโคลนที่เก็บโค้ดตัวอย่างต่อไปนี้

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

ที่เก็บนี้มีตัวอย่างสำหรับ 2 เหตุการณ์หลักที่คุณอาจต้องการกำหนดค่า Cloud Shell

  • เมื่อใดก็ตามที่อินสแตนซ์ Cloud Shell เริ่มต้น: ระบบจะอ่านไฟล์ $HOME/.customize_environment บันทึกการดำเนินการสำหรับกระบวนการนี้จะอยู่ใน /var/log/customize_environment และสร้าง /google/devshell/customize_environment_done เมื่อการดำเนินการสำเร็จ
  • เมื่อใดก็ตามที่มีการเริ่มกระบวนการ Shell ใหม่ (หน้าต่างใหม่ แท็บใหม่...) ระบบจะอ่านไฟล์การกำหนดค่า Bash Shell ทั่วไป

ฝึกกับทั้ง 2 วิธีนี้โดยทำตามขั้นตอนต่อไปนี้

  1. เรียกใช้คำสั่งต่อไปนี้เพื่อเปิดใช้การปรับแต่งที่ที่เก็บมีให้
cd cloud-code-getting-started
source set_env_cust.sh

วิธีนี้เป็นการตั้งค่าตัวเลือกการปรับแต่งทั้ง 2 อย่างที่กล่าวไว้ก่อนหน้านี้ และเปิดใช้ตัวเลือกเหล่านั้น

  1. สังเกตข้อความแจ้งของ Shell ใหม่ สคริปต์ Bash ที่มาจากไฟล์ .bash_profile ได้กำหนดค่าพรอมต์ใหม่นี้ให้สั้นกว่าค่าเริ่มต้น และมีข้อมูล Git พื้นฐาน เช่น สาขาที่ชำระเงินแล้วหรือสถานะ Git
  2. ตอนนี้มีชื่อแทน code ใหม่สำหรับคำสั่ง cloudshell edit ซึ่งสั้นลงแล้ว ใช้รายการนี้เพื่อดูเนื้อหาของไฟล์ .bash_profile
code $HOME/.bash_profile
  1. ใช้คำสั่ง bat ที่ติดตั้งใหม่เพื่อดูเนื้อหาของไฟล์ .customize_environment:
bat $HOME/.customize_environment

bat คือชุดเครื่องมือ Unix ยอดนิยมเวอร์ชันที่ได้รับการปรับปรุง เอาต์พุต bat แสดงขึ้นที่นี่คำสั่ง apt install ที่ใช้ติดตั้ง hey ซึ่งเป็นเครื่องมือทดสอบโหลดอีกครั้งทุกครั้งที่มีการสร้างเครื่อง Cloud Shell ใหม่

  1. ทดสอบว่าทุกอย่างทำงานถูกต้องโดยคลิกเมนู Cloud Shell (จุด 3 จุดที่มุมขวาบน) แล้วเลือกรีสตาร์ท

การดำเนินการนี้จะช่วยให้คุณจำลองระยะหมดเวลาของ Cloud Shell และการสร้างอินสแตนซ์ของอินสแตนซ์ใหม่ โปรดตรวจสอบว่าทุกอย่างได้รับการกำหนดค่าอย่างถูกต้อง

การปรับแต่งอิมเมจคอนเทนเนอร์ Cloud Shell

ตัวเลือกการปรับแต่งนี้ช่วยให้คุณสร้างอิมเมจ Docker ที่ทำหน้าที่เป็นสภาพแวดล้อม Cloud Shell ที่กำหนดเองโดยมีแพ็กเกจและการกำหนดค่าที่กำหนดเองเพิ่มเติม อิมเมจที่สร้างจะสร้างอินสแตนซ์ Cloud Shell แบบชั่วคราวโดยสมบูรณ์ ดังนั้นทั้ง VM ของ Cloud Shell และไดเรกทอรี $HOME ที่แนบอยู่จะยังคงอยู่ อย่างไรก็ตาม การสร้างอิมเมจนี้จะเป็นประโยชน์สำหรับ Use Case ที่คุณจำเป็นต้องนำส่งอินสแตนซ์ Cloud Shell เฉพาะฟังก์ชันไปยังบุคคลที่สาม เพื่อให้บุคคลที่สามดำเนินการที่เฉพาะเจาะจงได้อย่างมีประสิทธิภาพมากที่สุด

คุณจะ Bake การเปลี่ยนแปลงของคุณในรูปภาพใหม่ที่ใช้ในการสร้าง Cloud Shell แทนการปรับแต่งสภาพแวดล้อมเหมือนที่เคยทำในส่วนก่อนหน้านี้ วิธีนี้มีข้อดีที่เห็นได้ชัดเนื่องจาก Cloud Shell ที่กำหนดเองจะเริ่มต้นได้เร็วขึ้น

กำลังสร้างอิมเมจ Cloud Shell ใหม่

  1. เริ่มต้นการสร้างอิมเมจคอนเทนเนอร์ Cloud Shell โดยพิมพ์ใน Cloud Shell Terminal ดังนี้
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

คุณจะอยู่ใน Shell ภายในรูปภาพ

  1. ทดสอบว่าติดตั้งคำสั่ง hey แล้วโดยเรียกใช้คำสั่งต่อไปนี้
hey
  1. เมื่อเสร็จแล้ว ให้พิมพ์ exit เพื่อออกจากคอนเทนเนอร์
exit
  1. พุชการเปลี่ยนแปลงไปยัง Cloud Source Repository และอิมเมจไปยัง 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. ทดสอบรูปภาพอีกครั้งโดยเรียกใช้คำสั่ง Ok
hey
  1. เมื่อเสร็จแล้ว ให้exitอินสแตนซ์ Cloud Shell ชั่วคราว โดยกลับไปที่แท็บที่เปิด Cloud Shell ปกติไว้ แล้วคลิกเชื่อมต่ออีกครั้ง

เข้าถึง Cloud Shell จากระยะไกลด้วย SSH

คุณยังใช้ฟีเจอร์ Cloud Shell จากระยะไกลจากคอมพิวเตอร์ในระบบได้อีกด้วย โดยทั่วไปจะมีกรณีการใช้งานที่แตกต่างกัน 2 กรณี ได้แก่

  • กำลัง SSH ไปยังเครื่อง Cloud Shell จากเทอร์มินัลในเครื่อง
  • กำลังต่อเชื่อมไดเรกทอรี $HOME ระยะไกลของ Cloud Shell ในเครื่อง

สำหรับขั้นตอนนี้ คุณจะต้องติดตั้ง Google Cloud SDK ในเครื่อง นอกจากนี้ คุณยังต้องกําหนดค่าด้วยรหัสโปรเจ็กต์และข้อมูลเข้าสู่ระบบเฉพาะที่คุณใช้อยู่

ทำตามขั้นตอนต่อไปนี้จากโปรแกรมจำลองเทอร์มินัลที่กำลังทำงานในเครื่องของคุณ

  1. ตั้งค่ารหัสโปรเจ็กต์ GCP แล้วเข้าสู่ระบบด้วยข้อมูลเข้าสู่ระบบที่สอดคล้องกับ Cloud Organization ที่คุณมี 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

การดำเนินการนี้จะได้รับคำสั่งต่อเชื่อมที่คุณต้องออกเพื่อต่อเชื่อม Cloud Shell ในเครื่อง และต่อเชื่อม คุณจะเห็นเนื้อหาของไดเรกทอรีหน้าแรกของ Cloud Shell ที่เชื่อมต่อในเครื่องภายใน

ตอนนี้คุณสามารถเปิด IDE เช่น VSCode ในเครื่อง และเปิดพื้นที่ทำงานที่อยู่ห่างไกลในระบบคลาวด์ได้แล้ว ในขณะเดียวกัน การใช้การเข้าถึง Cloud Shell ผ่าน SSH จะเป็นการเปิดแผงเทอร์มินัลภายใน IDE เพื่อให้มีเทอร์มินัลระยะไกลรวมอยู่ใน IDE ภายในของคุณได้ด้วย

5. กำลังใช้โค้ดของ Cloud

Cloud Code คือปลั๊กอินที่พัฒนาโดย Google ซึ่งช่วยให้นักพัฒนาซอฟต์แวร์ทำงานได้อย่างมีประสิทธิภาพมากขึ้นด้วยเครื่องมือในระบบคลาวด์ โดยพร้อมใช้งานใน IDE และตัวแก้ไขโค้ดหลายรายการ เช่น ผลิตภัณฑ์ VSCode และ Jetbrains ทั้งยังผสานรวมอยู่ใน Cloud Shell Editor โดยค่าเริ่มต้นเพื่อความสะดวกของคุณ Cloud Code มีฟีเจอร์มากมายที่เป็นมิตรกับนักพัฒนาซอฟต์แวร์ ซึ่งคุณจะได้ฝึกฝนในขั้นตอนถัดไป

การค้นหา Cloud Code ใน Cloud Shell Editor

การใช้ปุ่มการเข้าถึงด่วน

ค้นหาปุ่ม 4 ปุ่มต่อไปนี้ที่ปรากฏอยู่ในแผงด้านซ้ายของตัวแก้ไข

de0b6c69b590d21b.png

รายการในเมนูเหล่านี้ช่วยให้เข้าถึงและกำหนดค่าบริการ GCP ได้โดยตรงจาก Cloud Shell Editor

ในห้องทดลองนี้ คุณจะได้มุ่งเน้นไปที่คลัสเตอร์ Kubernetes

การใช้แถบสถานะ

Cloud Cloud ที่เปิดเผยผ่าน UI ของ Cloud Shell Editor จะมี 2 ส่วนที่เกี่ยวข้องเพิ่มเติม คุณจะเห็นทั้ง 2 อย่างนี้ในแถบด้านล่างในเครื่องมือแก้ไข

f04c703ff45b05a.png

  • &lt;&gt; Cloud Code: การคลิกที่นี่จะแสดงเมนูการทำงานด่วนที่คุณจะใช้ผ่านบทแนะนำนี้ 58a3f8940f6263ae.png
  • ควบคุม minikube: ตัวเลือกนี้จะให้คุณควบคุมโปรแกรมจำลอง Kubernetes ในเครื่อง หรือ minikube ด้วยการดำเนินการพื้นฐาน เช่น การเริ่มหรือหยุดคลัสเตอร์

การสร้างอินสแตนซ์ Minikube

สร้างอินสแตนซ์ Minikube ทันทีโดยคลิกที่ปุ่ม

540da42dd52e1469.png

การสร้างคลัสเตอร์ GKE ด้วย Cloud Code

  1. คลิกไอคอน Cloud Code - Kubernetes Clusters ( 5ffab5cb541da6.png) ทางด้านซ้าย คุณจะเห็นแผงใหม่ปรากฏขึ้นทางด้านซ้ายที่ชื่อว่า CLOUD CODE - KUBERNETES: CLUSTERS
  2. คลิกปุ่ม + ข้าง CLOUD CODE - KUBERNETES: CLUSTERS แล้วเลือก Google Kubernetes Engine (โปรดทราบว่าคุณยังสามารถเลือกตัวเลือกอื่นๆ เช่น Minikube ที่คุณเคยสร้างมาก่อนได้ด้วย)

e7a81607c1bc7c55.png

  1. คลิกสร้างคลัสเตอร์ GKE ใหม่ ตัวเลือกนี้จะโหลดแผงใหม่ทางด้านขวา ซึ่งคุณจะป้อนข้อมูลเพิ่มเติมเพื่อสร้างคลัสเตอร์การพัฒนาได้อย่างรวดเร็ว ทำตามวิธีการในแผงและป้อนข้อมูลต่อไปนี้
  • เลือก Autopilot
  • เลือกภูมิภาคของคุณ (europe-west-1)
  • ตั้งชื่อคลัสเตอร์ว่า "dev"
  1. คลิกปุ่มสร้างคลัสเตอร์ การดำเนินการนี้จะสร้างคลัสเตอร์ Autopilot ใหม่

กระบวนการสร้างคลัสเตอร์ใช้เวลา 5 5 นาที ดังนั้นในขณะที่ระบบกำลังสร้างคลัสเตอร์ ให้ลองสำรวจแผง Cloud Code Kubernetes อีกเล็กน้อย

การสำรวจแผง Cloud Code Kubernetes

ก่อนหน้านี้ คุณสร้างคลัสเตอร์ Minikube ไว้ เมื่อพร้อมแล้ว คลัสเตอร์นี้จะปรากฏในแผง Cloud Code Kubernetes ด้วยชื่อที่คุณตั้งให้ minikube:

b654e618f78de3b3.png

คลัสเตอร์จะแสดงเป็น "ใช้งานอยู่" ใน UI การตั้งค่านี้ซิงค์กับบริบท Kubernetes ปัจจุบันในบรรทัดคำสั่ง

สิ่งที่คุณจะเห็นในแผง Cloud Code Kubernetes มีดังนี้

  • ไฟล์ KubeConfig เริ่มต้น: Cloud Code จะอ่านไฟล์ ~/.kube/config สำหรับผู้ใช้ของคุณ และใช้ไฟล์ดังกล่าวเพื่อเชื่อมต่อกับคลัสเตอร์ Kubernetes ที่กำหนดค่าไว้ที่นั่นเพื่อให้คุณไปยังส่วนต่างๆ ได้อย่างง่ายดาย คุณแก้ไขไฟล์ Kubeconfig ได้โดยวางเมาส์เหนือเส้น Default Kubeconfig แล้วคลิกรูปสี่เหลี่ยมจัตุรัสที่มีลูกศรขาออกไว้ข้างกัน หากต้องการ
  • การแสดงผลที่สามารถเรียกดูได้ของออบเจ็กต์ต่างๆ ของคลัสเตอร์ที่ลงทะเบียน: ในกรณีนี้ คุณจะเห็นคลัสเตอร์ minikube Minikube ที่คุณสร้างไว้ก่อนหน้านี้ พร้อมบริบท เนมสเปซ และโหนด ลองขยายโหนดของแผนผังดูสิ ยังไม่มีพ็อดเนื่องจากคุณยังไม่ได้ทำให้แอปพลิเคชันใช้งานได้

เมื่อคลัสเตอร์ GKE ใหม่ทำงานแล้ว คลัสเตอร์ดังกล่าวจะแสดงในแผงด้านซ้ายพร้อมกับคลัสเตอร์ Minikube ของ minikube โปรดทราบว่าคุณสามารถคลิกขวาที่คลัสเตอร์ใดก็ได้และทำให้คลัสเตอร์นั้นเป็น "ใช้งานอยู่" ในการเลือกคลัสเตอร์สำหรับการดำเนินการของ Cloud Code ที่คุณอาจเปิดใช้

8e4306c3ce707ef8.png

6. ยินดีด้วย

ยินดีด้วย คุณศึกษา Codelab จบแล้ว

สิ่งที่คุณได้ครอบคลุม

  • สำรวจและทำความคุ้นเคยกับฟีเจอร์หลักของ Cloud Shell
  • ฝึกกับรูปแบบการใช้งาน Cloud Shell ที่แตกต่างกัน
  • ปรับแต่งสภาพแวดล้อม Cloud Shell สำหรับการใช้งานขั้นสูง
  • ทำความคุ้นเคยกับตัวเลือกและฟีเจอร์ของ Cloud Code
  • ตรวจสอบรายละเอียดของ Cloud Code สำหรับแอปพลิเคชัน Kubernetes แล้ว
  • ใช้โปรแกรมจำลองในเครื่อง เช่น Minikube