การพัฒนาด้วย Cloud Code

1. วัตถุประสงค์

ในห้องทดลองนี้ คุณจะทำสิ่งต่อไปนี้ได้

  • สำรวจปลั๊กอิน Cloud Code
  • ทำให้ใช้งานได้กับคลัสเตอร์ Kubernetes
  • สตรีมบันทึก Kubernetes
  • ใช้การโหลดการเปลี่ยนแปลงแบบ Hot
  • แก้ไขข้อบกพร่องของแอป Kubernetes ที่ทำงานอยู่

2. กำลังเตรียมพื้นที่ทำงาน

โคลนแอป

หากต้องการโคลนที่เก็บและเปิดที่เก็บดังกล่าวในสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ ให้ทำดังนี้

  1. เปิดเครื่องมือแก้ไข Cloud Shell โดยไปที่ URL ต่อไปนี้

https://ide.cloud.google.com

  1. โคลนแหล่งที่มาของแอปพลิเคชันด้วยคำสั่งต่อไปนี้ในหน้าต่างเทอร์มินัล

git clone https://github.com/viglesiasce/sample-app.git -b golden-path

  1. เปลี่ยนเป็นไดเรกทอรีและตั้งค่าพื้นที่ทำงาน IDE เป็นรูทของที่เก็บ

cd sample-app && cloudshell workspace .

เริ่มใช้ Minikube

ในส่วนนี้ คุณจะได้สร้าง ทดสอบ ทำให้ใช้งานได้ และเข้าถึงแอปพลิเคชันโดยใช้ Kubernetes เวอร์ชันในเครื่องที่เรียกว่า Minikube

  1. ที่เทอร์มินัล ให้เริ่ม 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 จากแถบกิจกรรม โปรดดูรายละเอียดเพิ่มเติมสำหรับการทำงานในมุมมองนี้ในเอกสารประกอบ

ded1723c524edd72.png

นักสำรวจ Secret Manager

  • คลิกมุมมอง Secret Manager ในแถบกิจกรรม โปรดดูรายละเอียดเพิ่มเติมสำหรับการทำงานในมุมมองนี้ในเอกสารประกอบ

89f88159bcf79fa9.png

Cloud Run Explorer

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

a1d583fd06413011.png

ตัวสำรวจ Kubernetes:

  • ไปที่ Kubernetes Explorer โดยใช้ไอคอนในแถบกิจกรรมทางด้านซ้าย โปรดดูรายละเอียดเพิ่มเติมสำหรับการทำงานในมุมมองนี้ในเอกสารประกอบ

b2b8ab3975c5b0c9.png

ตรวจสอบคำสั่งในแถบสถานะ

คุณสามารถเข้าถึงคำสั่งที่ใช้บ่อยได้อย่างรวดเร็วผ่านสัญญาณบอกสถานะในแถบสถานะ

  • ค้นหาสัญญาณบอกสถานะส่วนขยาย Cloud Code ในแถบสถานะ d61e85cf23a32a40.png วิธีการคือและคลิก
  • ตรวจสอบคำสั่งต่างๆ ที่พร้อมใช้งานสำหรับเรียกใช้และแก้ไขข้อบกพร่องบน CloudRun และ Kubernetes
  • คลิก "เปิดหน้ายินดีต้อนรับ" เพื่อดูรายละเอียดเพิ่มเติมและกิจกรรมตัวอย่าง

ตรวจสอบคำสั่งพาเล็ตคำสั่ง

มีคำสั่งเพิ่มเติมจากแผงคำสั่ง ตรวจสอบรายการคําสั่งที่คุณเข้าถึงได้

  • เปิดชุดคำสั่ง (กด Ctrl/Cmd+Shift+P) จากนั้นพิมพ์ Cloud Code เพื่อกรองคำสั่งที่มี
  • ใช้ปุ่มลูกศรเพื่อเลื่อนดูรายการคำสั่ง

4. กำลังทำให้ใช้งานได้กับคลัสเตอร์ Kubernetes

ในส่วนนี้ คุณจะได้สร้าง ทดสอบ ทำให้ใช้งานได้ และเข้าถึงแอปพลิเคชัน

