1. Giới thiệu
Trong lớp học lập trình này, bạn sẽ tìm hiểu cách sử dụng một tác nhân AI để tự động thực hiện quy trình di chuyển cơ sở hạ tầng phức tạp. Thay vì viết tệp kê khai Kubernetes theo cách thủ công hoặc chạy các tập lệnh tự động hoá, bạn sẽ thể hiện ý định của mình bằng ngôn ngữ tự nhiên và tác nhân sẽ sử dụng Giao thức ngữ cảnh mô hình (MCP) và máy chủ Gemini Cloud Assist để tạo và áp dụng cấu hình cho bạn.
Các chức năng của máy chủ MCP GCA
Máy chủ MCP GCA cung cấp một số công cụ chuyên dụng cho tác nhân:
ask_cloud_assist: Đây là giao diện chính để được hỗ trợ về Google Cloud Platform và cho tác nhân Gemini Cloud Assist. Bạn có thể truy cập vào mọi chức năng của Gemini Cloud Assist thông qua công cụ này và công cụ này bao gồm cả chức năng của các công cụ MCP khác.design_infra: Hỗ trợ quy trình thiết kế và xây dựng cơ sở hạ tầng trên Google Cloud Platform.investigate_issue: Tính năng này hỗ trợ quy trình khắc phục sự cố trong Google Cloud. Bạn có thể khắc phục sự cố nhanh chóng hoặc khắc phục sự cố chuyên sâu hơn thông qua tài nguyên Điều tra.invoke_operation: API này hỗ trợ quy trình tạo, cập nhật và xoá tài nguyên trong Google Cloud. Công cụ này chỉ hoạt động khi bạn bật tính năng Thao tác của đặc vụ. Bạn chỉ có thể thực hiện các thao tác ghi trong Gemini Cloud Assist thông qua việc gọi công cụ này.optimize_costs: Tính năng này hỗ trợ quy trình phân tích, theo dõi và tối ưu hoá chi phí trên Google Cloud. Công cụ này cung cấp thông tin chi tiết về mức chi tiêu và xác định các cơ hội để nâng cao hiệu quả chi phí bằng cách tìm ra những tài nguyên không hoạt động hoặc chưa được sử dụng hết.
Bạn sẽ bắt đầu bằng một môi trường được chuẩn bị trước với một cụm GKE và một mô hình đã tải xuống. Sau đó, bạn sẽ dùng gemini-cli để nhắc tác nhân di chuyển một khối lượng công việc từ Cloud Run sang GKE và khởi động một phiên bản suy luận Gemma bằng vLLM bằng cách sử dụng mô hình theo giai đoạn trong vùng lưu trữ.
Bạn sẽ thực hiện
- Giai đoạn một cụm GKE và tải một mô hình Gemma xuống bằng Terraform.
- Định cấu hình
gemini-clibằng các quy tắc của tác nhân và máy chủ MCP. - Sử dụng một câu lệnh cụ thể bằng ngôn ngữ tự nhiên để hướng dẫn tác nhân thực hiện toàn bộ quá trình di chuyển và triển khai.
- Xác minh quá trình triển khai do nhân viên hỗ trợ thực hiện.
Bạn cần có
- Một trình duyệt web như Chrome.
- Một dự án trên Google Cloud đã bật tính năng thanh toán.
- Mã thông báo Hugging Face (bắt buộc để tải mô hình Gemma xuống trong giai đoạn dàn dựng).
Lớp học lập trình này dành cho nhà phát triển ở mọi cấp độ, kể cả người mới bắt đầu.
Thời lượng ước tính: 45 – 60 phút.
2. Trước khi bắt đầu
Tạo hoặc chọn một dự án trên Google Cloud
- Trong Google Cloud Console, hãy chọn hoặc tạo một dự án trên Google Cloud.
- Đảm bảo rằng bạn đã bật tính năng thanh toán cho dự án trên Cloud.
Khởi động Cloud Shell
- Nhấp vào Kích hoạt Cloud Shell ở đầu bảng điều khiển Cloud.
- Xác minh hoạt động xác thực:
gcloud auth list
- Xác nhận dự án của bạn:
gcloud config get project
- Đặt nếu cần:
export PROJECT_ID=<YOUR_PROJECT_ID>
gcloud config set project $PROJECT_ID
Bật API
Chạy lệnh này để bật tất cả các API bắt buộc:
gcloud services enable \
run.googleapis.com \
container.googleapis.com \
aiplatform.googleapis.com \
compute.googleapis.com \
cloudbuild.googleapis.com \
cloudresourcemanager.googleapis.com
Ngoài ra, hãy bật dịch vụ MCP của Gemini Cloud Assist:
gcloud beta services mcp enable geminicloudassist.googleapis.com
3. Chuẩn bị môi trường
Ở bước này, bạn sẽ chuẩn bị môi trường bằng cách tạo một hình ảnh chatbot tuỳ chỉnh, tạo cụm GKE và tải mô hình Gemma xuống một vùng lưu trữ Cloud Storage.
Thông thường, các tổ chức bắt đầu bằng Gemini API nhưng sau đó quyết định di chuyển sang mô hình tự lưu trữ để có quyền kiểm soát, tuỳ chỉnh nhiều hơn hoặc sử dụng một phiên bản được tinh chỉnh dành riêng cho doanh nghiệp của họ. Trong lớp học lập trình này, chúng ta sẽ sử dụng Gemma làm ví dụ về một mô hình mở mạnh mẽ mà bạn có thể tự lưu trữ trên GKE. Việc dàn xếp trong một bộ chứa Cloud Storage giúp cụm của chúng tôi có thể sử dụng.
Tải tài sản minh hoạ xuống
Sao chép thư mục cụ thể trong kho lưu trữ GitHub.
git clone --filter=blob:none --sparse https://github.com/GoogleCloudPlatform/next-26-keynotes.git
cd next-26-keynotes
git sparse-checkout set devkey/intent-to-infrastructure
cd devkey/intent-to-infrastructure
Tạo hình ảnh cho chatbot
Trước khi cung cấp cơ sở hạ tầng, bạn cần tạo hình ảnh chatbot tuỳ chỉnh và đẩy hình ảnh đó vào Artifact Registry. Cloud Run sẽ sử dụng hình ảnh này trong bước tiếp theo.
- Tạo một kho lưu trữ Artifact Registry có tên
chatbot-repotrongasia-southeast1:gcloud artifacts repositories create chatbot-repo \ --repository-format=docker \ --location=asia-southeast1 \ --description="Chatbot Docker repository" - Chuyển đến thư mục
src:cd src - Tạo và đẩy hình ảnh bằng Cloud Build:
gcloud builds submit --config cloudbuild.yaml \ --substitutions=_LOCATION="asia-southeast1",_REPOSITORY_ID="chatbot-repo",_IMAGE_NAME="chatbot",_IMAGE_TAG="latest" - Chuyển về thư mục gốc của dự án:
cd ..
Cung cấp cơ sở hạ tầng cơ bản
Chuyển đến thư mục terraform rồi chạy Bước 1 để tạo cụm GKE.
cd terraform
./deploy.sh demo step1 apply
Tập lệnh này sử dụng Terraform để cung cấp cơ sở hạ tầng cơ bản. Thao tác này sẽ tạo VPC, cụm GKE, tài khoản dịch vụ và triển khai dịch vụ Cloud Run ban đầu bằng hình ảnh chatbot mà bạn vừa tạo.
Trong quá trình này, Terraform sẽ hiển thị kế hoạch và nhắc bạn xác nhận. Bạn cần nhập yes để phê duyệt và tiếp tục:
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Toàn bộ quá trình có thể mất từ 15 đến 20 phút để hoàn tất.
Sau khi quá trình triển khai hoàn tất, hãy tìm cloud_run_url trong đầu ra Terraform được in trong thiết bị đầu cuối. Nhấp vào URL để mở chatbot trong trình duyệt. Giờ đây, bạn có thể tương tác với chatbot này. Chatbot này hiện đang chạy trên Gemini 2.5 Flash.
Tải mô hình xuống
Ở bước này, chúng ta sẽ dàn dựng mô hình Gemma trong một bộ chứa Cloud Storage. Mặc dù chúng tôi bắt đầu với Gemini API được quản lý, nhưng bạn có thể chọn chạy một mô hình được tinh chỉnh tuỳ chỉnh hoặc một mô hình nguồn mở tuỳ chỉnh khác. Ngoài ra, bạn có thể chỉ muốn giữ cho quá trình thực thi mô hình được quản lý trong cụm của riêng bạn vì lý do bảo mật hoặc tuân thủ. Việc dàn dựng mô hình tại đây sẽ giúp chúng ta chuẩn bị cho quá trình di chuyển từ Gemini API được quản lý sang mô hình tự lưu trữ trên GKE.
Chạy Bước 2 để tải mô hình Gemma xuống vùng lưu trữ GCS của bạn. Bạn sẽ cần có mã thông báo Hugging Face. Quy trình này chạy trên cụm GKE của bạn và sẽ mất khoảng 15 phút (hoặc lâu hơn tuỳ thuộc vào lưu lượng truy cập) để tải mô hình xuống từ Hugging Face và tải mô hình đó lên bộ chứa của bạn để sử dụng sau này.
./deploy.sh demo step2 apply -var="hf_token=<YOUR_HF_TOKEN>"
Lệnh Terraform này sẽ tạo một Kubernetes Job trên cụm GKE để xử lý quá trình tải xuống. Tập lệnh Terraform sẽ vẫn hoạt động miễn là lệnh đang chạy.
Nếu muốn theo dõi tiến trình từ một phiên shell khác hoặc xác minh rằng tiến trình đã hoàn tất sau khi chạy, bạn có thể chạy:
kubectl get jobs
4. Thiết lập Agent và MCP
Bây giờ, chúng ta sẽ định cấu hình tác nhân sẽ thực hiện quá trình di chuyển. Chúng ta sẽ sử dụng gemini-cli và trang bị cho nó các quy tắc để tương tác với môi trường.
Máy chủ MCP của Gemini Cloud Assist (GCA) là một thành phần quan trọng trong quy trình này. Công cụ này đóng vai trò là cầu nối giữa tác nhân phía máy khách và Google Cloud, cho phép tác nhân thực hiện các hoạt động điều tra, tạo kế hoạch (chẳng hạn như các lệnh gcloud và kubectl) và áp dụng các thay đổi trực tiếp cho tài nguyên trong dự án trên đám mây của bạn.
Đảm bảo bạn đã được cấp một vai trò cho phép gọi các công cụ MCP, chẳng hạn như roles/geminicloudassist.user. Nếu sau này bạn gặp vấn đề về quyền, hãy tham khảo tài liệu về cách định cấu hình vai trò IAM cho Cloud Assist.
Để biết hướng dẫn chi tiết hơn về cách tích hợp Gemini Cloud Assist với các công cụ của bên thứ ba, hãy xem tài liệu Tích hợp Gemini Cloud Assist với các công cụ của bên thứ ba bằng MCP.
Cài đặt tiện ích Gemini Cloud Assist
- Xác thực thông qua Thông tin xác thực mặc định của ứng dụng (ADC) bằng cách chạy:
gcloud auth application-default login
- Cài đặt máy chủ MCP dưới dạng một tiện ích của Gemini CLI:
gemini extensions install https://github.com/GoogleCloudPlatform/gemini-cloud-assist-mcp
- Xác minh rằng bạn đã cài đặt thành công kỹ năng: Khởi động
geminivà chạy lệnh sau để liệt kê các kỹ năng đang hoạt động:
/skills list
Xác minh rằng bạn thấy kỹ năng liên quan đến Gemini Cloud Assist trong danh sách. Nhập exit để quay lại dấu nhắc Cloud Shell.
Bật tính năng Mutations trong Gemini Cloud Assist
Để cho phép tác nhân áp dụng các thay đổi cho cơ sở hạ tầng của bạn, bạn phải bật các tính năng biến đổi trong giao diện người dùng Gemini Cloud Assist.
- Mở thanh bên của Gemini Assist bằng cách nhấp vào biểu trưng Gemini ở trên cùng bên phải của cửa sổ Google Cloud Console.

