Cơ sở hạ tầng dưới dạng mã với VxRail trở nên dễ dàng hơn với các mô-đun Ansible dành cho Dell VxRail

Nhiều khách hàng đang xem xét Cơ sở hạ tầng dưới dạng Mã (IaC) như một giải pháp tốt hơn để tự động hóa môi trường CNTT, đặc biệt phù hợp với những người áp dụng DevOps. Tuy nhiên, không nhiều khách hàng biết đến khả năng tăng tốc triển khai IaC với VxRail, một giải pháp mà chúng tôi đã cung cấp từ lâu—Ansible Modules for Dell VxRail.

Đó là gì? Đó là bộ sưu tập các mô-đun Ansible do Dell phát triển và bảo trì, sử dụng API VxRail để tự động hóa các hoạt động VxRail từ Ansible.

Nhân tiện, nếu bạn mới biết đến VxRail API, trước tiên hãy xem video giới thiệu về bảng trắng có sẵn trên YouTube .


Mô-đun Ansible cho Dell VxRail rất phù hợp cho các trường hợp sử dụng IaC. Chúng được viết theo cách đảm bảo tất cả các yêu cầu đều bất biến và do đó có khả năng chịu lỗi. Điều này có nghĩa là kết quả của một yêu cầu được thực hiện thành công không phụ thuộc vào số lần chạy yêu cầu đó.

Bên cạnh đó, thay vì chỉ cung cấp một lớp bao bọc cho các hàm API riêng lẻ, chúng tôi đã tự động hóa quy trình làm việc toàn diện (ví dụ: triển khai cụm, mở rộng cụm, nâng cấp LCM, v.v.), nhờ đó khách hàng không phải đau đầu tìm cách giám sát hoạt động của các hàm API VxRail bất đồng bộ. Các mô-đun này cung cấp chức năng phong phú và được Dell bảo trì; điều này có nghĩa là chúng tôi đang dần giới thiệu các chức năng mới. Chúng đã hoàn thiện—chúng tôi vừa phát hành phiên bản 1.4.

Cuối cùng, chúng tôi cũng giảm thiểu rủi ro cho khách hàng sẵn sàng áp dụng các mô-đun Ansible vào môi trường của họ, nhờ mô hình hỗ trợ cộng đồng, cho phép bạn tương tác với cộng đồng chuyên gia toàn cầu. Về mặt triển khai, kiến trúc và trải nghiệm người dùng cuối tương tự như các mô-đun chúng tôi cung cấp cho hệ thống lưu trữ Dell.

Bắt đầu

Các Mô-đun Ansible cho Dell VxRail có sẵn công khai từ các kho lưu trữ mã chuẩn: Ansible Galaxy và GitHub . Bạn không cần tài khoản Hỗ trợ Dell để tải xuống và bắt đầu sử dụng chúng.

Yêu cầu

Các yêu cầu đối với phiên bản cụ thể được ghi trong phần “Điều kiện tiên quyết” của tệp mô tả/README.

Nhìn chung, bạn cần một máy chủ chạy Linux với các phiên bản Ansible và Python được hỗ trợ. Trước khi cài đặt các mô-đun, bạn phải cài đặt thư viện SDK Python nhẹ tương ứng có tên “VxRail Ansible Utility”, chịu trách nhiệm giao tiếp cấp thấp với API VxRail. Bạn cũng phải đáp ứng các yêu cầu phiên bản tối thiểu cho Phần mềm Hệ thống VxRail HCI trên cụm VxRail.

Sau đây là tóm tắt các yêu cầu đối với phiên bản mới nhất hiện có (1.4.0) tại thời điểm viết blog này:

Mô-đun Ansible cho Dell VxRail Phiên bản phần mềm hệ thống VxRail HCI Phiên bản Python Phiên bản thư viện Python (VxRail Ansible Utility) Phiên bản Ansible
1.4.0 7.0.400 3.7.x 1.4.0 2.9 và 2.10

Cài đặt

Bạn có thể cài đặt thư viện SDK bằng lệnh git và pip . Ví dụ:

git clone https://github.com/dell/ansible-vxrail-utility.git

cd ansible-vxrail-utility/
cài đặt pip.

Sau đó, bạn có thể cài đặt bộ sưu tập các mô-đun bằng lệnh này:

bộ sưu tập ansible-galaxy cài đặt dellemc.vxrail:1.4.0

Kiểm tra

Sau khi cài đặt thành công, chúng ta đã sẵn sàng để kiểm tra các mô-đun và khả năng giao tiếp giữa máy chủ tự động hóa Ansible và API VxRail.

Tôi khuyên bạn nên thực hiện kiểm tra đó bằng một mô-đun đơn giản (và hàm API tương ứng) như dellemc_vxrail_getsysteminfo, sử dụng GET /system để truy xuất Thông tin hệ thống VxRail.

Chúng ta hãy xem ví dụ này (bạn có thể tìm thấy mã nguồn trên GitHub ):