ขั้นตอนด้านล่างจะเริ่มสร้างซอร์สโค้ดแล้วทำการทดสอบ บิลด์และการทดสอบจะใช้เวลา 2-3 นาที การทดสอบเหล่านี้ประกอบด้วยการทดสอบ 1 หน่วยและขั้นตอนการตรวจสอบซึ่งจะตรวจสอบกฎที่ตั้งไว้สำหรับสภาพแวดล้อมการติดตั้งใช้งาน มีการกำหนดค่าขั้นตอนการตรวจสอบความถูกต้องนี้แล้ว เพื่อให้แน่ใจว่าคุณจะได้รับคำเตือนเกี่ยวกับปัญหาการทำให้ใช้งานได้แม้ว่าคุณยังคงทำงานในสภาพแวดล้อมการพัฒนาของคุณ

  1. ในบานหน้าต่างท้าย Cloud Shell Editor ให้เลือก Cloud Code d61e85cf23a32a40.png
  2. เลือก "เรียกใช้บน Kubernetes" ในแผงที่ปรากฏขึ้นด้านบน หากได้รับข้อความแจ้ง ให้เลือก "ใช่" เพื่อใช้บริบท Kubernetes แบบ minikube
  3. เลือกแท็บเอาต์พุตในแผงด้านล่าง 4866761cb9c691e2.png เพื่อดูความคืบหน้าและการแจ้งเตือน
  4. เลือก "Kubernetes: เรียกใช้/แก้ไขข้อบกพร่อง - แบบละเอียด" ในเมนูแบบเลื่อนลงของช่องซึ่งอยู่ทางขวา c5e31091d464dbcf.png เพื่อดูรายละเอียดเพิ่มเติมและบันทึกที่สตรีมแบบสดจากคอนเทนเนอร์

