Chuyển đến nội dung chính
Kết nối các instance ArgoCD của bạn để cho phép Kai (Kỹ sư Kubernetes) phân tích các deployment, quản lý ứng dụng và xử lý sự cố các quy trình GitOps. ArgoCD xác thực bằng API token — quy trình thiết lập khác nhau giữa các instance tự lưu trữ và Akuity Platform.

Điều kiện tiên quyết

  • Một instance ArgoCD có thể truy cập từ CloudThinker: tự lưu trữ (cổng mặc định 8888) hoặc được quản lý qua Akuity Platform.
  • ArgoCD CLI đã cài đặt (brew install argocd); Akuity Platform cũng yêu cầu Akuity CLI.
  • Quyền quản trị viên trên ArgoCD để bật khả năng apiKey và tạo token.

Thiết lập

Chọn nền tảng ArgoCD của bạn:
1

Lấy thông tin kết nối

Đảm bảo ArgoCD đang chạy và có thể truy cập. Lấy địa chỉ IP của máy chủ:
hostname -I | awk '{print $1}'
2

Tạo API token

Bật khả năng apiKey và tạo token cho tài khoản admin:
kubectl -n argocd patch configmap argocd-cm --type merge -p '{"data":{"accounts.admin":"apiKey, login"}}'
argocd login <host-ip>:8888 --username admin --password '<password>' --insecure
argocd account generate-token --account admin --insecure
3

Thêm kết nối trong CloudThinker

Điều hướng đến Connections → ArgoCD và nhập:
  • Base URL: https://<host-ip>:8888
  • API Token: token từ bước trước
  • TLS Verification: Tắt
  • Read-only Mode: Bật
Nhấp Connect. CloudThinker xác minh thông tin xác thực và hiển thị trạng thái Connected.

Chi tiết kết nối

TrườngMô tảVí dụ
Base URLĐịa chỉ máy chủ ArgoCDhttps://192.168.1.100:8888 (tự lưu trữ); https://<id>.cd.akuity.cloud (Akuity)
API TokenToken được tạo cho tài khoản admin ArgoCD
TLS VerificationBật cho Akuity; tắt cho instance tự lưu trữ có chứng chỉ tự ký
Read-only ModeBật để ngăn các thao tác ghi không được phê duyệt

Quyền hạn cần thiết

Áp dụng chính sách RBAC sau trong ArgoCD để cấp quyền truy cập chỉ đọc cho CloudThinker:
apiVersion: v1
kind: ConfigMap
metadata:
  name: argocd-rbac-cm
  namespace: argocd
data:
  policy.default: role:readonly
  policy.csv: |
    p, role:cloudthinker-readonly, applications, get, */*, allow
    p, role:cloudthinker-readonly, applications, list, */*, allow
    p, role:cloudthinker-readonly, repositories, get, *, allow
    p, role:cloudthinker-readonly, repositories, list, *, allow
    p, role:cloudthinker-readonly, clusters, get, *, allow
    p, role:cloudthinker-readonly, clusters, list, *, allow
    g, cloudthinker-readonly, role:cloudthinker-readonly
kubectl apply -f argocd-rbac.yaml
Tuân thủ nguyên tắc đặc quyền tối thiểu: chỉ cấp các hành động getlist trên applications, repositories và clusters.

Khả năng của agent

Sau khi kết nối, Kai có thể điều tra và hành động trên các ứng dụng ArgoCD của bạn.
Khả năngMô tả
Trạng thái ứng dụngXem trạng thái đồng bộ, tình trạng sức khỏe và thời gian đồng bộ gần nhất
Phân tích deploymentXác định các deployment mất đồng bộ và bị lỗi
Thông tin repositoryPhân tích trạng thái repository Git và các commit
Giám sát sức khỏeTheo dõi tình trạng sức khỏe của ứng dụng trên tất cả các app
Thao tác đồng bộKích hoạt đồng bộ thủ công — yêu cầu phê duyệt

Xác minh kết nối

@kai list all ArgoCD applications and show their sync and health status

Các lệnh mẫu

@kai show all out-of-sync ArgoCD applications and #report the details
@kai analyze deployment failures for the payment service and #recommend fixes
@kai check the health status of all applications in production

Xử lý sự cố

Với các instance tự lưu trữ, sử dụng địa chỉ IP của máy chủ (không phải localhost) trong Base URL. Nếu máy chủ nằm sau port-forward, chạy kubectl port-forward svc/argocd-server -n argocd 8888:443 --address 0.0.0.0. Kiểm tra quy tắc tường lửa nếu máy chủ vẫn không thể truy cập.
Xác minh API token là chính xác và tài khoản admin đã bật cả hai khả năng loginapiKey. Với instance tự lưu trữ, xác nhận argocd-cm đã được vá; với Akuity, kiểm tra khả năng System Account trong portal.
Khả năng apiKey chưa được bật cho tài khoản. Chạy argocd account get để kiểm tra các khả năng của tài khoản, sau đó bật apiKey và thử lại.
Với các instance tự lưu trữ, tắt xác minh TLS trong cài đặt kết nối (tương đương với flag --insecure của CLI). Với Akuity, xác minh TLS phải được giữ bật.

Bảo mật

  • Quyền tối thiểu — chỉ cấp các quyền mà agent cần cho trường hợp sử dụng của bạn; bắt đầu với quyền chỉ đọc và mở rộng sau.
  • Chỉ đọc theo mặc định — sử dụng thông tin xác thực chỉ đọc trừ khi bạn muốn agent thực hiện thay đổi qua kết nối này.
  • Xoay vòng thông tin xác thực — xoay vòng khóa và token theo lịch trình thông thường của bạn; CloudThinker sẽ lấy giá trị mới khi bạn cập nhật kết nối.
  • Thu hồi khi bàn giao — xóa thông tin xác thực tại nhà cung cấp khi bạn xóa một kết nối hoặc khi đồng nghiệp rời nhóm.
  • RBAC chỉ đọc — áp dụng chính sách role:cloudthinker-readonly trong argocd-rbac-cm và bật chế độ chỉ đọc trong kết nối để ngăn các thao tác ghi không được phê duyệt.
  • Xoay vòng token — định kỳ xoay vòng API token ArgoCD và cập nhật trong CloudThinker.

Liên quan

Kai Agent

Agent Kubernetes và GitOps
https://mintcdn.com/cloudthinker/aLd-ttc-SCW-aFky/images/icons/kubernetes.svg?fit=max&auto=format&n=aLd-ttc-SCW-aFky&q=85&s=7c03292954ff635a1994623a5c39971b

Kết nối Kubernetes

Kết nối các cluster Kubernetes