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. การตั้งค่าและข้อกำหนด
การตั้งค่าสภาพแวดล้อมแบบเรียนรู้ด้วยตนเอง
- ลงชื่อเข้าใช้ คอนโซล Google Cloud แล้วสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่ซ้ำ หากยังไม่มีบัญชี Gmail หรือ Google Workspace คุณต้องสร้างบัญชี



- ชื่อโปรเจ็กต์คือชื่อที่แสดงสำหรับผู้เข้าร่วมโปรเจ็กต์นี้ ซึ่งเป็นสตริงอักขระที่ Google APIs ไม่ได้ใช้ โดยคุณจะอัปเดตได้ทุกเมื่อ
- รหัสโปรเจ็กต์จะไม่ซ้ำกันในโปรเจ็กต์ Google Cloud ทั้งหมดและเปลี่ยนแปลงไม่ได้ (เปลี่ยนไม่ได้หลังจากตั้งค่าแล้ว) Cloud Console จะสร้างสตริงที่ไม่ซ้ำกันโดยอัตโนมัติ ซึ่งโดยปกติแล้วคุณไม่จำเป็นต้องสนใจว่าสตริงนั้นคืออะไร ใน Codelab ส่วนใหญ่ คุณจะต้องอ้างอิงรหัสโปรเจ็กต์ (โดยปกติจะระบุเป็น
PROJECT_ID) หากไม่ชอบรหัสที่สร้างขึ้น คุณก็สร้างรหัสแบบสุ่มอีกรหัสหนึ่งได้ หรือคุณจะลองใช้ชื่อของคุณเองเพื่อดูว่ามีชื่อนั้นหรือไม่ก็ได้ คุณจะเปลี่ยนแปลงรหัสนี้หลังจากขั้นตอนนี้ไม่ได้ และรหัสจะยังคงอยู่ตลอดระยะเวลาของโปรเจ็กต์ - โปรดทราบว่ายังมีค่าที่ 3 ซึ่งคือหมายเลขโปรเจ็กต์ที่ API บางตัวใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าทั้ง 3 นี้ได้ในเอกสารประกอบ
- จากนั้นคุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร/API ของ Cloud การทำตาม Codelab นี้ไม่ควรมีค่าใช้จ่ายมากนัก หรืออาจไม่มีเลย หากต้องการปิดทรัพยากรเพื่อไม่ให้มีการเรียกเก็บเงินนอกเหนือจากบทแนะนำนี้ คุณสามารถลบทรัพยากรที่สร้างขึ้นหรือลบทั้งโปรเจ็กต์ได้ ผู้ใช้ Google Cloud รายใหม่มีสิทธิ์เข้าร่วมโปรแกรมช่วงทดลองใช้ฟรีมูลค่า$300 USD
3. การทำงานกับเทอร์มินัล Cloud Shell
ในส่วนนี้ คุณจะได้เรียนรู้เกี่ยวกับเทอร์มินัล Cloud Shell, วิธีไปยังส่วนต่างๆ ของ UI, การใช้ฟีเจอร์ต่างๆ รวมถึงสำรวจตัวเลือกการกำหนดค่าและวิธีต่างๆ ในการใช้เพื่อช่วยเพิ่มประสิทธิภาพการทำงาน
Cloud Shell มีเครื่องมือหลัก 2 อย่าง ได้แก่ เทอร์มินัล Cloud Shell และโปรแกรมแก้ไข Cloud Shell ในแล็บนี้จะใช้คำว่าเทอร์มินัล Cloud Shell และ Cloud Shell สลับกัน แต่จะเรียกโปรแกรมแก้ไขว่า Cloud Shell Editor เสมอเพื่อแยกความแตกต่างระหว่างโปรแกรมจำลองเทอร์มินัลกับ IDE ให้ชัดเจน
Cloud Shell คือเชลล์บนระบบคลาวด์ที่ทำงานได้อย่างเต็มรูปแบบ ซึ่งสร้างขึ้นบนเครื่อง Linux ที่ใช้ Debian ของ Google Compute Engine แบบชั่วคราว ซึ่งพร้อมให้คุณใช้งานได้เสมอ โดยมาพร้อมกับ Google Cloud SDK ที่ติดตั้งไว้ล่วงหน้าและเครื่องมือที่เกี่ยวข้องหลายอย่าง เช่น git, kubectl, kubectx, curl, python3, tmux...
Google Cloud จะเก็บไดเรกทอรี $HOME ไว้ใน Cloud Storage และจะติดตั้งไดเรกทอรีนี้โดยอัตโนมัติทุกครั้งที่เครื่อง Cloud Shell เริ่มทำงาน คุณจึงไม่สูญเสียข้อมูลใดๆ ที่คุณทิ้งไว้ในไดเรกทอรีนี้แม้ว่าเครื่อง Cloud Shell จะปิดตัวลงก็ตาม ซึ่งหมายความว่าหากคุณเปิดใช้ Cloud Shell อีกครั้ง ไดเรกทอรี $HOME และการปรับแต่งใดๆ ที่คุณอาจทำไว้จะพร้อมให้คุณใช้งาน
การเปิดใช้ Cloud Shell
- ไปที่
console.cloud.google.comแล้วป้อนข้อมูลเข้าสู่ระบบ Google หากยังไม่ได้เข้าสู่ระบบในคอนโซล GCP คุณจะเห็น UI หลักของคอนโซล Google Cloud Platform - เลือกรหัสโปรเจ็กต์ GCP ที่คุณจะใช้ในตัวเลือกแถบเมนู Cloud Console

