- Đăng vào
Triển khai Agentic AI trên Kubernetes với kagent
Các công cụ mã nguồn mở dành cho DevOps và kỹ sư nền tảng để xây dựng, triển khai và vận hành các giải pháp AI trên nền tảng Kubernetes.
Giới thiệu

Trong bài viết này mình giới thiệu vắn tắt cách triển khai kagent trên Kubernetes và vẫn như mọi khi, mình sử dụng ArgoCD.
Trên document của kagent đã hướng dẫn cách cài bằng Helm chart khá đầy đủ, chúng ta cần cài 2 chart:
- kagent-crds
- kagent
Cài đăt kagent-crds
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: kagent-crds
namespace: argocd
spec:
project: default
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- Validate=false
- CreateNamespace=true
- PrunePropagationPolicy=foreground
- PruneLast=true
- RespectIgnoreDifferences=true
- Replace=true
source:
repoURL: ghcr.io/kagent-dev/kagent/helm
chart: kagent-crds
targetRevision: 0.*
destination:
namespace: kagent
server: https://kubernetes.default.svc
Khi cài đặt chúng ta chỉ cần chạy: kubectl apply -f kagent-crds.yaml
Cài đăt kagent
Tiếp theo, chúng ta cần phải cài tiếp chart kagent, trong đây sẽ cấu hình các agent cũng như loại AI model mà chúng ta sử dụng.
Trong ví dụ này, mình sử dụng model: gemini-2.0-flash
, chúng ta cần lưu API key trên Kubernetes để sau đó kagent có thể tích hợp được với Google Gemini.
kubectl create secret generic kagent-gemini -n kagent --from-literal GOOGLE_API_KEY=<your_api_key>
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: kagent
namespace: argocd
spec:
project: default
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- Validate=false
- CreateNamespace=true
- PrunePropagationPolicy=foreground
- PruneLast=true
- RespectIgnoreDifferences=true
- Replace=true
source:
repoURL: ghcr.io/kagent-dev/kagent/helm
chart: kagent
targetRevision: 0.*
helm:
parameters:
- name: controller.resources.limits.cpu
value: "500m"
- name: providers.default
value: "Gemini"
- name: providers.Gemini.provider
value: "Gemini"
- name: providers.Gemini.model
value: "gemini-2.0-flash"
- name: providers.Gemini.apiKeySecretRef
value: "kagent-gemini"
- name: providers.Gemini.apiKeySecretKey
value: "GOOGLE_API_KEY"
- name: querydoc.enabled
value: "false"
valuesObject:
agents:
k8s-agent:
enabled: true
kgateway-agent:
enabled: false
istio-agent:
enabled: false
promql-agent:
enabled: false
observability-agent:
enabled: false
argo-rollouts-agent:
enabled: false
helm-agent:
enabled: false
cilium-policy-agent:
enabled: false
cilium-manager-agent:
enabled: false
cilium-debug-agent:
enabled: false
destination:
namespace: kagent
server: https://kubernetes.default.svc
Chúng ta chạy lệnh kubectl apply -f kagent.yaml
để triển khai.
Bởi vì trong phần helm chart hiện tại chưa có hỗ trợ cấu hình ingress để cho phép người dùng thao tác với các AI Agent, nên chúng ta tự tạo thêm ingress để có thể truy cập vào phần quản lý.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: kagent-ui
namespace: kagent
labels:
k8s-app: kagent-ui
app.kubernetes.io/name: kagent-ui
app.kubernetes.io/part-of: kagent
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
ingressClassName: nginx
rules:
- host: agents.nvtienanh.info
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: kagent-ui
port:
number: 80
tls:
- hosts:
- agents.nvtienanh.info
secretName: ssl-agents.nvtienanh.info
Mọi thứ đến đây đã xong, chúng ta có thể deploy resource.
Demo
Chúc thành công,
ANH NGUYỄN