Tạo môi trường thực thi Ansible cho Dell Technologies Storage

Dell Technologies đã cung cấp Ansible Collections thông qua Ansible Galaxy và GitHub trong một thời gian. Điều này đã đơn giản hóa đáng kể việc thiết lập cấu hình Ansible để playbook có thể chạy nhanh. Tuy nhiên, trong một số môi trường, nhu cầu phải năng động hơn nữa có nghĩa là ngay cả quá trình này cũng có thể gây ra thách thức. Đây là nơi môi trường thực thi ansible có thể giúp ích.

Môi trường thực thi Ansible là môi trường chứa độc lập cung cấp môi trường có thể tái tạo dưới dạng hình ảnh chứa có thể chạy khi cần, giữ cấu hình ở mức tối thiểu. Chúng cũng đảm bảo rằng môi trường tự động hóa lưu trữ và các phụ thuộc của nó có thể được khởi động khi cần, biết rằng các môi trường này đã được kiểm tra và không có xung đột cấu hình với các môi trường tự động hóa khác. Sau đây là phần giới thiệu tuyệt vời về môi trường thực thi Ansible .

Việc tạo môi trường thực thi được thực hiện bằng Python với một gói Python tùy chọn có tên là Ansible-builder giúp người dùng tạo môi trường thực thi Ansible của riêng họ được đóng gói dưới dạng container. Một tổ chức có thể xây dựng kho lưu trữ hình ảnh môi trường thực thi để sử dụng với các thư viện playbook của họ từ nhiều nhà cung cấp khác nhau, để giảm độ phức tạp và loại bỏ mọi xung đột phụ thuộc. Các tổ chức thậm chí có thể duy trì các phiên bản môi trường thực thi cho hoạt động tự động hóa của họ đối với các cấu hình khác nhau của cùng một sản phẩm, đảm bảo rằng những gì đã được thử nghiệm và biết là hoạt động sẽ luôn hoạt động.

Để tạo môi trường thực thi, bạn sẽ cần tạo ba tệp:

  • môi trường thực thi.yml
  • yêu cầu.txt
  • môi trường.yml

Nội dung và mục đích của các tập tin này như sau.

môi trường thực thi.yml

execution-environment.yml – Tệp YAML này mô tả thiết lập và các phụ thuộc từ Ansible Galaxy. Nó cũng chỉ ra bất kỳ yêu cầu Python nào trong requirements.txt. Sau đây là một ví dụ về nội dung của nó:

# mẫu môi trường thực thi.yml
---
Phiên bản: 1
build_arg_defaults:
  EE_BASE_IMAGE: 'quay.io/Ansible/Ansible-runner:mới nhất'
Ansible_config: 'Ansible.cfg'
sự phụ thuộc:
  thiên hà: requirements.yml
  python: requirements.txt

Dưới đây là ví dụ về tệp requirements.yml.

# Yêu cầu mẫu.yml
bộ sưu tập:
- tên: dellemc.powermax
  Phiên bản: 1.6

yêu cầu.txt

Sau đây là mẫu tệp requirements.txt:

# Mẫu requirements.txt 
PyU4V==9.2.1.4

Sau khi các tệp requirements.yml, requirements.txt và execution-environment.yml được tạo, bạn có thể tiếp tục tạo vùng chứa môi trường thực thi.

Để tạo vùng chứa, chỉ cần chạy lệnh như sau. (Lưu ý rằng thẻ có thể là bất kỳ thứ gì có ý nghĩa trong môi trường của bạn.)

ansible-builder xây dựng –tag dellemc_ee_powermax1.6 –container-runtime podman

Sau khi môi trường thực thi đã được tạo, hãy chạy lệnh build cho podman hoặc Docker để tạo ảnh container môi trường thực thi. Bạn phải chạy lệnh này từ thư mục ngữ cảnh được tạo bởi lệnh Ansible-builder.

Sau khi hình ảnh được xây dựng và lưu trong sổ đăng ký cục bộ, bạn có thể chạy container và xác minh rằng mọi thứ đã được cài đặt như mong đợi.

Hình ảnh trên cho thấy môi trường thực thi Ansible đang chạy với một terminal tương tác. Lệnh pip list được thực thi trong terminal cho thấy tất cả các phụ thuộc Python được cài đặt như mong đợi. Lệnh ansible-galaxy list cho thấy các bộ sưu tập được cài đặt.

Môi trường này đã sẵn sàng để thực thi playbook hoặc được phân phối tới một sổ đăng ký chứa để sử dụng khi cần.

Tải lên sổ đăng ký container như quay.io sẽ giúp container có sẵn cho bất kỳ ai trong tổ chức của bạn khi cần hoặc sẽ cung cấp cho các công cụ như Ansible Automation Controller.