- ค้นหาปุ่มเปิดใช้งาน Cloud Shell ทางด้านขวาของแถบเมนู ถัดจากอวตารของบัญชีคุณ

- คลิกไอคอน Cloud Shell แล้วเทอร์มินัล Cloud Shell จะเปิดขึ้น ซึ่งจะแสดงบานหน้าต่างใหม่ใต้ UI ของคอนโซล GCP ดังนี้

ในบานหน้าต่างนี้ คุณจะมีสิ่งที่เรียกว่าเทอร์มินัล Cloud Shell
- ไปที่เทอร์มินัล Cloud Shell แล้วสังเกตว่าเมื่อคุณเลือกรหัสโปรเจ็กต์ GCP ที่เหมาะสมจากคอนโซล GCP แล้ว Cloud Shell จะทราบรหัสดังกล่าว คุณจึงไม่ต้องระบุอีกครั้ง
echo $GOOGLE_CLOUD_PROJECT
ซึ่งจะแสดงรหัสโปรเจ็กต์ GCP ของคุณ ซึ่งจะแสดงในพรอมต์ของ Cloud Shell ด้วย
การสลับไปมาระหว่างเครื่องมือ
Cloud Shell มีเครื่องมือและตัวเลือกการกำหนดค่าหลายอย่างให้คุณ ตรวจสอบผ่านตัวเลือกที่มีในเมนู Cloud Shell ดังนี้

- คลิกปุ่ม
ในแถบที่จะช่วยให้คุณขยายเทอร์มินัล Cloud Shell และใช้พื้นที่แท็บทั้งหมดของเบราว์เซอร์

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

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

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

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

- โปรดทราบว่าตอนนี้ Cloud Shell มีตัวเลือกแถบเครื่องมือแบบเดียวกัน แต่มีรูปลักษณ์ที่แตกต่างกันเล็กน้อย

- เปิดแท็บเบราว์เซอร์ใหม่นี้ไว้ตลอดส่วนถัดไป
การโอนเซสชันด้วย Tmux
Cloud Shell มาพร้อมกับ tmux Tmux เป็นมัลติเพล็กเซอร์เทอร์มินัลที่ได้รับความนิยมอย่างมาก ซึ่งคล้ายกับ GNU Screen การผสานรวมกับ tmux ช่วยให้ Cloud Shell สามารถรักษาเซสชันของคุณไว้ได้ไม่ว่าคุณจะอยู่ที่ใดก็ตาม
ในขั้นตอนต่อไปนี้ คุณจะได้ฝึกฝนแนวคิดนี้เพื่อทำความเข้าใจฟีเจอร์นี้ให้ดียิ่งขึ้น
การย้ายเทอร์มินัล Cloud Shell
- ในแท็บ Cloud Shell ที่เพิ่งเปิด ให้พิมพ์คำสั่ง
top

คำสั่ง top จะแสดงมุมมองแบบเรียลไทม์ของกระบวนการที่ทำงานในเทอร์มินัล Cloud Shell คุณจะใช้เครื่องมือนี้เพื่อแสดงภาพการคงอยู่ของเซสชันใน Cloud Shell ที่ tmux จัดเตรียมไว้ให้
- กลับไปที่แท็บแรกในเบราว์เซอร์ (แท็บที่มี Cloud Console)
- โปรดสังเกตว่าเนื่องจากก่อนหน้านี้คุณตัดสินใจที่จะเปิด 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." - คลิกปุ่มเชื่อมต่ออีกครั้ง

