Viết mã kiểu “vibe” trên Kubernetes với Cyclops MCP

0 0 0

Người đăng: Kubernetes

Theo Viblo Asia

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.

image.png

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"

image.png

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 đó.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Deploying A Containerized Web Application On Kubernetes

1. Overview. Kubernetes is an open source project (available on kubernetes.io) which can run on many different environments, from laptops to high-availability multi-node clusters; from public clouds to on-premise deployments; from virtual machines to bare metal.

0 0 67

- vừa được xem lúc

Kubernetes - Học cách sử dụng Kubernetes Namespace cơ bản

Namespace trong Kubernetes là gì. Tại sao nên sử dụng namespace.

0 0 121

- vừa được xem lúc

[Kubernetes] Kubectl và các command cơ bản

Mở đầu. Kubectl là công cụ quản trị Kubernetes thông qua giao diện dòng lệnh, cho phép bạn thực thi các câu lệnh trong Kubernetes cluster.

0 0 68

- vừa được xem lúc

Triển khai EFK Stack trên Kubernetes

EFK stack on K8S. Giới thiệu. Một hệ thống có thể chạy nhiều dịch vụ hoặc ứng dụng khác nhau, vì vậy việc. theo dõi hệ thống là vô cùng cần thiết.

0 0 82

- vừa được xem lúc

Thực hành Kubernetes (K8S) bằng cách sử dụng lệnh Command

Bài hướng dẫn hôm nay sẽ hướng dẫn sử dụng K8S bằng cách sử dụng câu lệnh thay vì UI trên web. Có 2 lựa chọn để thực hiện:. . Sử dụng Cloud Shell.

0 0 63

- vừa được xem lúc

Kubernetes best practices - Liveness và Readiness Health checks

Mở đầu. Kubernetes cung cấp cho bạn một framework để chạy các hệ phân tán một cách mạnh mẽ.

0 0 59