Tại sao không dùng Helm
OpenClaw là một container duy nhất cùng một số tệp cấu hình. Phần tùy chỉnh đáng chú ý nằm ở nội dung của tác tử (các tệp Markdown, Skills, các giá trị ghi đè cấu hình), chứ không phải việc tạo mẫu hạ tầng. Kustomize xử lý các lớp phủ mà không phát sinh chi phí phức tạp của biểu đồ Helm. Bạn có thể bổ sung một biểu đồ Helm trên các manifest này nếu bản triển khai trở nên phức tạp hơn.Những gì bạn cần
- Một cụm Kubernetes đang chạy (AKS, EKS, GKE, k3s, kind, OpenShift, v.v.)
kubectlđã kết nối với cụm của bạn- Khóa API của ít nhất một nhà cung cấp mô hình
Bắt đầu nhanh
deploy.sh tạo phương thức xác thực bằng mã thông báo. Lấy mã thông báo Gateway đã tạo cho giao diện điều khiển:
./scripts/k8s/deploy.sh --show-token sẽ in mã thông báo sau khi triển khai.
Kiểm thử cục bộ bằng Kind
Nếu chưa có cụm, hãy tạo một cụm cục bộ bằng Kind:./scripts/k8s/deploy.sh.
Từng bước thực hiện
1) Triển khai
Tùy chọn A: Khóa API trong môi trường (một bước)--show-token vào một trong hai lệnh để in mã thông báo ra stdout phục vụ kiểm thử cục bộ.
2) Truy cập Gateway
Những gì sẽ được triển khai
Tùy chỉnh
Chỉ dẫn cho tác tử
Chỉnh sửaAGENTS.md trong scripts/k8s/manifests/configmap.yaml rồi triển khai lại:
Cấu hình Gateway
Chỉnh sửaopenclaw.json trong scripts/k8s/manifests/configmap.yaml. Xem Cấu hình Gateway để biết tài liệu tham khảo đầy đủ.
Thêm nhà cung cấp
Chạy lại sau khi xuất thêm các khóa:Không gian tên tùy chỉnh
Ảnh tùy chỉnh
Chỉnh sửa trườngimage trong scripts/k8s/manifests/deployment.yaml:
Cung cấp quyền truy cập ngoài chuyển tiếp cổng
Các manifest mặc định liên kết Gateway với local loopback bên trong pod. Cấu hình này hoạt động vớikubectl port-forward, nhưng không hoạt động với Service Kubernetes hoặc đường dẫn Ingress cần truy cập trực tiếp vào IP của pod.
Để cung cấp Gateway thông qua Ingress hoặc bộ cân bằng tải:
- Thay đổi liên kết Gateway trong
scripts/k8s/manifests/configmap.yamltừloopbacksang một liên kết không phải loopback phù hợp với mô hình triển khai của bạn. - Duy trì xác thực Gateway và sử dụng điểm vào có kết thúc TLS phù hợp.
- Cấu hình giao diện điều khiển để truy cập từ xa bằng mô hình bảo mật web được hỗ trợ (ví dụ: HTTPS/Tailscale Serve và các nguồn gốc được cho phép rõ ràng khi cần).
Triển khai lại
Gỡ bỏ
Ghi chú kiến trúc
- Theo mặc định, Gateway liên kết với local loopback bên trong pod, vì vậy thiết lập đi kèm dành cho
kubectl port-forward. - Không có tài nguyên phạm vi cụm; mọi thứ nằm trong một không gian tên duy nhất.
- Tăng cường bảo mật:
readOnlyRootFilesystem, khả năngdrop: ALL, người dùng không phải root (UID 1000). - Cấu hình mặc định giữ giao diện điều khiển trên đường dẫn truy cập cục bộ an toàn hơn: liên kết loopback cùng
kubectl port-forwardtớihttp://127.0.0.1:18789. - Nếu mở rộng truy cập ra ngoài localhost, hãy sử dụng mô hình từ xa được hỗ trợ: HTTPS/Tailscale cùng thiết lập liên kết Gateway và nguồn gốc giao diện điều khiển phù hợp.
- Các Secret được tạo trong thư mục tạm thời và áp dụng trực tiếp vào cụm; không có dữ liệu bí mật nào được ghi vào bản checkout của kho lưu trữ.