Lưu ý rằng playbook này được chạy trên máy chủ Ansible cục bộ (localhost), giao tiếp với API VxRail đang chạy trên thiết bị VxRail Manager bằng thư viện SDK. Trong phần vars, chúng ta cần cung cấp, ở mức tối thiểu, xác thực với VxRail Manager để gọi hàm API tương ứng. Chúng ta có thể di chuyển các định nghĩa biến này sang một tệp riêng và bao gồm tệp đó trong playbook với vars_files. Chúng ta cũng có thể lưu trữ thông tin nhạy cảm, chẳng hạn như mật khẩu, trong một tệp được mã hóa bằng tính năng vault của Ansible. Tuy nhiên, để ví dụ này đơn giản, chúng ta không sử dụng tùy chọn này.

Sau khi chạy playbook này, chúng ta sẽ thấy kết quả tương tự như ví dụ sau (trong trường hợp này, đây là kết quả từ phiên bản cũ hơn của mô-đun):

Ví dụ mở rộng cụm

Bây giờ, hãy cùng xem một ví dụ phức tạp hơn một chút nhưng vẫn dễ hiểu. Một thao tác điển hình mà nhiều khách hàng VxRail thường gặp phải là mở rộng cụm. Hãy cùng xem cách thực hiện thao tác này với Ansible (mã nguồn có sẵn trên  GitHub ):

Trong trường hợp này, tôi đã xuất định nghĩa của các biến nhạy cảm, chẳng hạn như vcpasswd , mgt_passwd và root_passwd , vào một tệp vault Ansible được mã hóa riêng biệt, sensitive-vars.yml, để tuân theo thông lệ tốt nhất là không lưu trữ chúng dưới dạng văn bản rõ trực tiếp trong sổ tay hướng dẫn.

Như bạn có thể thấy, bên cạnh việc xác thực, giờ đây chúng ta cần cung cấp thêm các tham số—cấu hình máy chủ mới được thêm vào—được định nghĩa trong phần vars. Chúng ta chọn máy chủ mới từ nhóm máy chủ khả dụng, sử dụng định danh PSNT ( biến host_psnt ).

Đây là ví dụ về một thao tác được thực hiện bởi hàm API bất đồng bộ. Việc mở rộng cụm không phải là việc hoàn tất ngay lập tức mà mất vài phút. Do đó, tiến trình mở rộng được theo dõi trong một vòng lặp cho đến khi hoàn tất hoặc số lần thử lại được thông qua. Nếu bạn giao tiếp trực tiếp với API VxRail bằng cách sử dụng mô-đun URI từ sổ tay hướng dẫn, bạn sẽ phải tự mình xử lý logic giám sát này; ở đây, bạn có thể sử dụng ví dụ chúng tôi cung cấp.

Bạn có thể xem hoạt động của playbook mở rộng cụm Ansible với bình luận của tôi trong bản demo này: 

Nhận trợ giúp

Nguồn thông tin chính về các Mô-đun Ansible cho Dell VxRail là tài liệu có sẵn trên GitHub . Tại đây, bạn sẽ tìm thấy tất cả thông tin chi tiết cần thiết về tất cả các mô-đun hiện có, mô tả nhanh, các điểm cuối được hỗ trợ (các hàm API VxRail được sử dụng), các tham số bắt buộc và tùy chọn, giá trị trả về và vị trí của tệp nhật ký (các mô-đun có tính năng ghi nhật ký tích hợp để đơn giản hóa việc khắc phục sự cố—nhật ký được ghi trong thư mục /tmp trên máy chủ tự động hóa Ansible). Tài liệu GitHub cũng chứa nhiều ví dụ minh họa cách sử dụng các mô-đun, bạn có thể dễ dàng sao chép và điều chỉnh khi cần thiết cho phù hợp với môi trường VxRail của mình.

Ngoài ra còn có tài liệu tích hợp cho các mô-đun, có thể truy cập bằng lệnh ansible-doc  .

Cuối cùng, Cộng đồng Tự động hóa Dell là diễn đàn thảo luận công khai nơi bạn có thể đăng câu hỏi và yêu cầu trợ giúp khi cần.

Phần kết luận 

Tôi hy vọng giờ bạn đã hiểu về các Mô-đun Ansible dành cho Dell VxRail và cách bắt đầu. Tôi xin tóm tắt nhanh về giá trị mà chúng tôi mang lại cho khách hàng. Các mô-đun này rất phù hợp cho các trường hợp sử dụng IaC nhờ khả năng tự động hóa quy trình làm việc toàn diện và tính bất biến. Chúng được Dell bảo trì và hỗ trợ bởi Cộng đồng Tự động hóa Dell, giúp giảm thiểu rủi ro. Các mô-đun này dễ sử dụng hơn nhiều so với việc tự mình truy cập API VxRail. Chúng tôi cung cấp nhiều ví dụ có thể được điều chỉnh theo đặc thù môi trường của khách hàng.