1. Tổng quan
Cloud Run là một nền tảng không máy chủ được quản lý hoàn toàn, cho phép bạn chạy các vùng chứa không có trạng thái có thể gọi qua các yêu cầu HTTP. Cloud Run là giải pháp không máy chủ: loại bỏ mọi hoạt động quản lý cơ sở hạ tầng, vì vậy, bạn có thể tập trung vào công việc quan trọng nhất — xây dựng các ứng dụng tuyệt vời.
Giải pháp này được xây dựng trên nền tảng 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
- Phòng thí nghiệm 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 Cloud
- Đăng nhập vào Google Cloud Console rồi tạo dự án mới hoặc sử dụng lại 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.
- 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ự không được API của Google 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à duy nhất trong tất cả các dự án Google Cloud và không thể thay đổi (không thể thay đổi sau khi đã đặt). Cloud Console sẽ tự động tạo một chuỗi duy nhất; thường bạn không quan tâm đến sản phẩm đó là gì. 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 (mã này thường được xác định là
PROJECT_ID
). Nếu không thích mã đã tạo, bạn có thể tạo một mã nhận dạng ngẫu nhiên khác. Ngoài ra, bạn có thể thử phương pháp của riêng mình và xem có được cung cấp hay không. Bạn không thể thay đổi thông tin này sau bước này và thông báo đó sẽ vẫn tồn tại trong thời gian của dự án. - Đối với thông tin của bạn, có giá trị thứ ba, Project Number (Số dự án) mà một số API sử dụng. Tìm hiểu thêm về cả ba giá trị này trong tài liệu này.
- Tiếp theo, bạn sẽ phải bật tính năng thanh toán trong Cloud Console để sử dụng API/tài nguyên trên đám mây. Việc chạy qua lớp học lập trình này sẽ không tốn nhiều chi phí. Để tắt các tài nguyên nhằm tránh bị tính phí ngoài hướng dẫn này, bạn có thể xoá các tài nguyên bạ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í 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.
Trên Cloud Shell, hãy bật Cloud Run API:
gcloud services enable run.googleapis.com
Nếu được nhắc cho phép, hãy nhấp vào "Uỷ quyền" để tiếp tục.
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 dựa trên nhanh để 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 đó thay đổi thành 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 lệnh start script và phần phụ thuộc trên khung ứng dụng web Express.
Tiếp theo, trong chính thư mục đó, hãy tạo một 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
Mã này tạo một máy chủ web cơ bản tiếp nhận trên cổng được xác định bởi biến môi trường PORT. Ứng dụng của bạn hiện đã hoàn tất và sẵn sàng để đưa vào vùng chứa cũng như triển khai.
4. Triển khai ứng dụng Cloud Run
Chạy lệnh dưới đây để 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
Nhờ lệnh trước đó, các bước sau sẽ được thực thi:
Khám phá kết quả của các bước này trong Cloud Console: Cloud Build, Cloud Storage, Artifact Registry và Cloud Run.
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 chúng ta đã đề cập:
- Cách triển khai ứng dụng khởi đầu trên Cloud Run
Bước tiếp theo:
Khám phá các lớp học lập trình khác về Cymbal Eats:
- Kích hoạt quy trình công việc trên đám mây bằng Eventarc
- Kích hoạt quá trình xử lý sự kiện từ Cloud Storage
- Kết nối với CloudSQL riêng tư qua Cloud Run
- Kết nối với các cơ sở dữ liệu được quản lý toàn diện qua Cloud Run
- Ứng dụng không máy chủ bảo mật bằng proxy nhận biết danh tính (IAP)
- Kích hoạt công việc trong Cloud Run bằng Cloud Scheduler
- Triển khai an toàn cho Cloud Run
- Bảo mật lưu lượng truy cập vào Cloud Run
Dọn dẹp
Để tránh làm phát sinh chi phí cho các tài nguyên được sử dụng trong hướng dẫn này trong tài khoản Google Cloud của bạn, hãy xoá dự án chứa các tài nguyên đó, hoặc giữ lại dự án và xoá từng tài nguyên riêng lẻ.
Xoá dự án
Cách dễ nhất để loại bỏ việc thanh toán là xoá dự án bạn đã tạo cho phần hướng dẫn.