Hướng dẫn dành cho người mới bắt đầu Cloud Run

1. Tổng quan

Cloud Run là một nền tảng không máy chủ được quản lý toàn diện, cho phép bạn chạy các vùng chứa không trạng thái có thể gọi được thông qua các yêu cầu HTTP. Cloud Run là dịch vụ không máy chủ: dịch vụ này loại bỏ mọi hoạt động quản lý cơ sở hạ tầng, nhờ đó bạn có thể tập trung vào những việc quan trọng nhất – xây dựng các ứng dụng tuyệt vời.

Cloud Run được xây dựng trên Knative, cho phép bạn chọn chạy các vùng chứa được quản lý hoàn toàn bằng Cloud Run hoặc trong cụm Google Kubernetes Engine bằng Cloud Run trên GKE.

Kiến thức bạn sẽ học được

Trong phòng thí nghiệm này, bạn sẽ tìm hiểu cách thực hiện những việc sau:

  • Triển khai ứng dụng Cloud Run

Điều kiện tiên quyết

  • Bài thực hành này giả định rằng bạn đã quen thuộc với môi trường Cloud Console và Cloud Shell.

2. Thiết lập và yêu cầu

Thiết lập dự án trên đám mây

  1. Đăng nhập vào Google Cloud Console rồi tạo một dự án mới hoặc sử dụng lại một dự án hiện có. Nếu chưa có tài khoản Gmail hoặc Google Workspace, bạn phải tạo một tài khoản.

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • Tên dự án là tên hiển thị của những người tham gia dự án này. Đây là một chuỗi ký tự mà các API của Google không sử dụng. Bạn có thể cập nhật thông tin này bất cứ lúc nào.
  • Mã dự án là mã duy nhất trên tất cả các dự án trên Google Cloud và không thể thay đổi (bạn không thể thay đổi mã này sau khi đã đặt). Cloud Console sẽ tự động tạo một chuỗi duy nhất; thường thì bạn không cần quan tâm đến chuỗi này. Trong hầu hết các lớp học lập trình, bạn sẽ cần tham chiếu đến Mã dự án (thường được xác định là PROJECT_ID). Nếu không thích mã nhận dạng được tạo, bạn có thể tạo một mã nhận dạng ngẫu nhiên khác. Hoặc bạn có thể thử tên người dùng của riêng mình để xem tên đó có dùng được hay không. Bạn không thể thay đổi thông tin này sau bước này và thông tin này sẽ giữ nguyên trong suốt thời gian diễn ra dự án.
  • Để bạn biết, có một giá trị thứ ba là Số dự án mà một số API sử dụng. Tìm hiểu thêm về cả 3 giá trị này trong tài liệu.
  1. Tiếp theo, bạn cần bật tính năng thanh toán trong Cloud Console để sử dụng các tài nguyên/API trên đám mây. Việc thực hiện lớp học lập trình này sẽ không tốn nhiều chi phí, nếu có. Để tắt các tài nguyên nhằm tránh phát sinh phí thanh toán ngoài hướng dẫn này, bạn có thể xoá các tài nguyên đã tạo hoặc xoá toàn bộ dự án. Người dùng mới của Google Cloud đủ điều kiện tham gia chương trình Dùng thử miễn phí trị giá 300 USD.

Thiết lập môi trường

Kích hoạt Cloud Shell bằng cách nhấp vào biểu tượng ở bên phải thanh tìm kiếm.

ecdc43ada29e91b.png

Trong Cloud Shell, hãy bật Cloud Run API:

gcloud services enable run.googleapis.com

Nếu được nhắc uỷ quyền, hãy nhấp vào "Uỷ quyền" để tiếp tục.

6356559df3eccdda.png

Thao tác này sẽ tạo ra một thông báo thành công tương tự như thông báo sau:

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

3. Chuẩn bị đơn đăng ký

Trước tiên, bạn sẽ chuẩn bị một ứng dụng Node.js đơn giản dựa trên express để phản hồi các yêu cầu HTTP.

Trong Cloud Shell, hãy tạo một thư mục mới có tên là starter-nodejs, sau đó chuyển sang thư mục đó:

mkdir starter-nodejs
cd starter-nodejs

Tạo tệp package.json bằng cách chạy các lệnh bên dưới:

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

Tệp ở trên chứa một lệnh tập lệnh khởi động và một phần phụ thuộc vào khung ứng dụng web Express.

Tiếp theo, trong cùng thư mục, hãy tạo tệp index.js bằng cách chạy các lệnh bên dưới:

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

Đoạn mã này tạo một máy chủ web cơ bản lắng nghe trên cổng do biến môi trường PORT xác định. Ứng dụng của bạn hiện đã hoàn tất và sẵn sàng được đóng gói và triển khai.

4. Triển khai ứng dụng Cloud Run

Chạy lệnh bên dưới để triển khai ứng dụng của bạn:

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

Xác nhận việc tạo kho lưu trữ 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

Do lệnh trước đó, các bước sau sẽ được thực thi:

d661616f9b2fffcf.png

Khám phá kết quả của các bước này trong Bảng điều khiển Cloud: Cloud Build, Cloud Storage, Artifact RegistryCloud Run.

f536961280192919.png

5. Xin chúc mừng!

Xin chúc mừng! Bạn vừa triển khai một ứng dụng lên Cloud Run.

Nội dung đã đề cập:

  • Cách triển khai một ứng dụng khởi động trên Cloud Run

Bước tiếp theo:

Khám phá các lớp học lập trình khác của Cymbal Eats:

Dọn dẹp

Để tránh bị tính phí vào tài khoản Google Cloud của bạn cho các tài nguyên được dùng trong hướng dẫn này, hãy xoá dự án chứa các tài nguyên đó hoặc giữ lại dự án rồi xoá từng tài nguyên.

Xoá dự án

Cách dễ nhất để không bị tính phí là xoá dự án mà bạn đã tạo cho hướng dẫn này.