1. ก่อนเริ่มต้น
การดูแลเว็บไซต์อาจเป็นเรื่องยากเนื่องจากมีค่าใช้จ่ายเพิ่มเติมในการสร้างและจัดการอินสแตนซ์เครื่องเสมือน (VM), คลัสเตอร์, พ็อด, บริการ และอื่นๆ ซึ่งก็ใช้ได้กับแอปขนาดใหญ่หลายชั้น แต่หากคุณพยายามทำให้เว็บไซต์ใช้งานได้และแสดงผลเท่านั้น การทำเช่นนี้ก็จะทำให้สิ้นเปลืองทรัพยากรมาก
Cloud Run เป็นการใช้งาน Knative ใน Google Cloud ซึ่งช่วยให้คุณจัดการและทำให้เว็บไซต์ใช้งานได้โดยไม่ต้องเสียค่าใช้จ่ายเพิ่มเติมสำหรับการติดตั้งใช้งานแบบ VM หรือ Kubernetes วิธีนี้ไม่เพียงแต่จะง่ายกว่าจากมุมมองการจัดการเท่านั้น แต่ยังช่วยให้คุณปรับขนาดเป็น 0 ได้เมื่อไม่มีคำขอเข้ามาในเว็บไซต์
ในโค้ดแล็บนี้ คุณจะเริ่มด้วยอิมเมจ Docker ที่สร้างขึ้นผ่าน Cloud Build ซึ่งคุณเรียกให้แสดงใน Cloud Shell จากนั้นคุณทำให้อิมเมจดังกล่าวใช้งานได้กับ Cloud Run ด้วยคำสั่งใน Cloud Shell
ข้อกำหนดเบื้องต้น
- มีความรู้ทั่วไปเกี่ยวกับ Docker (ดูส่วนเริ่มต้นใช้งานของเว็บไซต์ Docker)
สิ่งที่คุณจะได้เรียนรู้
- วิธีสร้างอิมเมจ Docker ด้วย Cloud Build และอัปโหลดไปยัง gcr.io
- วิธีทำให้อิมเมจ Docker ใช้งานได้กับ Cloud Run
- วิธีจัดการการทำให้ใช้งานได้ของ Cloud Run
- วิธีตั้งค่าปลายทางสําหรับแอปใน Cloud Run
สิ่งที่คุณจะสร้าง
- เว็บไซต์แบบคงที่ที่ทำงานภายในคอนเทนเนอร์ Docker
- เวอร์ชันของคอนเทนเนอร์นี้ที่อยู่ใน Container Registry
- การติดตั้งใช้งาน Cloud Run สําหรับเว็บไซต์แบบคงที่
สิ่งที่คุณต้องมี
- บัญชี Google ที่มีสิทธิ์การเข้าถึงระดับผู้ดูแลระบบเพื่อสร้างโปรเจ็กต์หรือโปรเจ็กต์ที่มีบทบาทเจ้าของโปรเจ็กต์
2. การตั้งค่าสภาพแวดล้อม
การตั้งค่าสภาพแวดล้อมด้วยตนเอง
หากยังไม่มีบัญชี Google คุณต้องสร้างบัญชี จากนั้นลงชื่อเข้าใช้ Google Cloud Console แล้วคลิกโปรเจ็กต์ > สร้างโปรเจ็กต์
จดรหัสโปรเจ็กต์ไว้ ซึ่งระบบจะป้อนโดยอัตโนมัติใต้ชื่อโปรเจ็กต์ รหัสโปรเจ็กต์เป็นชื่อที่ไม่ซ้ำกันในโปรเจ็กต์ Google Cloud ทั้งหมด ดังนั้นชื่อในภาพหน้าจอจึงมีการใช้งานอยู่แล้วและจะใช้ไม่ได้ ซึ่งเราจะเรียกชื่อในภายหลังว่า PROJECT_ID
ถัดไป คุณต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร Google Cloud และเปิดใช้ Cloud Run API
เปิดใช้ Cloud Run API
คลิกเมนูการนำทาง ☰ > API และบริการ > หน้าแดชบอร์ด > เปิดใช้ API และบริการ
ค้นหา "Cloud Run API" จากนั้นคลิก Cloud Run API > เปิดใช้
การใช้งาน Codelab นี้ไม่น่าจะมีค่าใช้จ่ายเกิน 200 บาท แต่อาจมากกว่านั้นหากคุณตัดสินใจใช้ทรัพยากรเพิ่มเติมหรือปล่อยไว้ให้ทำงาน (ดูล้างข้อมูลที่ส่วนท้าย) ดูข้อมูลเพิ่มเติมได้ที่การกำหนดราคา
ผู้ใช้ใหม่ของ Google Cloud มีสิทธิ์รับช่วงทดลองใช้ฟรีมูลค่า$300
Cloud Shell
แม้ว่า Google Cloud และ Cloud Run จะทำงานจากระยะไกลจากแล็ปท็อปได้ แต่คุณจะใช้ Cloud Shell ซึ่งเป็นสภาพแวดล้อมบรรทัดคำสั่งที่ทำงานใน Google Cloud สภาพแวดล้อมได้รับการกําหนดค่าล่วงหน้าด้วยไลบรารีและเฟรมเวิร์กของไคลเอ็นต์ทั้งหมดที่คุณต้องการ
เครื่องเสมือนที่ใช้ Debian นี้จะโหลดเครื่องมือการพัฒนาทั้งหมดที่คุณต้องการ ซึ่งจะมีไดเรกทอรีหลักขนาด 5 GB ถาวรและทำงานใน Google Cloud ซึ่งช่วยเพิ่มประสิทธิภาพเครือข่ายและการรับรองได้อย่างมีประสิทธิภาพ ซึ่งหมายความว่าสิ่งที่คุณต้องใช้สำหรับโค้ดแล็บนี้ก็มีแค่เบราว์เซอร์ (ใช่ โค้ดแล็บนี้ใช้ได้ใน Chromebook)
- หากต้องการเปิดใช้งาน Cloud Shell จาก Cloud Console เพียงคลิกเปิดใช้งาน Cloud Shell (ระบบจะใช้เวลาเพียงไม่กี่นาทีในการเตรียมการและเชื่อมต่อกับสภาพแวดล้อม)
เมื่อเชื่อมต่อกับ Cloud Shell แล้ว คุณควรจะเห็นการตรวจสอบสิทธิ์แล้วและโปรเจ็กต์ได้รับการตั้งค่าเป็น PROJECT_ID
ของคุณแล้ว
gcloud auth list
เอาต์พุตจากคำสั่ง
Credentialed accounts: - <myaccount>@<mydomain>.com (active)
gcloud config list project
เอาต์พุตจากคำสั่ง
[core] project = <PROJECT_ID>
หากไม่ได้ตั้งค่าโปรเจ็กต์ไว้ด้วยเหตุผลบางประการ ให้ใช้คําสั่งต่อไปนี้
gcloud config set project <PROJECT_ID>
หากกำลังมองหา PROJECT_ID
ตรวจสอบรหัสที่คุณใช้ในขั้นตอนการตั้งค่าหรือค้นหาในแดชบอร์ดของ Cloud Console
นอกจากนี้ Cloud Shell ยังตั้งค่าตัวแปรสภาพแวดล้อมบางอย่างโดยค่าเริ่มต้น ซึ่งอาจมีประโยชน์เมื่อคุณเรียกใช้คำสั่งในอนาคต
echo $GOOGLE_CLOUD_PROJECT
เอาต์พุตจากคำสั่ง
<PROJECT_ID>
- สุดท้าย ให้กำหนดโซนและการกำหนดค่าโปรเจ็กต์เริ่มต้น
gcloud config set compute/zone us-central1-f
คุณเลือกโซนต่างๆ ได้ ดูข้อมูลเพิ่มเติมได้ที่ภูมิภาคและโซน
3. โคลนที่เก็บซอร์ส
เนื่องจากคุณจะทําให้เว็บไซต์ที่มีอยู่ใช้งานได้ คุณจึงต้องโคลนซอร์สโค้ดจากที่เก็บเท่านั้น เพื่อให้คุณมุ่งเน้นที่การสร้างอิมเมจ Docker และทำให้ใช้งานได้ใน Cloud Run
เรียกใช้คำสั่งต่อไปนี้เพื่อโคลนที่เก็บไปยังอินสแตนซ์ Cloud Shell และเปลี่ยนเป็นไดเรกทอรีที่เหมาะสม นอกจากนี้ คุณยังต้องติดตั้งการอ้างอิง Node.js เพื่อให้ทดสอบแอปก่อนการนำไปใช้งานจริงได้
cd ~ git clone https://github.com/googlecodelabs/monolith-to-microservices.git cd ~/monolith-to-microservices ./setup.sh
ซึ่งจะโคลนที่เก็บข้อมูล เปลี่ยนแปลงไดเรกทอรี และติดตั้งข้อกำหนดที่จำเป็นในการใช้งานแอปในเครื่อง การดำเนินการนี้อาจใช้เวลา 2-3 นาที
ตรวจสอบและทดสอบแอปของคุณ เรียกใช้คําสั่งต่อไปนี้เพื่อเริ่มเว็บเซิร์ฟเวอร์
cd ~/monolith-to-microservices/monolith npm start
เอาต์พุต:
Monolith listening on port 8080!
คุณสามารถดูตัวอย่างแอปได้โดยคลิกตัวอย่างเว็บ แล้วเลือกแสดงตัวอย่างบนพอร์ต 8080
ซึ่งจะเปิดหน้าต่างใหม่ให้คุณเห็นการทำงานของ Fancy Store
คุณปิดหน้าต่างนี้หลังจากดูเว็บไซต์แล้วได้ หากต้องการหยุดกระบวนการของเว็บเซิร์ฟเวอร์ ให้กด CONTROL+C
(Command+C
ใน Macintosh) ในหน้าต่างเทอร์มินัล
4. สร้างคอนเทนเนอร์ Docker ด้วย Cloud Build
เมื่อไฟล์ต้นฉบับพร้อมใช้งานแล้ว ก็ถึงเวลาทำให้แอปเป็น Docker แล้ว
โดยปกติแล้ว คุณต้องใช้แนวทางแบบ 2 ขั้นตอน ซึ่งประกอบด้วยการสร้างคอนเทนเนอร์ Docker และพุชไปยังรีจิสทรีเพื่อจัดเก็บอิมเมจไว้ให้ GKE ดึง แต่คุณสามารถทําให้ชีวิตง่ายขึ้นโดยใช้ Cloud Build เพื่อสร้างคอนเทนเนอร์ Docker และใส่อิมเมจใน Container Registry ด้วยคําสั่งเดียว หากต้องการดูกระบวนการสร้าง Dockerfile และพุชด้วยตนเอง โปรดดูคู่มือเริ่มต้นใช้งานสำหรับที่เก็บคอนเทนเนอร์
Cloud Build จะบีบอัดไฟล์จากไดเรกทอรีและย้ายไปยังที่เก็บข้อมูล Cloud Storage จากนั้นกระบวนการสร้างจะนําไฟล์ทั้งหมดจากที่เก็บข้อมูล และใช้ Dockerfile ซึ่งอยู่ในไดเรกทอรีเดียวกันเพื่อเรียกใช้กระบวนการสร้าง Docker เนื่องจากคุณได้ระบุ Flag --tag
ที่มีโฮสต์เป็น gcr.io สำหรับอิมเมจ Docker ระบบจะพุชอิมเมจ Docker ที่ได้ไปยัง Container Registry
ก่อนอื่น คุณต้องตรวจสอบว่าได้เปิดใช้ Cloud Build API แล้ว เรียกใช้คําสั่งต่อไปนี้เพื่อเปิดใช้
gcloud services enable cloudbuild.googleapis.com
หลังจากเปิดใช้ API แล้ว ให้เรียกใช้คำสั่งต่อไปนี้ใน Cloud Shell เพื่อเริ่มกระบวนการสร้าง
gcloud builds submit --tag gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:1.0.0 .
กระบวนการนี้ใช้เวลา 2-3 นาที แต่หลังจากเสร็จสิ้นแล้ว คุณจะเห็นเอาต์พุตในเทอร์มินัลคล้ายกับตัวอย่างต่อไปนี้
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ID CREATE_TIME DURATION SOURCE IMAGES STATUS 1ae295d9-63cb-482c-959b-bc52e9644d53 2019-08-29T01:56:35+00:00 33S gs://<PROJECT_ID>_cloudbuild/source/1567043793.94-abfd382011724422bf49af1558b894aa.tgz gcr.io/<PROJECT_ID>/monolith:1.0.0 SUCCESS
หากต้องการดูประวัติการสร้างหรือดูกระบวนการแบบเรียลไทม์ ให้ไปที่คอนโซลระบบคลาวด์ แล้วคลิกเมนูการนำทาง ☰ > Cloud Build > ประวัติ คุณจะเห็นรายการบิลด์ก่อนหน้าทั้งหมด แต่ควรมีเพียงรายการที่คุณสร้างขึ้นเท่านั้น
หากคลิกรหัสบิลด์ คุณจะเห็นรายละเอียดทั้งหมดของบิลด์นั้น รวมถึงเอาต์พุตบันทึก คุณดูรูปภาพคอนเทนเนอร์ที่สร้างได้โดยคลิกลิงก์ข้างรูปภาพ
5. ทำให้คอนเทนเนอร์ใช้งานได้กับ Cloud Run
เมื่อคุณจัดคอนเทนเนอร์เว็บไซต์และพุชไปยัง Container Registry แล้ว ก็ถึงเวลาทำให้ใช้งานได้ใน Cloud Run
วิธีการทําให้ใช้งานได้ใน Cloud Run มี 2 วิธีดังนี้
- Cloud Run (จัดการครบวงจร) คือรูปแบบ PaaS ที่มีการจัดการวงจรของคอนเทนเนอร์ทั้งหมด คุณจะใช้แนวทางดังกล่าวใน Codelab นี้
- Cloud Run for Anthos คือ Cloud Run ที่มีการควบคุมอีกชั้น ซึ่งช่วยให้คุณนําคลัสเตอร์และพ็อดจาก GKE มาใช้ได้ ดูข้อมูลเพิ่มเติมได้ที่การตั้งค่า Cloud Run สำหรับ Anthos ใน Google Cloud
ตัวอย่างบรรทัดคำสั่งจะอยู่ใน Cloud Shell โดยใช้ตัวแปรสภาพแวดล้อมที่คุณตั้งค่าไว้ก่อนหน้านี้
บรรทัดคำสั่ง
เรียกใช้คำสั่งต่อไปนี้เพื่อทำให้แอปใช้งานได้
gcloud run deploy --image=gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:1.0.0 --platform managed
ระบบจะขอให้คุณระบุภูมิภาคที่ต้องการแสดงโฆษณา เลือกภูมิภาคที่ใกล้กับคุณมากที่สุด แล้วยอมรับชื่อบริการที่แนะนำเริ่มต้น (โมโนลิธ)
อนุญาตคําขอที่ไม่ผ่านการตรวจสอบสิทธิ์ไปยังแอปเพื่อวัตถุประสงค์ในการทดสอบ ป้อน y
ที่พรอมต์
ยืนยันการติดตั้งใช้งาน
หากต้องการยืนยันว่าสร้างการใช้งานเรียบร้อยแล้ว ให้เรียกใช้คําสั่งต่อไปนี้ ระบบอาจใช้เวลาสักครู่ในการRunning
Pod status
gcloud run services list
เลือก [1] Cloud Run (จัดการครบวงจร)
เอาต์พุต:
SERVICE REGION URL LAST DEPLOYED BY LAST DEPLOYED AT ✔ monolith us-east1 <your url> <your email> 2019-09-16T21:07:38.267Z
เอาต์พุตจะแสดงข้อมูลหลายอย่าง คุณจะเห็นการนําไปใช้จริง รวมถึงผู้ใช้ที่นําไปใช้จริง (อีเมลของคุณ) และ URL ที่คุณใช้เข้าถึงแอปได้ ดูเหมือนว่าทุกอย่างจะสร้างขึ้นสําเร็จ
เปิด URL ที่ระบุไว้ในรายการบริการในเว็บเบราว์เซอร์ แล้วคุณควรเห็นเว็บไซต์เดียวกับที่แสดงตัวอย่างในเครื่อง
6. สร้างการแก้ไขใหม่ที่มีการทำงานพร้อมกันน้อยลง
ตอนนี้ให้ทําให้การเผยแพร่แอปอีกครั้ง แต่ครั้งนี้ให้ปรับพารามิเตอร์ใดพารามิเตอร์หนึ่ง
โดยค่าเริ่มต้น แอป Cloud Run จะมีค่าการเรียกใช้พร้อมกัน 80 ซึ่งหมายความว่าอินสแตนซ์คอนเทนเนอร์แต่ละรายการจะให้บริการคำขอได้สูงสุด 80 รายการพร้อมกัน ซึ่งแตกต่างจากโมเดล Functions as a Service (FaaS) อย่างมาก เนื่องจากอินสแตนซ์หนึ่งจะจัดการคำขอได้ครั้งละ 1 รายการ
ปรับใช้ภาพคอนเทนเนอร์เดิมอีกครั้งโดยมีค่าการเรียกใช้พร้อมกันเป็น 1 (เพื่อวัตถุประสงค์ในการทดสอบเท่านั้น) แล้วดูว่าเกิดอะไรขึ้น
gcloud run deploy --image=gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:1.0.0 --platform managed --concurrency 1
ตอบคำถามต่อๆ ไปเช่นเดียวกับที่ตอบในครั้งแรก เมื่อคำสั่งทำงานสำเร็จแล้ว ให้ตรวจสอบ Cloud Console เพื่อดูผลลัพธ์
จากแดชบอร์ด Cloud Run ให้คลิกบริการ Monolith เพื่อดูรายละเอียด
คลิกแท็บการแก้ไข คุณควรเห็นการแก้ไข 2 รายการที่สร้างไว้ คลิก monolith-00002 แล้วตรวจสอบรายละเอียด คุณควรเห็นว่าค่าการเรียกใช้พร้อมกันลดลงเป็น 1
]
แม้ว่าการกำหนดค่าดังกล่าวจะเพียงพอสำหรับการทดสอบ แต่คุณจะต้องใช้คอนเทนเนอร์ที่รองรับคำขอหลายรายการพร้อมกันในสถานการณ์การใช้งานจริงส่วนใหญ่
ตอนนี้ให้กู้คืนการทํางานพร้อมกันเดิมโดยไม่ต้องทําการปรับใช้ใหม่ คุณสามารถตั้งค่าการเรียกใช้พร้อมกันเป็นค่าเริ่มต้น 80 หรือ 0 ซึ่งจะนำข้อจำกัดการเรียกใช้พร้อมกันออกและตั้งค่าเป็นค่าสูงสุดเริ่มต้น (ซึ่งปัจจุบันคือ 80)
เรียกใช้คําสั่งต่อไปนี้ใน Cloud Shell เพื่ออัปเดตการแก้ไขปัจจุบัน
gcloud run deploy --image=gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:1.0.0 --platform managed --concurrency 80
โปรดทราบว่ามีการแก้ไขอีกเวอร์ชันหนึ่ง มีการเปลี่ยนเส้นทางการเข้าชม และจํานวนผู้ใช้พร้อมกันกลับมาเป็น 80 คน
7. ทำการเปลี่ยนแปลงเว็บไซต์
ทีมการตลาดขอให้คุณเปลี่ยนหน้าแรกของเว็บไซต์บริษัท ผู้ชมคิดว่าควรให้ข้อมูลเกี่ยวกับบริษัทและสิ่งที่บริษัทขายมากกว่านี้ ในส่วนนี้ คุณจะต้องเพิ่มข้อความลงในหน้าแรกเพื่อให้ทีมการตลาดพอใจ
ดูเหมือนว่านักพัฒนาแอปคนใดคนหนึ่งของคุณได้สร้างการเปลี่ยนแปลงที่มีชื่อไฟล์ index.js.new
ไว้แล้ว เพียงคัดลอกไฟล์นั้นไปยัง index.js
แล้วการเปลี่ยนแปลงก็จะปรากฏขึ้น ทําตามวิธีการเพื่อทําการเปลี่ยนแปลงที่เหมาะสม
เรียกใช้คําสั่งต่อไปนี้ คัดลอกไฟล์ที่อัปเดตแล้วไปยังชื่อไฟล์ที่ถูกต้อง และพิมพ์เนื้อหาเพื่อยืนยันการเปลี่ยนแปลง
cd ~/monolith-to-microservices/react-app/src/pages/Home mv index.js.new index.js cat ~/monolith-to-microservices/react-app/src/pages/Home/index.js
โค้ดที่ได้ควรมีลักษณะดังนี้
/* Copyright 2019 Google LLC Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ import React from "react"; import { makeStyles } from "@material-ui/core/styles"; import Paper from "@material-ui/core/Paper"; import Typography from "@material-ui/core/Typography"; const useStyles = makeStyles(theme => ({ root: { flexGrow: 1 }, paper: { width: "800px", margin: "0 auto", padding: theme.spacing(3, 2) } })); export default function Home() { const classes = useStyles(); return ( <div className={classes.root}> <Paper className={classes.paper}> <Typography variant="h5"> Fancy Fashion & Style Online </Typography> <br /> <Typography variant="body1"> Tired of mainstream fashion ideas, popular trends and societal norms? This line of lifestyle products will help you catch up with the Fancy trend and express your personal style. Start shopping Fancy items now! </Typography> </Paper> </div> ); }
คุณได้อัปเดตคอมโพเนนต์ React แล้ว แต่ต้องสร้างแอป React เพื่อที่จะสร้างไฟล์แบบคงที่ เรียกใช้คําสั่งต่อไปนี้เพื่อสร้างแอป React และคัดลอกลงในไดเรกทอรีสาธารณะแบบโมโนลิธิก
cd ~/monolith-to-microservices/react-app npm run build:monolith
เมื่ออัปเดตโค้ดแล้ว คุณจะต้องสร้างคอนเทนเนอร์ Docker อีกครั้งและเผยแพร่ไปยัง Container Registry คุณใช้คําสั่งเดียวกับก่อนหน้านี้ได้ ยกเว้นครั้งนี้คุณจะอัปเดตป้ายกํากับเวอร์ชัน
เรียกใช้คําสั่งต่อไปนี้เพื่อทริกเกอร์ Cloud Build ใหม่ที่มีเวอร์ชันอิมเมจที่อัปเดตเป็น 2.0.0
cd ~/monolith-to-microservices/monolith #Feel free to test your application npm start gcloud builds submit --tag gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:2.0.0 .
ในส่วนถัดไป คุณจะใช้รูปภาพดังกล่าวเพื่ออัปเดตแอปโดยไม่มีการหยุดทำงาน
8. อัปเดตเว็บไซต์โดยไม่มีการหยุดทำงาน
การเปลี่ยนแปลงเสร็จสมบูรณ์แล้ว และทีมการตลาดยินดีกับข้อมูลอัปเดตของคุณ ถึงเวลาอัปเดตเว็บไซต์โดยไม่รบกวนผู้ใช้
Cloud Run จะถือว่าการทำให้ใช้งานได้แต่ละครั้งเป็นการแก้ไขใหม่ ซึ่งจะทําให้ระบบออนไลน์แล้วเปลี่ยนเส้นทางการเข้าชมไปยังการแก้ไขนั้น
ทําตามวิธีการชุดถัดไปเพื่ออัปเดตเว็บไซต์
บรรทัดคำสั่ง
จากบรรทัดคำสั่ง คุณสามารถทำให้บริการใช้งานได้อีกครั้งเพื่ออัปเดตอิมเมจเป็นเวอร์ชันใหม่ด้วยคำสั่งต่อไปนี้
gcloud run deploy --image=gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:2.0.0 --platform managed
ยืนยันการติดตั้งใช้งาน
ตรวจสอบการอัปเดตการติดตั้งใช้งานโดยเรียกใช้คําสั่งต่อไปนี้
gcloud run services describe monolith --platform managed
เอาต์พุตจะมีลักษณะดังนี้
apiVersion: serving.knative.dev/v1alpha1 kind: Service metadata: annotations: client.knative.dev/user-image: gcr.io/my-cloudrun-codelab/monolith:2.0.0 ...
คุณจะเห็นบริการใช้รูปภาพเวอร์ชันล่าสุดที่ติดตั้งใช้งานในเวอร์ชันใหม่
หากต้องการยืนยันการเปลี่ยนแปลง ให้ไปที่ URL ภายนอกของบริการ Cloud Run อีกครั้งและดูว่าชื่อแอปได้รับการอัปเดตแล้ว
เรียกใช้คำสั่งต่อไปนี้เพื่อแสดงรายการบริการและดูที่อยู่ IP ในกรณีที่ลืม
gcloud run services list
ตอนนี้เว็บไซต์ของคุณควรแสดงข้อความที่คุณเพิ่มลงในคอมโพเนนต์หน้าแรก
9. ล้างข้อมูล
ลบอิมเมจ Container Registry
# Delete the container image for version 1.0.0 of our monolith gcloud container images delete gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:1.0.0 --quiet # Delete the container image for version 2.0.0 of our monolith gcloud container images delete gcr.io/${GOOGLE_CLOUD_PROJECT}/monolith:2.0.0 --quiet
ลบอาร์ติแฟกต์ Cloud Build ออกจาก Cloud Storage
# The following command will take all source archives from all builds and delete them from cloud storage # Run this command to print all sources: # gcloud builds list | awk 'NR > 1 {print $4}' gcloud builds list | awk 'NR > 1 {print $4}' | while read line; do gsutil rm $line; done
ลบบริการ Cloud Run
gcloud run services delete monolith --platform managed
10. ขอแสดงความยินดี
คุณได้ทำให้เว็บไซต์ใช้งานได้ ปรับขนาด และอัปเดตเว็บไซต์ด้วย Cloud Run