Bộ sưu tập Ansible
Tự động hóa hạ tầng VergeOS bằng bộ sưu tập Ansible vergeio.vergeos — các mô-đun cho snapshot VM, gắn thẻ và nhập khẩu, cùng plugin inventory động cho môi trường nhiều site.
Ansible mang đến tự động hóa không cần agent, theo cơ chế đẩy cho quản lý hạ tầng. Bộ vergeio.vergeos Bộ sưu tập Ansible mở rộng Ansible với các mô-đun được xây dựng chuyên biệt và một plugin inventory cho VergeOS, cho phép bạn quản lý snapshot VM, tổ chức tài nguyên bằng thẻ, nhập ảnh VM và tự động khám phá hạ tầng trên nhiều site — tất cả thông qua các playbook YAML quen thuộc.
Tổng quan bộ sưu tập
Bộ sưu tập VergeOS Ansible được phát hành trên Ansible Galaxy và tích hợp trực tiếp với API REST VergeOS thông qua pyvergeos SDK Python.
Không gian tên
vergeio
Bộ sưu tập
vergeos
Tham chiếu đầy đủ
vergeio.vergeos
Python
>= 3.9
Ansible
>= 2.14.0
Phụ thuộc SDK
pyvergeos >= 1.0.1
Nguồn
Cài đặt
Cài đặt bộ sưu tập từ Ansible Galaxy:
# Cài đặt từ Galaxy (khuyến nghị)
ansible-galaxy collection install vergeio.vergeos
# Cài đặt SDK Python cần thiết
pip install pyvergeosĐối với môi trường phát triển hoặc ngoại tuyến, hãy build và cài đặt từ mã nguồn:
Xác thực
Bộ sưu tập sử dụng các biến môi trường để xác thực API, giữ thông tin xác thực ra khỏi playbook và các tệp inventory của bạn:
Ngoài ra, bạn có thể dùng xác thực bằng khóa API cho các kịch bản không tương tác như pipeline CI/CD. Khóa API được tạo trong System > Users > [select user] > API Keys trong giao diện VergeOS và cung cấp xác thực bằng Bearer token mà không cần thông tin xác thực username/password.
Các mô-đun
Bộ sưu tập cung cấp các mô-đun cho các thao tác vòng đời VM, gắn thẻ và quản lý ảnh. Mỗi mô-đun giao tiếp với API VergeOS thông qua SDK pyvergeos.
Mô-đun Snapshot VM
Tính năng vergeio.vergeos.vm_snapshot mô-đun tạo và quản lý snapshot VM theo chương trình — hữu ích cho tự động hóa sao lưu, các điểm kiểm tra trước thay đổi và quy trình khôi phục sau thảm họa.
Mô-đun quản lý thẻ
Thẻ cung cấp một hệ thống phân loại linh hoạt để tổ chức các tài nguyên VergeOS. Bộ sưu tập bao gồm hai mô-đun cho quản lý thẻ:
vergeio.vergeos.tag_category
Tạo và quản lý các danh mục thẻ (ví dụ: "Environment", "Department")
vergeio.vergeos.tag
Áp dụng và quản lý các thẻ riêng lẻ trong từng danh mục
Khả năng nhập VM
Bộ sưu tập này triển khai VM từ các mẫu OVA đã được tải lên VergeOS — mô-đun vm_import tham chiếu một OVA hiện có theo tên hoặc ID, và CPU cùng RAM được lấy từ chính OVA đó. Hãy tải OVA lên trước (UI hoặc API), sau đó chạy playbook để tạo VM.
Plugin Inventory động
Tính năng vergeos_vms plugin inventory truy vấn API VergeOS để tự động khám phá VM và xây dựng inventory Ansible — loại bỏ nhu cầu phải duy trì các tệp host tĩnh.
Inventory chỉ API
Plugin inventory truy xuất siêu dữ liệu VM từ API VergeOS. Nó không không thiết lập ansible_host và không hỗ trợ kết nối SSH trực tiếp ngay từ đầu. Bạn phải cấu hình ansible_host thông qua các biến host, quy tắc compose hoặc một chiến lược kết nối riêng cho việc thực thi playbook dựa trên SSH.
Cấu hình Inventory
Tạo một tệp inventory (ví dụ, vergeos_inventory.yml):
Nhóm tự động
Plugin tự động tổ chức các VM được khám phá thành các nhóm dựa trên nhiều chiều:
Site
datacenter_east, datacenter_west
Nhắm playbook tới các vị trí cụ thể
Trạng thái
status_running, status_stopped
Chỉ chạy tác vụ trên các VM đang hoạt động
Thẻ
tag_Production, tag_Development
Cấu hình theo môi trường
Tenant
tenant_acme, tenant_globex
Tự động hóa đa tenant
Họ hệ điều hành
os_linux, os_windows
Playbook theo hệ điều hành
Cụm
cluster_compute01, cluster_compute02
Bảo trì nhận biết cụm
Nút
node_node1, node_node2
Thao tác cấp nút
Biến host
Mỗi VM được khám phá sẽ hiển thị hơn 20 biến host, bao gồm ID VM, tên, số lõi CPU, RAM, họ hệ điều hành, trạng thái nguồn, gán cụm, vị trí nút, cấu hình mạng, thẻ và toàn bộ từ điển dữ liệu VM để sử dụng trong các trường hợp nâng cao.
Mẫu playbook
Điều phối snapshot đa site
Dùng lọc theo thẻ với inventory động để điều phối snapshot trên nhiều site:
Thiết lập hạ tầng thẻ
Thiết lập một hệ thống phân loại thẻ nhất quán trên toàn bộ môi trường VergeOS của bạn:
Quy trình nhập VM Windows
Tự động hóa việc nhập các mẫu VM Windows từ tệp OVA:
Mẫu tích hợp
Pipeline Terraform + Ansible
Một mẫu phổ biến kết hợp Terraform để cấp phát với Ansible để cấu hình: Terraform khai báo hạ tầng, Ansible cấu hình những gì chạy bên trong nó.
Cấp phát
Terraform
Tạo VM, mạng, người dùng, ổ đĩa
Khám phá
Inventory
Truy vấn API VergeOS để lấy các VM mới được tạo
Cấu hình
Ansible
Cài đặt gói, cấu hình dịch vụ, áp dụng các chuẩn bảo mật cơ bản
Xác thực
Ansible
Chạy kiểm tra nhanh, xác minh kết nối, kiểm tra tuân thủ
SDK Python + Ansible
Đối với các quy trình làm việc phức tạp cần logic chương trình vượt ra ngoài những gì playbook YAML cung cấp, hãy kết hợp pyvergeos SDK Python với Ansible:
Tích hợp CI/CD
Các playbook Ansible tích hợp tự nhiên vào pipeline CI/CD cho tự động hóa hạ tầng:
GitLab CI
Kích hoạt playbook Ansible từ .gitlab-ci.yml các giai đoạn để tự động cấp phát và cấu hình VM khi gộp vào nhánh main.
Jenkins
Dùng plugin Ansible cho Jenkins để chạy playbook như các bước build, với thông tin xác thực được quản lý qua Jenkins Credential Store.
GitHub Actions
Chạy playbook Ansible trong các workflow GitHub Actions bằng ansible-playbook action cho các thay đổi hạ tầng được kích hoạt bởi pull request.
AWX / Tower
Triển khai Ansible AWX cho giao diện web, RBAC và thực thi playbook theo lịch trên các môi trường VergeOS.
Thực hành tốt nhất
Quản lý thông tin xác thực
Không bao giờ mã hóa cứng thông tin xác thực trong playbook hoặc tệp inventory — hãy dùng biến môi trường hoặc Ansible Vault
Dùng khóa API cho các tài khoản dịch vụ trong môi trường sản xuất — chúng hỗ trợ danh sách IP cho phép và ngày hết hạn
Luân chuyển thông tin xác thực thường xuyên và kiểm tra việc sử dụng khóa API qua giao diện VergeOS
Chiến lược Inventory
Bật bộ nhớ đệm cho môi trường lớn để giảm số lần gọi API và tăng tốc chạy playbook
Dùng bộ lọc để giới hạn inventory vào các VM liên quan — tránh kéo toàn bộ môi trường
Tách inventory theo từng môi trường (dev, staging, production) để an toàn
Thiết kế playbook
Sử dụng
delegate_to: localhostcho các lời gọi API VergeOS — các mô-đun giao tiếp với API, không phải với VM khách qua SSHTận dụng thẻ để nhắm mục tiêu — chúng cung cấp một hệ thống phân nhóm linh hoạt, đa chiều
Triển khai tính idempotent — thiết kế playbook có thể chạy lại an toàn mà không có tác dụng phụ
Đọc thêm
Cập nhật lần cuối
Nội dung này có hữu ích không?