จากนั้นคุณจะมีสิทธิ์เข้าถึงเชลล์ที่ทำงานในแท็บที่ 2 และ top จะทำงานต่อไปที่นี่เหมือนกับที่คุณเพิ่งออกจากแท็บ
- ไปที่แท็บที่ 2 ในเบราว์เซอร์ ซึ่งคุณเปิด Cloud Shell ในหน้าต่างใหม่
- คลิกเชื่อมต่ออีกครั้ง คุณจะกู้คืนกระบวนการที่ทำงานอยู่ด้านบนสุดได้เหมือนกับที่ทำงานอยู่ก่อนที่เราจะปิดหน้าต่าง
การแยกหน้าต่างด้วย Tmux
Tmux มีประโยชน์มากกว่าที่คุณใช้ไปเมื่อสักครู่มาก บทแนะนำ tmux อยู่นอกขอบเขตของแล็บนี้ คุณสามารถดูข้อมูลเพิ่มเติมเกี่ยวกับ tmux ได้ในการเริ่มต้นใช้งาน tmux อย่างเป็นทางการ
อย่างไรก็ตาม tmux จะให้ฟีเจอร์เพิ่มเติมแก่ Cloud Shell ซึ่งเป็นฟีเจอร์ที่ใช้ได้ในโปรแกรมจำลองเทอร์มินัลในเครื่อง หากต้องการสาธิตการแยกเทอร์มินัล ให้คุณแยกเทอร์มินัลแบบเคียงข้างกัน
- ใน Cloud Shell ให้กด
Ctrl + bแล้วกด% - ดูวิธีที่ tmux สร้างแผงใหม่ทางด้านขวาของแผงเดิม

- คลิกที่บานหน้าต่างที่ 2 แล้วพิมพ์
exit
ใช้ตัวอย่างเว็บ
นอกจากนี้ Cloud Shell ยังสร้างการส่งต่อพอร์ตอัตโนมัติจากเครื่อง Cloud Shell ที่ทำงานในระบบคลาวด์ผ่านเบราว์เซอร์ในเครื่องที่ทำงานในคอมพิวเตอร์ได้ด้วย
- พิมพ์ใน Cloud Shell ดังนี้
python3 -m http.server 8080
- ไปที่ตัวเลือกตัวอย่างเว็บที่มุมขวาบน แล้วเลือกแสดงตัวอย่างบนพอร์ต 8080

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

ตัวเลือกที่เกี่ยวข้องมากที่สุดในที่นี้คือความเป็นไปได้ในการอัปโหลดหรือดาวน์โหลดไฟล์ไปยัง Cloud Shell และการรีสตาร์ทเครื่อง Cloud Shell ในกรณีที่คุณพบปัญหา
4. การทำงานกับ Cloud Shell Editor
ฟีเจอร์ที่สำคัญที่สุดอย่างหนึ่งของ Cloud Shell คือ Cloud Shell Editor ซึ่งเป็น IDE ที่สมบูรณ์แบบซึ่งอิงตามโปรเจ็กต์โอเพนซอร์ส Eclipse Theia และ Google เป็นหนึ่งในผู้ร่วมพัฒนา รูปลักษณ์และความรู้สึกคล้ายกับ VSCode มาก เนื่องจากทั้ง 2 อย่างใช้คอมโพเนนต์พื้นฐานแบบโอเพนซอร์สทั่วไปหลายอย่าง เช่น เอดิเตอร์ Monaco, โมเดลส่วนขยาย, โปรโตคอลเซิร์ฟเวอร์ภาษา และโปรโตคอลอะแดปเตอร์การแก้ไขข้อบกพร่อง
เนื่องจาก Theia/Cloud Shell Editor เป็นเครื่องมือที่ค่อนข้างซับซ้อน การอธิบายฟีเจอร์ทั้งหมดของ Cloud Shell Editor จึงอยู่นอกขอบเขตของแล็บนี้ ในส่วนนี้ คุณจะได้ดูแนวคิดหลักและฟีเจอร์ที่ไม่เหมือนใครบางอย่างที่พร้อมใช้งานในการติดตั้งใช้งาน Google Cloud นี้
การเข้าถึง Cloud Shell Editor
คุณเข้าถึง Cloud Shell Editor ได้ 3 วิธีดังนี้
- เข้าถึงจากบรรทัดคำสั่ง
- เข้าถึงผ่านเมนู Cloud Shell
- การเข้าชม URL ในเบราว์เซอร์
ลองใช้วิธีเหล่านี้โดยทำตามขั้นตอนต่อไปนี้
- เปิด .bashrc จากบรรทัดคำสั่งด้วยคำสั่งต่อไปนี้
cloudshell edit $HOME/.bashrc
- เปิด Cloud Shell จากเมนูโดยคลิกปุ่มเปิดตัวแก้ไข
:
ซึ่งจะเปิด 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 แล้วเลือกเทอร์มินัล > เทอร์มินัลใหม่ (หรือกด Ctrl + `` ในแป้นพิมพ์) แผงเทอร์มินัลใหม่จะเปิดขึ้นที่ส่วนล่างของ Cloud Shell Editor ซึ่งคุณสามารถใช้สำหรับความต้องการของเชลล์ทั้งหมดได้

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

