บทแนะนำสำหรับ Cloud Run สำหรับผู้เริ่มต้น

1. ภาพรวม

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

โดยสร้างขึ้นบน Knative โดยให้คุณเลือกที่จะเรียกใช้คอนเทนเนอร์ที่มีการจัดการครบวงจรด้วย Cloud Run หรือในคลัสเตอร์ Google Kubernetes Engine ด้วย Cloud Run บน GKE ได้

สิ่งที่คุณจะได้เรียนรู้

ในห้องทดลองนี้ คุณจะได้ศึกษาวิธีทำสิ่งต่อไปนี้

  • ทำให้แอปพลิเคชัน Cloud Run ใช้งานได้

ข้อกำหนดเบื้องต้น

  • ห้องทดลองนี้จะถือว่ามีความคุ้นเคยกับสภาพแวดล้อม Cloud Console และ Cloud Shell

2. การตั้งค่าและข้อกำหนด

ตั้งค่าโปรเจ็กต์ที่อยู่ในระบบคลาวด์

  1. ลงชื่อเข้าใช้ Google Cloud Console และสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่ซ้ำ หากยังไม่มีบัญชี Gmail หรือ Google Workspace คุณต้องสร้างบัญชี

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • ชื่อโครงการคือชื่อที่แสดงของผู้เข้าร่วมโปรเจ็กต์นี้ เป็นสตริงอักขระที่ Google APIs ไม่ได้ใช้ โดยคุณจะอัปเดตได้ทุกเมื่อ
  • รหัสโปรเจ็กต์จะไม่ซ้ำกันในทุกโปรเจ็กต์ของ Google Cloud และจะเปลี่ยนแปลงไม่ได้ (เปลี่ยนแปลงไม่ได้หลังจากตั้งค่าแล้ว) Cloud Console จะสร้างสตริงที่ไม่ซ้ำกันโดยอัตโนมัติ ปกติแล้วคุณไม่สนว่าอะไรเป็นอะไร ใน Codelab ส่วนใหญ่ คุณจะต้องอ้างอิงรหัสโปรเจ็กต์ (โดยปกติจะระบุเป็น PROJECT_ID) หากคุณไม่ชอบรหัสที่สร้างขึ้น คุณสามารถสร้างรหัสแบบสุ่มอื่นได้ หรือคุณจะลองดำเนินการเองแล้วดูว่าพร้อมให้บริการหรือไม่ และไม่สามารถเปลี่ยนแปลงได้หลังจากขั้นตอนนี้และจะยังคงอยู่ตลอดระยะเวลาของโปรเจ็กต์
  • สำหรับข้อมูลของคุณ ค่าที่ 3 คือหมายเลขโปรเจ็กต์ที่ API บางตัวใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าทั้ง 3 ค่าได้ในเอกสารประกอบ
  1. ถัดไป คุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร/API ของระบบคลาวด์ การใช้งาน Codelab นี้น่าจะไม่มีค่าใช้จ่ายใดๆ หากมี หากต้องการปิดทรัพยากรเพื่อไม่ให้มีการเรียกเก็บเงินนอกเหนือจากบทแนะนำนี้ คุณสามารถลบทรัพยากรที่คุณสร้างหรือลบทั้งโปรเจ็กต์ได้ ผู้ใช้ใหม่ของ Google Cloud จะมีสิทธิ์เข้าร่วมโปรแกรมทดลองใช้ฟรี$300 USD

การตั้งค่าสภาพแวดล้อม

เปิดใช้งาน Cloud Shell โดยคลิกไอคอนทางด้านขวาของแถบค้นหา

ecdc43ada29e91b.png

จาก Cloud Shell ให้เปิดใช้ Cloud Run API ดังนี้

gcloud services enable run.googleapis.com

หากได้รับข้อความแจ้งให้ให้สิทธิ์ ให้คลิก "ให้สิทธิ์" เพื่อดำเนินการต่อ

6356559df3eccdda.png

ซึ่งจะสร้างข้อความที่ประสบความสำเร็จในลักษณะเดียวกับข้อความต่อไปนี้

Operation "operations/acf.p2-327036483151-73d90d00-47ee-447a-b600-a6badf0eceae" finished successfully.

3. เตรียมการสมัคร

ขั้นตอนแรก คุณจะต้องเตรียมแอปพลิเคชัน Node.js แบบเร่งด่วนอย่างง่ายที่ตอบสนองต่อคำขอ HTTP

ใน Cloud Shell ให้สร้างไดเรกทอรีใหม่ชื่อ starter-nodejs จากนั้นเปลี่ยนเป็นไดเรกทอรีดังกล่าว:

mkdir starter-nodejs
cd starter-nodejs

สร้างไฟล์ package.json โดยเรียกใช้คำสั่งด้านล่าง

cat > ./package.json << EOF
{
  "name": "cloudrun-starter-app",
  "version": "1.0.0",
  "description": "Node.js Starter Application",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "author": "",
  "license": "Apache-2.0",
  "dependencies": {
    "express": "^4.18.2"
  }
}
EOF

ไฟล์ด้านบนมีคำสั่งเริ่มต้นสคริปต์และขึ้นอยู่กับเฟรมเวิร์กเว็บแอปพลิเคชัน Express

จากนั้นสร้างไฟล์ index.js ในไดเรกทอรีเดียวกันโดยเรียกใช้คำสั่งด้านล่าง

cat > ./index.js << EOF
const express = require('express');
const app = express();

app.get('/', (req, res) => {
  console.log('Received a request.');
  res.send("Hello Cloud Run!");
});

const port = process.env.PORT || 8080;

app.listen(port, () => {
  console.log('Listening on port', port);
});
EOF

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

4. ทำให้แอปพลิเคชัน Cloud Run ใช้งานได้

เรียกใช้คำสั่งด้านล่างเพื่อทำให้แอปพลิเคชันใช้งานได้

gcloud run deploy starter-app \
  --source . \
  --region us-central1 \
  --allow-unauthenticated \
  --max-instances=3

ยืนยันการสร้างที่เก็บ Artifact Registry ด้วยคำสั่งต่อไปนี้

Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named [cloud-run-source-deploy] in region [us-central1] will be created.

Do you want to continue (Y/n)? y

เนื่องจากคำสั่งก่อนหน้า จะมีการดำเนินการขั้นตอนต่อไปนี้

d661616f9b2fffcf.png

สำรวจเอาต์พุตของขั้นตอนเหล่านี้ใน Cloud Console: Cloud Build, Cloud Storage, Artifact Registry และ Cloud Run

f536961280192919.png

5. ยินดีด้วย

ยินดีด้วย คุณเพิ่งทำให้แอปพลิเคชันใช้งานได้ใน Cloud Run

สิ่งที่เราได้พูดคุยกันมีดังนี้

  • วิธีทำให้แอปพลิเคชันเริ่มต้นใช้งานได้บน Cloud Run

ขั้นตอนต่อไปที่ทำได้

สำรวจ Codelab อื่นๆ ของ Cymbal Eats

ล้างข้อมูล

เพื่อหลีกเลี่ยงไม่ให้เกิดการเรียกเก็บเงินกับบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในบทแนะนำนี้ โปรดลบโปรเจ็กต์ที่มีทรัพยากรดังกล่าวหรือเก็บโปรเจ็กต์ไว้และลบทรัพยากรแต่ละรายการ

กำลังลบโปรเจ็กต์

วิธีที่ง่ายที่สุดในการยกเลิกการเรียกเก็บเงินคือการลบโปรเจ็กต์ที่คุณสร้างไว้สำหรับบทแนะนำ