เมื่อสร้างและทดสอบเสร็จแล้ว แท็บเอาต์พุตจะแสดงข้อความ: Resource deployment/sample-app-dev status completed successfully และแสดงรายการ URL 2 รายการ

  1. ในเทอร์มินัล Cloud Code ให้วางเมาส์เหนือ URL แรกในเอาต์พุต (http://localhost:8080) แล้วเลือก "เปิดตัวอย่างเว็บ" ในเคล็ดลับเครื่องมือที่ปรากฏขึ้น

เวอร์ชันในเครื่องของแอปพลิเคชันจะเปิดขึ้นในเบราว์เซอร์ แอปเวอร์ชันนี้กำลังทำงานในคลัสเตอร์ Kubernetes ของ minikube

  1. รีเฟรชหน้าเว็บในเบราว์เซอร์ ตัวเลขข้าง "ตัวนับ" เพิ่มขึ้น ซึ่งแสดงว่าแอปกำลังตอบสนองต่อการรีเฟรชของคุณ

ในเบราว์เซอร์ ให้เปิดหน้านี้ไว้เพื่อให้คุณสามารถดูแอปพลิเคชันเมื่อทำการเปลี่ยนแปลงในสภาพแวดล้อมในเครื่องได้

5. ใช้การโหลดการเปลี่ยนแปลงแบบ Hot

ในส่วนนี้ คุณจะทำการเปลี่ยนแปลงกับแอปพลิเคชัน และดูการเปลี่ยนแปลงขณะที่แอปทำงานในคลัสเตอร์ Kubernetes ในเครื่อง ในแท็บเอาต์พุตสำหรับ Kubernetes: ช่องทางเรียกใช้/แก้ไขข้อบกพร่อง นอกเหนือจาก URL ของแอปพลิเคชัน เอาต์พุตยังระบุว่า Watching for changes. ด้วย ซึ่งหมายความว่าเปิดใช้โหมดการดูแล้ว ขณะที่ Cloud Code อยู่ในโหมดนาฬิกา Cloud Code จะตรวจหาการเปลี่ยนแปลงที่บันทึกไว้ในที่เก็บของคุณ และจะสร้างแอปใหม่และทำให้แอปใช้งานได้อีกครั้งพร้อมด้วยการเปลี่ยนแปลงล่าสุดโดยอัตโนมัติ

  1. ใน Cloud Shell Editor ให้ไปที่ไฟล์ main.go
  2. ในไฟล์ main.go นี้ ให้เปลี่ยนสีจากสีเขียวเป็นสีน้ำเงินในบรรทัดที่ 23
  3. บันทึกไฟล์

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

การสร้างใหม่โดยอัตโนมัตินี้คล้ายกับการโหลดโค้ดฮอตซ้ำ ซึ่งเป็นฟีเจอร์ที่ใช้ได้กับแอปพลิเคชันและเฟรมเวิร์กบางประเภท

  1. เมื่อสร้างเสร็จแล้ว ให้ไปที่เบราว์เซอร์ที่คุณเปิดแอปไว้และรีเฟรชหน้าเว็บ

เมื่อรีเฟรช สีที่ด้านบนของตารางจะเปลี่ยนจากสีน้ำเงินเป็นสีเขียว

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

6. การแก้ไขข้อบกพร่องของแอป Kubernetes ที่ทำงานอยู่

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

สำหรับตัวอย่างการแก้ไขข้อบกพร่องนี้ เราจะเน้นในส่วนของโค้ดสำหรับตัวนับหน้าเว็บ

  1. ใน Cloud Shell Editor ให้เปิดไฟล์ main.go
  2. ตั้งค่าเบรกพอยท์ในแอปพลิเคชันโดยคลิกที่หมายเลขทางซ้ายของบรรทัดที่ 82 (หากทำผิดพลาด != nil {)
  3. ในบานหน้าต่างสีน้ำเงินที่ด้านล่างของ Cloud Shell Editor ให้เลือก Cloud Code d61e85cf23a32a40.png
  4. เลือก "แก้ไขข้อบกพร่องบน Kubernetes" ในแผงที่ปรากฏขึ้นด้านบน

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

  1. เมื่อสิ้นสุดขั้นตอนการทำให้ใช้งานได้ ข้อความแจ้งจะปรากฏที่ด้านบนของหน้าต่างเพื่อขอให้ยืนยันไดเรกทอรีในคอนเทนเนอร์ที่ติดตั้งใช้งานแอปพลิเคชัน f96e9a814edb44f4.png

ยืนยันว่าได้ตั้งค่าเป็น /go/src/app แล้วกด Enter เพื่อยอมรับค่า

  1. รอให้โปรแกรมแก้ไขข้อบกพร่องทำให้ใช้งานได้ให้เสร็จสิ้น คุณจะรู้ว่าเสร็จสมบูรณ์เมื่อแถบสถานะเปลี่ยนเป็นสีส้มและรายงานเอาต์พุต "Attached debugger to container "sample-app-dev-..." successfully"
  2. ในเทอร์มินัล Cloud Code ให้วางเมาส์เหนือ URL แรกในเอาต์พุต (http://localhost:8081) แล้วเลือก "เปิดตัวอย่างเว็บ" ในเคล็ดลับเครื่องมือที่ปรากฏขึ้น หน้าเว็บไม่โหลดเสร็จตามที่คาดไว้
  3. เปลี่ยนกลับไปเป็น IDE ซึ่งตอนนี้โปรแกรมแก้ไขข้อบกพร่องจะปรากฏ โค้ดปรากฏขึ้นในแท็บและคุณจะเห็นสแต็กการเรียกใช้ รวมถึงตัวแปรที่ใช้ได้ที่ส่วนดังกล่าวของโค้ด คุณสามารถขยายตัวแปร - ภายในเพื่อดูค่าตัวแปรตัวนับปัจจุบันที่นี่
  4. หากต้องการอนุญาตให้หน้าเว็บโหลดต่อ ให้เลือกปุ่ม "ดำเนินการต่อ" ไอคอนในหน้าต่างแก้ไขข้อบกพร่อง 8f395391c4828528.png
  5. เมื่อแก้ไขข้อบกพร่องเสร็จแล้ว ให้คลิกปุ่มหยุดเพื่อสิ้นสุดชุดข้อความที่กำลังทำงานอยู่ 81d142a9e1a2c01b.png