ตัวอย่างบางส่วนมีดังนี้
- ธีมสี: คุณสามารถใช้ธีมสว่าง ธีมมืด หรือใช้ชุดสีแบบกำหนดเอง (สีพื้นฐาน เช่น สีแบบอักษรและสีพื้นหลัง)
- ขนาดข้อความ: มีขนาดแบบอักษรให้เลือก 5 ขนาด
- แบบอักษร: Courier New หรือ Monospace
- คัดลอกการตั้งค่า: คุณสามารถเปลี่ยนแป้นพิมพ์ลัดสำหรับการคัดลอกให้คล้ายกับแป้นพิมพ์ลัดที่ใช้ในโปรแกรมจำลองเทอร์มินัล Linux ที่ได้รับความนิยมมากที่สุดได้ที่นี่
- แป้นพิมพ์: การแมปแป้น Meta กับ Alt (โดยค่าเริ่มต้น Meta คือ ESC) และการแมปแป้น Alt Gr ในระบบปฏิบัติการบางระบบ
การกำหนดค่าสภาพแวดล้อมของ Shell
ในฐานะโปรแกรมจำลองเทอร์มินัลที่เรียกใช้ Shell ในเครื่อง Linux ที่ใช้ Debian คุณสามารถปรับแต่งสภาพแวดล้อมของ Shell ได้ในลักษณะเดียวกับที่ทำใน Linux ดังนั้น ไฟล์การกำหนดค่าใดๆ ที่อยู่ใน $HOME (เช่น .bashrc)) จะได้รับการจัดหาทุกครั้งที่มีการสร้างกระบวนการเชลล์การเข้าสู่ระบบใหม่
นอกจากนี้ 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เมื่อดำเนินการสำเร็จ - เมื่อใดก็ตามที่เริ่มกระบวนการเชลล์ใหม่ (หน้าต่างใหม่ แท็บใหม่...) ระบบจะอ่านไฟล์การกำหนดค่าเชลล์ Bash ปกติ
ฝึกใช้ทั้ง 2 อย่างโดยทำตามขั้นตอนต่อไปนี้
- เรียกใช้คำสั่งต่อไปนี้เพื่อเปิดใช้การปรับแต่งที่ที่เก็บระบุไว้
cd cloud-code-getting-started
source set_env_cust.sh
ซึ่งจะตั้งค่าทั้งตัวเลือกการปรับแต่งที่กล่าวถึงก่อนหน้านี้และเปิดใช้ตัวเลือกเหล่านั้น
- สังเกตพรอมต์เชลล์ใหม่ สคริปต์ Bash ที่มาจากไฟล์
.bash_profileได้กำหนดค่าพรอมต์ใหม่นี้ให้สั้นกว่าค่าเริ่มต้น และมีข้อมูล Git พื้นฐาน เช่น สาขาที่เช็คเอาต์หรือสถานะ Git - ตอนนี้มีนามแฝง
codeใหม่สำหรับคำสั่งcloudshell editซึ่งสั้นกว่า ใช้เพื่อดูเนื้อหาของไฟล์.bash_profileดังนี้
code $HOME/.bash_profile
- ใช้คำสั่ง
batที่เพิ่งติดตั้งเพื่อดูเนื้อหาของไฟล์.customize_environment
bat $HOME/.customize_environment
bat เป็นเวอร์ชันที่ได้รับการปรับปรุงของเครื่องมือ cat ยอดนิยมของ Unix เอาต์พุต bat แสดงคำสั่ง apt install ที่ใช้ในการติดตั้ง hey ซึ่งเป็นเครื่องมือทดสอบการโหลดซ้ำทุกครั้งที่มีการเปิดเครื่อง Cloud Shell ใหม่
- ทดสอบว่าทุกอย่างทำงานได้โดยคลิกเมนู Cloud Shell (จุด 3 จุดที่มุมขวาบน) แล้วเลือกรีสตาร์ท
ซึ่งจะช่วยให้คุณจำลองการหมดเวลาของ Cloud Shell และการสร้างอินสแตนซ์ใหม่ได้ เพื่อให้มั่นใจว่าทุกอย่างได้รับการกำหนดค่าอย่างถูกต้อง
การปรับแต่งอิมเมจคอนเทนเนอร์ Cloud Shell
ตัวเลือกการปรับแต่งนี้ช่วยให้คุณสร้างอิมเมจ Docker ที่ทำหน้าที่เป็นสภาพแวดล้อมของ Shell ใน Cloud Shell ที่กำหนดเองพร้อมแพ็กเกจเพิ่มเติมและการกำหนดค่าที่กำหนดเองได้ รูปภาพที่สร้างขึ้นจะเปิดอินสแตนซ์ Cloud Shell แบบชั่วคราวทั้งหมด ดังนั้นทั้ง VM ของ Cloud Shell และไดเรกทอรี $HOME ที่แนบมาจะไม่คงอยู่ อย่างไรก็ตาม การสร้างอิมเมจนี้จะมีประโยชน์สำหรับกรณีการใช้งานที่คุณต้องส่งอินสแตนซ์ Cloud Shell ที่เฉพาะเจาะจงฟังก์ชันไปยังบุคคลที่สามเพื่อให้บุคคลที่สามสามารถทำงานที่เฉพาะเจาะจงได้อย่างมีประสิทธิภาพสูงสุด
แทนที่จะปรับแต่งสภาพแวดล้อมเหมือนที่ทำในส่วนก่อนหน้า คุณจะฝังการเปลี่ยนแปลงในอิมเมจใหม่ที่ใช้เพื่อเปิดใช้งาน Cloud Shell ซึ่งมีข้อดีที่ชัดเจนเนื่องจาก Cloud Shell ที่กำหนดเองจะเริ่มทำงานได้เร็วขึ้น
การสร้างอิมเมจ Cloud Shell ใหม่
- เริ่มสร้างอิมเมจคอนเทนเนอร์ 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 ด้วย
- เพิ่มบรรทัด
RUN apt install -y heyไปยังบรรทัดสุดท้ายของ Dockerfile
echo "RUN apt install -y hey" >> $HOME/custom-cloud-shell/Dockerfile
ซึ่งจะตั้งค่าการปรับแต่งแบบเดียวกับที่คุณมีใน .customize_environment แต่จะฝังไว้ในคอนเทนเนอร์แทน
- สร้างอิมเมจในเครื่องโดยใช้คำสั่งต่อไปนี้
cloudshell env build-local
- ทดสอบอิมเมจใหม่โดยเรียกใช้คำสั่งต่อไปนี้
cloudshell env run
ตอนนี้คุณจะอยู่ในเชลล์ภายในอิมเมจ
- ทดสอบว่าได้ติดตั้งคำสั่ง
heyแล้วโดยเรียกใช้คำสั่ง
hey
- เมื่อเสร็จแล้ว ให้พิมพ์
exitเพื่อออกจากคอนเทนเนอร์
exit
- พุชการเปลี่ยนแปลงไปยัง Cloud Source Repositories และอิมเมจไปยัง Container Registry โดยทำดังนี้
git commit -a -m "Initial commit"
git push origin master
cloudshell env push
ทดสอบรูปภาพใหม่
- ตั้งค่าให้รูปภาพแสดงแบบสาธารณะเพื่อให้คุณใช้รูปภาพได้
gsutil iam ch allUsers:objectViewer $(gsutil ls)
- สร้าง URL ที่คุณใช้เพื่อทดสอบอินสแตนซ์ที่กำหนดเองของ Cloud Shell ที่เผยแพร่ได้โดยทำดังนี้
echo "https://ssh.cloud.google.com/cloudshell/editor?cloudshell_image=gcr.io/$GOOGLE_CLOUD_PROJECT/custom-cloud-shell"
- คัดลอก URL เอาต์พุตแล้ววางในแท็บเบราว์เซอร์ใหม่ จากนั้นอินสแตนซ์ที่กำหนดเองของ Cloud Shell จะเปิดขึ้น โปรดสังเกตว่าเมื่อเข้าถึงอินสแตนซ์ จะมีแบนเนอร์ที่ระบุว่าคุณกำลังเรียกใช้ในโหมดชั่วคราวแบบเต็ม