- Bật mọi API cần thiết có trong thanh bên.

- Chuyển đến phần cài đặt trong thanh bên rồi đánh dấu vào "Cho phép Cloud Assist thực hiện các hành động".


Định cấu hình quy tắc của tác nhân
Thư mục dự án có một tệp gemini.md tuỳ chỉnh trong thư mục gốc (intent-to-infrastructure). Tệp này chứa các quy tắc hướng dẫn tác nhân sử dụng đúng công cụ.
Xác minh rằng tệp này có trong thư mục của bạn. Bạn nên chạy gemini từ thư mục này để có quyền truy cập vào các tệp Terraform, mã xử lý ứng dụng và tệp quy tắc gemini.md.
5. Bước 1: Di chuyển Chatbot sang GKE
Bây giờ, chúng ta sẽ dùng tác nhân này để thực hiện phần đầu tiên của quá trình di chuyển: di chuyển ứng dụng chatbot từ Cloud Run sang GKE.
- Bắt đầu
geminitừ thư mục gốc của thư mụcintent-to-infrastructure(đảm bảo thư mục này có quyền truy cập vàogemini.md). - Trước tiên, hãy yêu cầu tác nhân khám phá dự án để hiểu rõ ứng dụng và cơ sở hạ tầng. Nhập câu lệnh sau:
Tell me about the app and infrastructure in this project
Tác nhân này sẽ đọc các tệp trong thư mục và cung cấp cho bạn thông tin tổng quan về ứng dụng chatbot và cấu hình Terraform.
- Bây giờ, hãy dùng câu lệnh sau để hướng dẫn tác nhân thực hiện quy trình di chuyển.
Convert my Cloud Run service to the equivalent on GKE.
- Nhân viên hỗ trợ nên:
- Sử dụng công cụ
ask_cloud_assistđể hiểu rõ bối cảnh. - Sử dụng công cụ
design_infrađể tạo YAML Kubernetes cho ứng dụng chatbot. - Hỏi: "Bạn có muốn tiếp tục áp dụng cấu hình này không?"
- Sử dụng công cụ
- Phản hồi bằng
yesđể áp dụng các thay đổi. Tác nhân này sẽ dùnginvoke_operationđể triển khai tài nguyên vào cụm GKE của bạn.
Bước xác minh 1
- Lấy danh sách dịch vụ:
kubectl get services
Bạn sẽ thấy một dịch vụ đang chạy cho ứng dụng chatbot.
- Chuyển tiếp cổng dịch vụ để truy cập vào chatbot:
kubectl port-forward svc/chatbot-service 8080:80
(Lưu ý: Thay thế
chatbot-service
kèm theo tên thực tế của dịch vụ do nhân viên hỗ trợ tạo nếu tên đó khác).
Kiểm thử chatbot. Ứng dụng này vẫn sẽ phản hồi bằng Gemini API (như đã được định cấu hình trong Cloud Run).
6. Bước 2: Triển khai Gemma thông qua vLLM và Reconnect
Trong bước này, chúng ta sẽ dùng tác nhân để triển khai một mô hình Gemma tự lưu trữ trên GKE và kết nối lại ứng dụng của mình với mô hình đó.
- Trong cùng một phiên
gemini, hãy nhập câu lệnh sau:
Now that the chatbot is on GKE, add a vLLM service running the Gemma model from my storage bucket in the same cluster. Make sure to give the vLLM service at least 10 minutes to start up to account for loading the large model. Then, update the chatbot service to reference this vLLM service instead of the Gemini API.
- Nhân viên hỗ trợ nên:
- Sử dụng
design_infrađể tạo YAML cho việc triển khai và dịch vụ vLLM. - Cập nhật tệp YAML triển khai chatbot để thay đổi các biến môi trường (hoặc cấu hình) nhằm trỏ đến dịch vụ vLLM mới thay vì Gemini API.
- Yêu cầu xác nhận để áp dụng các thay đổi.
- Sử dụng
- Phản hồi bằng
yesđể áp dụng các thay đổi.
Xác minh bước 2
- Lấy lại danh sách các pod:
kubectl get pods
Lúc này, bạn sẽ thấy các nhóm cho cả chatbot và vLLM.
- Sau khi vLLM sẵn sàng, hãy chuyển tiếp cổng dịch vụ chatbot một lần nữa nếu cần và kiểm thử. Giờ đây, ứng dụng sẽ được hỗ trợ bởi mô hình Gemma tự lưu trữ của bạn!
7. Dọn dẹp
Để tránh các khoản phí phát sinh cho tài khoản Google Cloud của bạn, hãy xoá các tài nguyên đã tạo trong lớp học lập trình này.
Chạy lệnh huỷ cho cơ sở hạ tầng cơ bản:
cd terraform
./deploy.sh demo step1 destroy
Ngoài ra, bạn có thể gỡ cài đặt hoặc tắt tiện ích Gemini Cloud Assist nếu muốn dọn dẹp môi trường cục bộ. Sử dụng gemini extensions uninstall hoặc gemini extensions disable, theo sau là tên tiện ích.
8. Bước tiếp theo
Để tìm hiểu thêm về Gemini Cloud Assist và các tính năng nâng cao, hãy tham khảo những tài nguyên sau:
9. Xin chúc mừng
Xin chúc mừng! Bạn đã di chuyển thành công một khối lượng công việc sang GKE bằng ngôn ngữ tự nhiên và MCP.