Kết nối mạng là một phần thiết yếu của bất kỳ kiến trúc cơ sở hạ tầng nào. Khi nói đến cách Kubernetes kết nối với PowerScale, có một số tùy chọn để cấu hình Giao diện lưu trữ vùng chứa (CSI). Trong bài đăng này, chúng tôi sẽ đề cập đến các khái niệm và cấu hình bạn có thể triển khai.
Câu chuyện bắt đầu với kiến trúc plugin CSI.
Các plugin CSI
Giống như tất cả các CSI lưu trữ khác của Dell, PowerScale CSI tuân theo tiêu chuẩn Kubernetes CSI bằng cách triển khai các chức năng trong hai thành phần.
- Plugin bộ điều khiển CSI
- Plugin nút CSI
Plugin bộ điều khiển CSI được triển khai dưới dạng Kubernetes Deployment, thường có hai hoặc ba bản sao để có tính khả dụng cao, chỉ có một phiên bản đóng vai trò là người dẫn đầu. Bộ điều khiển chịu trách nhiệm giao tiếp với PowerScale, sử dụng Platform API để quản lý các khối lượng (đối với PowerScale, đó là để tạo/xóa thư mục, xuất NFS và hạn ngạch), để cập nhật danh sách máy khách NFS khi Pod di chuyển, v.v.
Plugin nút CSI là Kubernetes DaemonSet, chạy trên tất cả các nút theo mặc định. Nó chịu trách nhiệm gắn kết xuất NFS từ PowerScale, để ánh xạ đường dẫn gắn kết NFS đến Pod dưới dạng lưu trữ liên tục, để các ứng dụng và người dùng trong Pod có thể truy cập dữ liệu trên PowerScale.
Vai trò, quyền hạn và vùng truy cập
Vì CSI cần truy cập cả dữ liệu PAPI (PowerScale Platform API) và dữ liệu NFS nên vai trò người dùng đơn lẻ thường không đủ an toàn: vai trò truy cập PAPI sẽ cần nhiều đặc quyền hơn so với người dùng thông thường.
Theo hướng dẫn sử dụng PowerScale CSI , CSI yêu cầu người dùng có các đặc quyền sau để thực hiện tất cả các chức năng của CSI:
Quyền lợi | Kiểu |
ISI_PRIV_ĐĂNG NHẬP_PAPI | Chỉ đọc |
ISI_PRIV_NFS | Đọc Viết |
ISI_PRIV_QUOTA | Đọc Viết |
ISI_PRIV_SNAPSHOT | Đọc Viết |
ISI_PRIV_IFS_PHỤC HỒI | Chỉ đọc |
ISI_PRIV_NS_IFS_TRUY CẬP | Chỉ đọc |
ISI_PRIV_IFS_SAO LƯU | Chỉ đọc |
Trong số các đặc quyền này, ISI_PRIV_SNAPSHOT và ISI_PRIV_QUOTA chỉ khả dụng trong vùng System. Và điều này làm mọi thứ phức tạp hơn một chút. Để sử dụng đầy đủ các tính năng CSI này, chẳng hạn như chụp nhanh ổ đĩa, sao chép ổ đĩa và quản lý dung lượng ổ đĩa, bạn phải cho phép CSI có thể truy cập vào vùng PowerScale System . Nếu bạn bật CSM để sao chép, người dùng cần có đặc quyền ISI_PRIV_SYNCIQ, đây cũng là đặc quyền của vùng System.
Ngược lại, không có yêu cầu cụ thể nào về vai trò đối với các ứng dụng/người dùng trong Kubernetes để truy cập dữ liệu: dữ liệu được chia sẻ bởi giao thức NFS thông thường. Miễn là họ có ACL phù hợp để truy cập các tệp, thì họ ổn. Đối với yêu cầu truy cập dữ liệu này, một vùng không phải hệ thống là phù hợp và được khuyến nghị.
Hai vùng truy cập này được định nghĩa ở những vị trí khác nhau trong tệp cấu hình CSI:
- Tên vùng truy cập PAPI (FQDN) cần được đặt trong tệp yaml bí mật là “điểm cuối”, ví dụ “f200.isilon.com”.
- Tên vùng truy cập dữ liệu (FQDN) cần được đặt trong tệp yaml storageclass là “AzServiceIP”, ví dụ “openshift-data.isilon.com”.
Nếu quản trị viên thực sự không thể hiển thị vùng Hệ thống của họ cho cụm Kubernetes, họ phải tắt tính năng snapshot và quota trong tệp cấu hình cài đặt CSI (values.yaml). Theo cách này, vùng truy cập PAPI có thể là vùng truy cập không phải Hệ thống.
Sơ đồ sau đây cho thấy cách cụm Kubernetes kết nối với vùng truy cập PowerScale.
Mạng
Thông thường, một cụm Kubernetes đi kèm với nhiều mạng: mạng liên lạc giữa các pod, mạng dịch vụ cụm, v.v. May mắn thay, mạng PowerScale không phải tham gia bất kỳ mạng nào trong số đó. Các pod CSI có thể truy cập trực tiếp vào mạng của máy chủ mà không cần thông qua mạng nội bộ Kubernetes. Điều này cũng có lợi thế là cung cấp một mạng hiệu suất cao chuyên dụng để truyền dữ liệu.
Ví dụ, trên máy chủ Kubernetes, có hai NIC: IP 192.168.1.x và 172.24.1.x. NIC 192.168.1.x được sử dụng cho Kubernetes và được căn chỉnh với tên máy chủ của nó. NIC 172.24.1.x không được Kubernetes quản lý. Trong trường hợp này, chúng ta có thể sử dụng NIC 172.24.1.x để truyền dữ liệu giữa máy chủ Kubernetes và PowerScale.
Bởi vì theo mặc định, trình điều khiển CSI sẽ sử dụng IP được căn chỉnh với tên máy chủ của nó, để cho phép CSI nhận dạng NIC thứ hai 172.24.1.x, chúng tôi đã thiết lập rõ ràng phạm vi IP trong “allowedNetworks” trong tệp values.yaml trong quá trình cài đặt trình điều khiển CSI. Ví dụ:
Mạng được phép: [172.24.1.0/24]
Ngoài ra, trong cấu hình mạng này, DNS nội bộ của Kubernetes không thể giải quyết được PowerScale FQDN. Vì vậy, chúng ta cũng phải đảm bảo rằng “dnsPolicy” đã được đặt thành “ClusterFirstWithHostNet” trong tệp values.yaml. Với dnsPolicy này, các pod CSI sẽ đến được máy chủ DNS trong /etc/resolv.conf trong hệ điều hành máy chủ, chứ không phải máy chủ DNS nội bộ của Kubernetes.
Sơ đồ sau đây hiển thị cấu hình được đề cập ở trên:
Xin lưu ý rằng thiết lập “allowedNetworks” chỉ ảnh hưởng đến vùng truy cập dữ liệu chứ không phải vùng truy cập PAPI. Trên thực tế, CSI chỉ sử dụng tham số này để quyết định IP máy chủ nào sẽ được đặt làm IP máy khách NFS ở phía PowerScale.
Về định tuyến mạng, CSI chỉ đơn giản là tuân theo cấu hình định tuyến của OS. Do đó, nếu chúng ta muốn vùng truy cập PAPI đi qua NIC chính (192.168.1.x) và vùng truy cập dữ liệu đi qua NIC thứ hai (172.24.1.x), chúng ta phải thay đổi cấu hình định tuyến của máy chủ Kubernetes, không phải tham số này.
Hy vọng blog này giúp bạn hiểu rõ hơn về cấu hình mạng cho PowerScale CSI. Hãy theo dõi để biết thêm thông tin về Dell Containers & Storage!
Bài viết mới cập nhật
Thiết kế mạng cho PowerScale CSI
Kết nối mạng là một phần thiết yếu của bất kỳ ...
Cung cấp sự đổi mới AI cho làn sóng chuyển đổi kinh doanh tiếp theo
Các tổ chức có thể nhanh chóng triển khai các ứng ...
Nạp năng lượng cho nhà máy AI của bạn bằng dữ liệu chất lượng cao
Danh mục dữ liệu và đường ống thúc đẩy việc sử ...
Cách mạng hóa việc áp dụng AI PC: Một kỷ nguyên mới
Thắp sáng tương lai số của bạn với những đột phá ...