- ทดสอบรูปภาพอีกครั้งโดยเรียกใช้คำสั่ง hey
hey
- เมื่อเสร็จแล้ว ให้
exitอินสแตนซ์ Cloud Shell แบบชั่วคราว กลับไปที่แท็บที่เปิด Cloud Shell ปกติ แล้วคลิกเชื่อมต่ออีกครั้ง
เข้าถึง Cloud Shell จากระยะไกลด้วย SSH
นอกจากนี้ คุณยังใช้ฟีเจอร์ Cloud Shell จากระยะไกลจากคอมพิวเตอร์ในเครื่องได้ด้วย โดยทั่วไปแล้วจะเกี่ยวข้องกับกรณีการใช้งาน 2 กรณีที่แตกต่างกัน ดังนี้
- การ SSH ไปยังเครื่อง Cloud Shell จากเทอร์มินัลในเครื่อง
- การต่อเชื่อมไดเรกทอรี
$HOMEระยะไกลของ Cloud Shell ในเครื่อง
โดยคุณจะต้องติดตั้ง Google Cloud SDK ไว้ในเครื่อง นอกจากนี้ คุณยังต้องกำหนดค่าด้วยรหัสโปรเจ็กต์และข้อมูลเข้าสู่ระบบเฉพาะที่คุณใช้
ทำตามขั้นตอนต่อไปนี้จากโปรแกรมจำลองเทอร์มินัลที่ทำงานในเครื่องภายใน
- ตั้งค่ารหัสโปรเจ็กต์ GCP และเข้าสู่ระบบด้วยข้อมูลเข้าสู่ระบบที่สอดคล้องกับองค์กรระบบคลาวด์ที่คุณมี Cloud Shell
gcloud config set project <your project id>
gcloud auth login
- SSH ไปยังเครื่อง Cloud Shell ระยะไกล
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
ซึ่งจะแสดงคำสั่งเมานต์ที่คุณต้องออกเพื่อเมานต์ Cloud Shell ในเครื่องและเมานต์ คุณจะเห็นเนื้อหาของไดเรกทอรีหน้าแรกของ Cloud Shell ที่ติดตั้งในเครื่องของคุณ
ตอนนี้คุณสามารถเปิด IDE เช่น VSCode ในเครื่องและเปิดพื้นที่ทำงานที่อยู่ระยะไกลในระบบคลาวด์ได้แล้ว ในขณะเดียวกัน การใช้การเข้าถึง SSH ไปยัง Cloud Shell จะช่วยให้คุณเปิดแผงเทอร์มินัลภายใน IDE เพื่อรวมเทอร์มินัลระยะไกลไว้ใน IDE ในเครื่องได้ด้วย
5. การใช้ Cloud Code
Cloud Code เป็นปลั๊กอินที่ Google พัฒนาขึ้นเพื่อช่วยให้นักพัฒนาซอฟต์แวร์ทำงานกับเครื่องมือบนระบบคลาวด์ได้อย่างมีประสิทธิภาพมากขึ้น โดยพร้อมใช้งานใน IDE และโปรแกรมแก้ไขโค้ดหลายรายการ เช่น VSCode และผลิตภัณฑ์ Jetbrains และผสานรวมไว้ใน Cloud Shell Editor โดยค่าเริ่มต้นเพื่อความสะดวกของคุณ Cloud Code มีฟีเจอร์มากมายที่เหมาะสำหรับนักพัฒนาแอป ซึ่งคุณจะได้ฝึกใช้ในขั้นตอนถัดไป
การค้นหา Cloud Code ใน Cloud Shell Editor
การใช้ปุ่มการเข้าถึงด่วน
ค้นหาปุ่ม 4 ปุ่มต่อไปนี้ที่แสดงในแผงด้านซ้ายของเครื่องมือแก้ไข

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

- <> Cloud Code: การคลิกที่นี่จะแสดงเมนูการดำเนินการด่วนที่คุณจะใช้ในบทแนะนำนี้

- ควบคุม Minikube: การดำเนินการนี้จะช่วยให้คุณควบคุมโปรแกรมจำลอง Kubernetes ในเครื่องอย่าง Minikube ได้ด้วยการดำเนินการพื้นฐาน เช่น การเริ่มหรือหยุดคลัสเตอร์
การสร้างอินสแตนซ์ Minikube
สร้างอินสแตนซ์ Minikube ตอนนี้โดยคลิกปุ่ม

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

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

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

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