Gần đây có rất nhiều sự phấn khích xoay quanh AI và quy trình làm việc của lập trình viên, nhưng với Kubernetes thì lại chưa có nhiều chuyển biến — và điều này hoàn toàn có lý. Bạn muốn hạ tầng của mình ổn định, trong khi kiểu viết mã "vibe" thì chẳng hề nổi tiếng về độ ổn định.
Hãy tưởng tượng tệp cấu hình của bạn bị viết lại mỗi lần bạn deploy. Ngay cả một thay đổi nhỏ như thêm biến môi trường cũng có thể gây ra hiệu ứng dây chuyền làm hỏng toàn bộ hệ thống. Tệ hơn nữa: bạn thức dậy và thấy hóa đơn AWS tăng vọt chỉ vì mô hình ngôn ngữ lớn (LLM) cho rằng bạn "rất cần" thêm vài node, trong khi việc bạn đang làm chỉ là cập nhật phiên bản Docker image.
Nhưng điều gì sẽ xảy ra nếu bạn có thể đặt các rào chắn để ngăn chặn những điều đó?
Hôm nay, chúng tôi ra mắt MCP server riêng cho Cyclops, và trong bài viết này, tôi sẽ cho bạn thấy cách bạn có thể cho phép lập trình viên triển khai mã lên Kubernetes một cách an toàn chỉ bằng cách trò chuyện với một AI! Đã sẵn sàng "vibe deploy"?
MCP server là gì?
Cuối năm ngoái, Anthropic đã phát hành Model Context Protocol (MCP) — một giao thức mã nguồn mở giúp AI tương tác với các dịch vụ và API bên thứ ba. Mục tiêu chính của MCP là chuẩn hóa cách AI truy cập và tương tác với dữ liệu và dịch vụ của bạn.
Với một MCP server, các agent AI có thể hành động thay bạn một cách an toàn. Thay vì đoán xem cần gọi endpoint nào hoặc chạy lệnh CLI nào, agent sẽ biết chính xác công cụ nào có thể dùng.
MCP server còn giúp agent hiểu được trạng thái hiện tại của các công cụ bạn đang sử dụng — nghĩa là nó biết bạn có dashboard nào trong Grafana, repo nào trên GitHub, hoặc image tag nào trên Docker. Không còn ảo giác hay ngữ cảnh bịa đặt — chỉ còn dữ liệu thực.
Bạn có thể cấu hình cho từng mô hình AI kết nối với các MCP server cụ thể để thực hiện hành động. Với các nền tảng như Grafana, GitHub, Docker, đều có các MCP server tương ứng để chuyển đổi yêu cầu của AI thành hành động thực tế.
Vì Cyclops hướng đến việc giúp lập trình viên dễ thở hơn, chúng tôi đã xây dựng MCP server riêng, có thể cài đặt trong cụm Kubernetes và cho phép triển khai ứng dụng bằng ngôn ngữ tự nhiên.
Cyclops MCP
Cyclops là công cụ giúp đơn giản hóa cấu hình Kubernetes bằng một UI tùy biến và dễ dùng. Bên dưới, các ứng dụng được định nghĩa bằng các đối tượng Kubernetes. Để quản lý, Cyclops sử dụng một CustomResourceDefinition
tên là Module.
Khi lập trình viên tạo ứng dụng qua UI, backend của Cyclops sẽ tạo một thực thể Module
. Cyclops MCP cung cấp công cụ để quản lý các Module
và các mẫu (template) tạo ra chúng.
Cyclops MCP không loại bỏ DevOps khỏi quy trình — kỹ sư DevOps sẽ chịu trách nhiệm tạo template và đảm bảo các ứng dụng tuân thủ best practices. Các template này định nghĩa tài nguyên Kubernetes ở cấp thấp, cũng như các cấu hình mà lập trình viên hoặc AI agent phải tuân theo khi triển khai ứng dụng.
Bây giờ, bạn có thể yêu cầu AI agent triển khai ứng dụng bằng ngôn ngữ tự nhiên. Yêu cầu đó sẽ được chuyển thành cấu hình đúng chuẩn, sẵn sàng đưa vào sản xuất.
Yêu cầu trước khi cài đặt
Để dùng thử Cyclops MCP, bạn cần:
- Cụm Kubernetes đang chạy
- Đã cài kubectl
- Đã cài đặt Cyclops trong cụm
Nếu chưa có cụm, bạn có thể tạo bằng Minikube.
Cài đặt Cyclops:
kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.20.1/install/cyclops-install.yaml && kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.20.1/install/demo-templates.yaml
Lệnh trên sẽ tạo namespace cyclops
và triển khai toàn bộ các thành phần cần thiết.
Mở giao diện Cyclops:
kubectl port-forward svc/cyclops-ui 3000:3000 -n cyclops
Truy cập tại: http://localhost:3000
Cài đặt Cyclops MCP
Nếu đang dùng Cyclops từ phiên bản v0.20.1
trở lên:
- Trong sidebar, chọn "Addon" > "MCP server"
- Nhấn "Install Cyclops MCP server"
Hoặc cài đặt thủ công:
kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/mcp-cyclops/refs/heads/main/install/mcp-server.yaml
Để mở cổng MCP server ra ngoài cụm:
kubectl port-forward -n cyclops svc/cyclops-mcp 8000:8000
Truy cập tại: http://localhost:8000
Kết nối với AI agent
Cấu hình MCP server vào AI agent của bạn. Ví dụ thêm vào Cursor:
{ "mcpServers": { "mcp-cyclops": { "url": "http://localhost:8000/sse" } }
}
Giờ bạn có thể bắt đầu trò chuyện với AI và yêu cầu nó triển khai ứng dụng. Tất cả ứng dụng triển khai đều có thể xem và chỉnh sửa trong UI Cyclops.
Kubernetes MCP
Có một câu hỏi quan trọng: “Có MCP server nào nói chuyện trực tiếp với Kubernetes không?” — Câu trả lời là có!
Nhưng: MCP dạng này cho phép AI tạo tài nguyên cấp thấp như Deployment
, Service
, Ingress
, v.v. Điều này dễ dẫn đến lỗi cấu hình, mất ổn định hoặc lỗ hổng bảo mật — vì mỗi cụm Kubernetes đều có những quy ước riêng.
Ví dụ: nếu bạn bảo AI "Mở ứng dụng này ra ngoài internet", nó có thể tạo một Ingress — nhưng nếu tuần trước AI tạo bằng một cách khác, sự không nhất quán sẽ xuất hiện.
Kubernetes rất phức tạp, và mỗi công ty/cụm lại khác nhau. Vì vậy, AI không thể luôn đưa ra cấu hình đúng đắn cho từng trường hợp.
Lời kết
Chúng tôi tin rằng AI đang dần có vị trí trong quy trình phát triển phần mềm, nhưng cần có các lớp trừu tượng và xác thực để đảm bảo tính an toàn. Đây là bước đầu tiên của chúng tôi trong hành trình đó.