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

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

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

  • สำรวจปลั๊กอิน Cloud Code
  • ทําให้ใช้งานได้ในคลัสเตอร์ Kubernetes
  • สตรีมบันทึก Kubernetes
  • ใช้การโหลดซ้ำแบบด่วนของการเปลี่ยนแปลง
  • แก้ไขข้อบกพร่องของแอป 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 ซึ่งการตั้งค่านี้จะใช้เวลาสักครู่ ในระหว่างที่กำลังเริ่มต้น โปรดสละเวลาสักครู่เพื่อตรวจสอบอินเทอร์เฟซต่างๆ ที่ Cloud Code มีให้ในขั้นตอนถัดไป

3. สำรวจปลั๊กอิน Cloud Code

Cloud Code ให้การรองรับ IDE สำหรับวงจรการพัฒนาแอปพลิเคชัน Kubernetes และ Cloud Run ทั้งหมด ตั้งแต่การสร้างแอปพลิเคชันจากเทมเพลตที่มีอยู่ไปจนถึงการตรวจสอบทรัพยากรของแอปที่ทําให้ใช้งานได้ คุณจะใช้คำสั่งและมุมมองต่างๆ ที่ Cloud Code มีให้ ในขั้นตอนนี้ คุณจะได้ทำความคุ้นเคยกับอินเทอร์เฟซพื้นฐาน

ตรวจสอบมุมมอง Explorer จากแถบกิจกรรม

เข้าถึงแผงอินเทอร์เฟซผู้ใช้หลายแผงได้จากแถบกิจกรรม หากต้องการทำความคุ้นเคยกับมุมมองต่างๆ โดยย่อ ให้คลิกไอคอนของแต่ละมุมมอง

โปรแกรมสำรวจ API:

  • คลิกไอคอน Cloud Code - Cloud APIs Cloud Code  จากแถบกิจกรรม ดูรายละเอียดเพิ่มเติมเกี่ยวกับการทำงานในมุมมองนี้ได้ในเอกสารประกอบ

ded1723c524edd72.png

Secret Manager Explorer:

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

89f88159bcf79fa9.png

Cloud Run Explorer:

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

a1d583fd06413011.png

ตัวสำรวจ Kubernetes:

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

b2b8ab3975c5b0c9.png

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

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

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

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

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

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

4. การติดตั้งใช้งานในคลัสเตอร์ Kubernetes

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

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

  1. เลือก Cloud Code  d61e85cf23a32a40.png ในแผงที่ด้านล่างของ Cloud Shell Editor
  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. ใช้การโหลดซ้ำแบบด่วนของการเปลี่ยนแปลง

ในส่วนนี้ คุณจะทำการเปลี่ยนแปลงแอปพลิเคชันและดูการเปลี่ยนแปลงขณะที่แอปทำงานในคลัสเตอร์ Kubernetes ในเครื่อง ในแท็บเอาต์พุตสำหรับช่อง Kubernetes: Run/Debug นอกเหนือจาก 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. เปิดไฟล์ main.go ใน Cloud Shell Editor
  2. ตั้งค่าเบรกพอยต์ในแอปพลิเคชันโดยคลิกที่หมายเลขบรรทัด 82 ทางด้านซ้าย (if err != 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