Điều kiện tiên quyết
- Rancher 2.8 trở lên, có thể truy cập từ internet qua HTTPS. Các lệnh chạy trong CloudThinker cloud. Với Rancher nội bộ, xem Truy cập dịch vụ riêng tư. Tài liệu này không công bố danh sách egress IP của CloudThinker: hãy hỏi đầu mối liên hệ CloudThinker của bạn, hoặc liên hệ với chúng tôi.
- Quyền trong Rancher để tạo người dùng và gán cluster role và project role.
- Tùy chọn: chứng chỉ PEM của certificate authority riêng, nếu chứng chỉ của Rancher không được tin cậy công khai.
Thiết lập
Tạo người dùng Rancher chuyên dụng
- Mở ☰ → Users & Authentication → Users và nhấn Create. Nhập Username như
cloudthinkervà New Password. Trong Global Permissions, chọn User-Base thay vì Standard User mặc định, vốn có thể tạo cluster. User-Base chỉ cho phép tài khoản đăng nhập và không gì hơn. Nhấn Create. - Trong mỗi cluster bạn muốn kiểm tra, mở ☰, chọn cluster trong Explore Cluster, rồi mở Cluster → Cluster and Project Members ở menu bên trái.
- Trên tab Cluster Membership, thêm người dùng với Cluster Member (hoặc custom role của bạn).
- Trên tab Project Membership, thêm người dùng vào từng project với Read Only.
Tạo API key
- Expiry: chọn một ngày phù hợp với lịch xoay vòng của bạn, chẳng hạn 90 ngày. Rancher giới hạn thời hạn này theo cài đặt
auth-token-max-ttl-minutescủa server, bạn có thể kiểm tra trong ☰ → Global Settings → Settings, và áp dụng giới hạn đó mà không cảnh báo nếu bạn yêu cầu dài hơn. Khi key hết hạn, kết nối chuyển sang Error. Tạo key mới và nhập nó bằng Replace credentials trên bảng chi tiết, nút này xuất hiện khi kết nối hiển thị Error. Xem Xoay vòng thông tin xác thực. - Scope: để là No Scope. Key có scope chỉ hoạt động với Kubernetes API của một cluster, mà kết nối này không sử dụng.
Thêm kết nối trong CloudThinker
Chi tiết kết nối
Quyền yêu cầu
Người dùng của API key cần quyền đọc cluster, node, project, cùng cluster role binding và project role binding. Chọn một cách:- Role tích hợp sẵn: Cluster Member trên mỗi cluster, cộng Read Only trên mỗi project (bước 1 của Thiết lập, mục 3 và 4).
- Custom role: custom cluster role bên dưới trên mỗi cluster, thay cho Cluster Member. Rule của role này bao gồm project và project role binding. Chạy kiểm tra bên dưới, và chỉ thêm Read Only trên một project nếu kiểm tra đó báo lỗi quyền cho project đó.
Who holds Rancher access to the <project> project on <cluster>?. Câu trả lời phải liệt kê các binding. Nếu câu trả lời báo lỗi quyền, role không truy cập được project đó.
Những gì kết nối này không thể truy cập
Kết nối chỉ gửi request đọc đến tài nguyên quản lý của Rancher. Những thứ sau vẫn nằm ngoài tầm với ngay cả khi người dùng của API key có thể đọc chúng:- Secret, kubeconfig, API token và cluster registration token
- Cloud credential, cài đặt xác thực và cài đặt toàn cục
- Mọi thay đổi đối với Rancher: tạo, cập nhật, xóa hoặc scale
- Rancher API
v3cũ
Khả năng của agent
Show node readiness for the prod-sea cluster. Mỗi khi tin nhắn nhắc đến Rancher, agent truy vấn trực tiếp thay vì dùng lại kết quả từ tin nhắn trước.
Xác minh kết nối
Ví dụ prompt
Khắc phục sự cố
Rancher rejected the API token
Rancher rejected the API token
Rancher accepted the token but it lacks read access to managed clusters
Rancher accepted the token but it lacks read access to managed clusters
The Rancher server did not expose the management.cattle.io RK-API
The Rancher server did not expose the management.cattle.io RK-API
/apis/management.cattle.io/v3. URL trỏ đến nơi khác thay vì gốc của Rancher server, hoặc phiên bản Rancher cũ hơn 2.8. Kết nối lại với địa chỉ Rancher thuần và kiểm tra phiên bản của bạn.Could not reach the Rancher server
Could not reach the Rancher server
Rancher URL must use HTTPS outside local development
Rancher URL must use HTTPS outside local development
http://, nghĩa là API key sẽ bị gửi dưới dạng văn bản thuần. Trên cloud của CloudThinker, http:// bị từ chối với mọi host, kể cả localhost. Phục vụ Rancher qua HTTPS và kết nối lại với URL https://.Invalid Rancher CA certificate bundle or connection configuration
Invalid Rancher CA certificate bundle or connection configuration
Connection 'rancher' already exists. Only one instance is allowed.
Connection 'rancher' already exists. Only one instance is allowed.
Agent báo cáo ít cluster hơn những gì Rancher hiển thị
Agent báo cáo ít cluster hơn những gì Rancher hiển thị
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.
- Thu hẹp qua role. API key thấy đúng những gì người dùng của nó thấy, nên role của người dùng là cách kiểm soát phạm vi duy nhất của bạn.
- Chỉ đọc theo cấu trúc. Kết nối chỉ có thể gửi request đọc, nên không quyền nào bạn cấp cho phép agent thay đổi Rancher.
- Lên kế hoạch cho việc hết hạn. Mỗi workspace chỉ chứa một kết nối Rancher, nên không thể thay thế tại chỗ khi kết nối đang hoạt động tốt. Hoặc chờ đến Error và dùng Replace credentials, hoặc xoay vòng sớm bằng cách ngắt kết nối và kết nối lại với key mới. Kết nối lại sẽ chạy lại Discovery và cần kiểm tra rằng Rules vẫn nêu tên kết nối. Xem Xoay vòng thông tin xác thực.
- Thu hồi tại nguồn. Xóa API key trong Account & API Keys, hoặc vô hiệu hóa người dùng, để dừng mọi quyền truy cập qua kết nối này.