1. วัตถุประสงค์
ในห้องทดลองนี้ คุณจะทำสิ่งต่อไปนี้ได้
- สำรวจปลั๊กอิน Cloud Code
- ทำให้ใช้งานได้กับคลัสเตอร์ Kubernetes
- สตรีมบันทึก Kubernetes
- ใช้การโหลดการเปลี่ยนแปลงแบบ Hot
- แก้ไขข้อบกพร่องของแอป Kubernetes ที่ทำงานอยู่
2. กำลังเตรียมพื้นที่ทำงาน
โคลนแอป
หากต้องการโคลนที่เก็บและเปิดที่เก็บดังกล่าวในสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ ให้ทำดังนี้
- เปิดเครื่องมือแก้ไข Cloud Shell โดยไปที่ URL ต่อไปนี้
https://ide.cloud.google.com
- โคลนแหล่งที่มาของแอปพลิเคชันด้วยคำสั่งต่อไปนี้ในหน้าต่างเทอร์มินัล
git clone https://github.com/viglesiasce/sample-app.git -b golden-path
- เปลี่ยนเป็นไดเรกทอรีและตั้งค่าพื้นที่ทำงาน IDE เป็นรูทของที่เก็บ
cd sample-app && cloudshell workspace .
เริ่มใช้ Minikube
ในส่วนนี้ คุณจะได้สร้าง ทดสอบ ทำให้ใช้งานได้ และเข้าถึงแอปพลิเคชันโดยใช้ Kubernetes เวอร์ชันในเครื่องที่เรียกว่า Minikube
- ที่เทอร์มินัล ให้เริ่ม minikube ด้วยการเรียกใช้:
minikube start
Minikube ตั้งค่าคลัสเตอร์ Kubernetes ในเครื่องใน Cloud Shell การตั้งค่านี้จะใช้เวลา 2-3 นาที ในระหว่างนี้ โปรดสละเวลาสักครู่เพื่อตรวจสอบอินเทอร์เฟซต่างๆ ที่ Cloud Code มีให้ในขั้นตอนถัดไป
3. การสำรวจปลั๊กอิน Cloud Code
Cloud Code ให้การสนับสนุน IDE สำหรับรอบการพัฒนาแอปพลิเคชัน Kubernetes และแอปพลิเคชัน Cloud Run อย่างเต็มรูปแบบ ตั้งแต่การสร้างแอปพลิเคชันจากเทมเพลตที่มีอยู่ไปจนถึงการตรวจสอบทรัพยากรของแอปที่ทำให้ใช้งานได้แล้ว คุณจะใช้คำสั่งและมุมมองต่างๆ ที่ Cloud Code มีให้ ในขั้นตอนนี้ คุณจะได้ทำความคุ้นเคยกับอินเทอร์เฟซพื้นฐาน
ตรวจสอบมุมมองของนักสำรวจจากแถบกิจกรรม
แผงอินเทอร์เฟซผู้ใช้หลายรายการจะเข้าถึงได้จากแถบกิจกรรม หากต้องการทำความคุ้นเคยกับมุมมองต่างๆ ให้คลิกที่ไอคอนของแต่ละมุมมอง
โปรแกรมสำรวจ API
- คลิกไอคอน Cloud Code - Cloud APIs จากแถบกิจกรรม โปรดดูรายละเอียดเพิ่มเติมสำหรับการทำงานในมุมมองนี้ในเอกสารประกอบ
นักสำรวจ Secret Manager
- คลิกมุมมอง Secret Manager ในแถบกิจกรรม โปรดดูรายละเอียดเพิ่มเติมสำหรับการทำงานในมุมมองนี้ในเอกสารประกอบ
Cloud Run Explorer
- ไปที่ Cloud Run Explorer โดยใช้ไอคอน Cloud Run ในแถบกิจกรรมทางด้านซ้าย โปรดดูรายละเอียดเพิ่มเติมสำหรับการทำงานในมุมมองนี้ในเอกสารประกอบ
ตัวสำรวจ Kubernetes:
- ไปที่ Kubernetes Explorer โดยใช้ไอคอนในแถบกิจกรรมทางด้านซ้าย โปรดดูรายละเอียดเพิ่มเติมสำหรับการทำงานในมุมมองนี้ในเอกสารประกอบ
ตรวจสอบคำสั่งในแถบสถานะ
คุณสามารถเข้าถึงคำสั่งที่ใช้บ่อยได้อย่างรวดเร็วผ่านสัญญาณบอกสถานะในแถบสถานะ
- ค้นหาสัญญาณบอกสถานะส่วนขยาย Cloud Code ในแถบสถานะ วิธีการคือและคลิก
- ตรวจสอบคำสั่งต่างๆ ที่พร้อมใช้งานสำหรับเรียกใช้และแก้ไขข้อบกพร่องบน CloudRun และ Kubernetes
- คลิก "เปิดหน้ายินดีต้อนรับ" เพื่อดูรายละเอียดเพิ่มเติมและกิจกรรมตัวอย่าง
ตรวจสอบคำสั่งพาเล็ตคำสั่ง
มีคำสั่งเพิ่มเติมจากแผงคำสั่ง ตรวจสอบรายการคําสั่งที่คุณเข้าถึงได้
- เปิดชุดคำสั่ง (กด Ctrl/Cmd+Shift+P) จากนั้นพิมพ์ Cloud Code เพื่อกรองคำสั่งที่มี
- ใช้ปุ่มลูกศรเพื่อเลื่อนดูรายการคำสั่ง
4. กำลังทำให้ใช้งานได้กับคลัสเตอร์ Kubernetes
ในส่วนนี้ คุณจะได้สร้าง ทดสอบ ทำให้ใช้งานได้ และเข้าถึงแอปพลิเคชัน
ขั้นตอนด้านล่างจะเริ่มสร้างซอร์สโค้ดแล้วทำการทดสอบ บิลด์และการทดสอบจะใช้เวลา 2-3 นาที การทดสอบเหล่านี้ประกอบด้วยการทดสอบ 1 หน่วยและขั้นตอนการตรวจสอบซึ่งจะตรวจสอบกฎที่ตั้งไว้สำหรับสภาพแวดล้อมการติดตั้งใช้งาน มีการกำหนดค่าขั้นตอนการตรวจสอบความถูกต้องนี้แล้ว เพื่อให้แน่ใจว่าคุณจะได้รับคำเตือนเกี่ยวกับปัญหาการทำให้ใช้งานได้แม้ว่าคุณยังคงทำงานในสภาพแวดล้อมการพัฒนาของคุณ
- ในบานหน้าต่างท้าย Cloud Shell Editor ให้เลือก Cloud Code
- เลือก "เรียกใช้บน Kubernetes" ในแผงที่ปรากฏขึ้นด้านบน หากได้รับข้อความแจ้ง ให้เลือก "ใช่" เพื่อใช้บริบท Kubernetes แบบ minikube
- เลือกแท็บเอาต์พุตในแผงด้านล่าง เพื่อดูความคืบหน้าและการแจ้งเตือน
- เลือก "Kubernetes: เรียกใช้/แก้ไขข้อบกพร่อง - แบบละเอียด" ในเมนูแบบเลื่อนลงของช่องซึ่งอยู่ทางขวา เพื่อดูรายละเอียดเพิ่มเติมและบันทึกที่สตรีมแบบสดจากคอนเทนเนอร์
เมื่อสร้างและทดสอบเสร็จแล้ว แท็บเอาต์พุตจะแสดงข้อความ: Resource deployment/sample-app-dev status completed successfully
และแสดงรายการ URL 2 รายการ
- ในเทอร์มินัล Cloud Code ให้วางเมาส์เหนือ URL แรกในเอาต์พุต (http://localhost:8080) แล้วเลือก "เปิดตัวอย่างเว็บ" ในเคล็ดลับเครื่องมือที่ปรากฏขึ้น
เวอร์ชันในเครื่องของแอปพลิเคชันจะเปิดขึ้นในเบราว์เซอร์ แอปเวอร์ชันนี้กำลังทำงานในคลัสเตอร์ Kubernetes ของ minikube
- รีเฟรชหน้าเว็บในเบราว์เซอร์ ตัวเลขข้าง "ตัวนับ" เพิ่มขึ้น ซึ่งแสดงว่าแอปกำลังตอบสนองต่อการรีเฟรชของคุณ
ในเบราว์เซอร์ ให้เปิดหน้านี้ไว้เพื่อให้คุณสามารถดูแอปพลิเคชันเมื่อทำการเปลี่ยนแปลงในสภาพแวดล้อมในเครื่องได้
5. ใช้การโหลดการเปลี่ยนแปลงแบบ Hot
ในส่วนนี้ คุณจะทำการเปลี่ยนแปลงกับแอปพลิเคชัน และดูการเปลี่ยนแปลงขณะที่แอปทำงานในคลัสเตอร์ Kubernetes ในเครื่อง ในแท็บเอาต์พุตสำหรับ Kubernetes: ช่องทางเรียกใช้/แก้ไขข้อบกพร่อง นอกเหนือจาก URL ของแอปพลิเคชัน เอาต์พุตยังระบุว่า Watching for changes.
ด้วย ซึ่งหมายความว่าเปิดใช้โหมดการดูแล้ว ขณะที่ Cloud Code อยู่ในโหมดนาฬิกา Cloud Code จะตรวจหาการเปลี่ยนแปลงที่บันทึกไว้ในที่เก็บของคุณ และจะสร้างแอปใหม่และทำให้แอปใช้งานได้อีกครั้งพร้อมด้วยการเปลี่ยนแปลงล่าสุดโดยอัตโนมัติ
- ใน Cloud Shell Editor ให้ไปที่ไฟล์ main.go
- ในไฟล์ main.go นี้ ให้เปลี่ยนสีจากสีเขียวเป็นสีน้ำเงินในบรรทัดที่ 23
- บันทึกไฟล์
Cloud Code ตรวจพบว่ามีการบันทึกการเปลี่ยนแปลงในแอป และนำการเปลี่ยนแปลงมาใช้อีกครั้งโดยอัตโนมัติ แท็บเอาต์พุตจะแสดงว่าการอัปเดตเริ่มต้นแล้ว การติดตั้งใช้งานใหม่จะใช้เวลาสักครู่ในการเรียกใช้
การสร้างใหม่โดยอัตโนมัตินี้คล้ายกับการโหลดโค้ดฮอตซ้ำ ซึ่งเป็นฟีเจอร์ที่ใช้ได้กับแอปพลิเคชันและเฟรมเวิร์กบางประเภท
- เมื่อสร้างเสร็จแล้ว ให้ไปที่เบราว์เซอร์ที่คุณเปิดแอปไว้และรีเฟรชหน้าเว็บ
เมื่อรีเฟรช สีที่ด้านบนของตารางจะเปลี่ยนจากสีน้ำเงินเป็นสีเขียว
การตั้งค่านี้จะช่วยให้คุณสามารถโหลดซ้ำโดยอัตโนมัติสำหรับสถาปัตยกรรมที่มีคอมโพเนนต์ต่างๆ เมื่อใช้ Cloud Code และ minikube อะไรก็ตามที่กำลังทำงานใน Kubernetes จะมีฟังก์ชันการโหลดโค้ดใหม่ซ้ำ
6. การแก้ไขข้อบกพร่องของแอป Kubernetes ที่ทำงานอยู่
คุณได้เรียกใช้แอปพลิเคชัน ทำการเปลี่ยนแปลง และดูแอปที่กำลังทำงาน ในส่วนนี้ คุณจะได้แก้ไขข้อบกพร่องของแอปพลิเคชันเพื่อให้มั่นใจได้ว่าแอปพร้อมที่จะส่งกลับไปยังที่เก็บหลัก
สำหรับตัวอย่างการแก้ไขข้อบกพร่องนี้ เราจะเน้นในส่วนของโค้ดสำหรับตัวนับหน้าเว็บ
- ใน Cloud Shell Editor ให้เปิดไฟล์ main.go
- ตั้งค่าเบรกพอยท์ในแอปพลิเคชันโดยคลิกที่หมายเลขทางซ้ายของบรรทัดที่ 82 (หากทำผิดพลาด != nil {)
- ในบานหน้าต่างสีน้ำเงินที่ด้านล่างของ Cloud Shell Editor ให้เลือก Cloud Code
- เลือก "แก้ไขข้อบกพร่องบน Kubernetes" ในแผงที่ปรากฏขึ้นด้านบน
Cloud Code จะเรียกใช้และแนบโปรแกรมแก้ไขข้อบกพร่องเพื่อให้คุณเข้าถึงสถานะในหน่วยความจำของแอปพลิเคชันได้ ไม่ใช่เพียงพฤติกรรมที่แสดงต่อผู้ใช้ของแอปพลิเคชันเท่านั้น
- เมื่อสิ้นสุดขั้นตอนการทำให้ใช้งานได้ ข้อความแจ้งจะปรากฏที่ด้านบนของหน้าต่างเพื่อขอให้ยืนยันไดเรกทอรีในคอนเทนเนอร์ที่ติดตั้งใช้งานแอปพลิเคชัน
ยืนยันว่าได้ตั้งค่าเป็น /go/src/app แล้วกด Enter เพื่อยอมรับค่า
- รอให้โปรแกรมแก้ไขข้อบกพร่องทำให้ใช้งานได้ให้เสร็จสิ้น คุณจะรู้ว่าเสร็จสมบูรณ์เมื่อแถบสถานะเปลี่ยนเป็นสีส้มและรายงานเอาต์พุต
"Attached debugger to container "sample-app-dev-..." successfully
" - ในเทอร์มินัล Cloud Code ให้วางเมาส์เหนือ URL แรกในเอาต์พุต (http://localhost:8081) แล้วเลือก "เปิดตัวอย่างเว็บ" ในเคล็ดลับเครื่องมือที่ปรากฏขึ้น หน้าเว็บไม่โหลดเสร็จตามที่คาดไว้
- เปลี่ยนกลับไปเป็น IDE ซึ่งตอนนี้โปรแกรมแก้ไขข้อบกพร่องจะปรากฏ โค้ดปรากฏขึ้นในแท็บและคุณจะเห็นสแต็กการเรียกใช้ รวมถึงตัวแปรที่ใช้ได้ที่ส่วนดังกล่าวของโค้ด คุณสามารถขยายตัวแปร - ภายในเพื่อดูค่าตัวแปรตัวนับปัจจุบันที่นี่
- หากต้องการอนุญาตให้หน้าเว็บโหลดต่อ ให้เลือกปุ่ม "ดำเนินการต่อ" ไอคอนในหน้าต่างแก้ไขข้อบกพร่อง
- เมื่อแก้ไขข้อบกพร่องเสร็จแล้ว ให้คลิกปุ่มหยุดเพื่อสิ้นสุดชุดข้อความที่กำลังทำงานอยู่