Ansible - Giới thiệu

Ansible là công cụ CNTT mã nguồn mở đơn giản, tự động hóa việc triển khai ứng dụng, điều phối dịch vụ nội bộ, cung cấp đám mây và nhiều công cụ CNTT khác.

Ansible rất dễ triển khai vì nó không sử dụng bất kỳ tác nhân hoặc cơ sở hạ tầng bảo mật tùy chỉnh nào.

Ansible sử dụng playbook để mô tả các công việc tự động hóa và playbook sử dụng ngôn ngữ rất đơn giản, tức là YAML(Đó là ngôn ngữ tuần tự hóa dữ liệu có thể đọc được của con người và thường được sử dụng cho các tệp cấu hình, nhưng có thể được sử dụng trong nhiều ứng dụng nơi dữ liệu đang được lưu trữ) rất dễ hiểu, đọc và viết đối với con người. Do đó, lợi thế là ngay cả những người hỗ trợ cơ sở hạ tầng CNTT cũng có thể đọc và hiểu playbook và gỡ lỗi nếu cần (YAML - Nó ở dạng con người có thể đọc được).

Ansible được thiết kế để triển khai nhiều tầng. Ansible không quản lý một hệ thống tại một thời điểm, nó mô hình hóa cơ sở hạ tầng CNTT bằng cách mô tả tất cả các hệ thống của bạn có liên quan với nhau. Ansible hoàn toàn không có tác nhân, có nghĩa là Ansible hoạt động bằng cách kết nối các nút của bạn thông qua ssh (theo mặc định). Nhưng nếu bạn muốn phương thức kết nối khác như Kerberos, Ansible cung cấp tùy chọn đó cho bạn.

Sau khi kết nối với các nút của bạn, Ansible đẩy các chương trình nhỏ được gọi là “Mô-đun Ansible”. Ansible chạy các mô-đun đó trên các nút của bạn và xóa chúng khi hoàn tất. Ansible quản lý khoảng không quảng cáo của bạn trong các tệp văn bản đơn giản (Đây là tệp máy chủ). Ansible sử dụng tệp máy chủ lưu trữ nơi người ta có thể nhóm các máy chủ và có thể kiểm soát các hành động trên một nhóm cụ thể trong sách phát.

Tệp máy chủ lưu trữ mẫu

Đây là nội dung của tệp hosts -

#File name: hosts
#Description: Inventory file for your application. Defines machine type abc
node to deploy specific artifacts
# Defines machine type def node to upload
metadata.

[abc-node]
#server1 ansible_host = <target machine for DU deployment> ansible_user = <Ansible
user> ansible_connection = ssh
server1 ansible_host = <your host name> ansible_user = <your unix user>
ansible_connection = ssh

[def-node]
#server2 ansible_host = <target machine for artifact upload>
ansible_user = <Ansible user> ansible_connection = ssh
server2 ansible_host = <host> ansible_user = <user> ansible_connection = ssh

Quản lý cấu hình là gì

Quản lý cấu hình về mặt Ansible có nghĩa là nó duy trì cấu hình hoạt động của sản phẩm bằng cách lưu giữ hồ sơ và cập nhật thông tin chi tiết mô tả phần cứng và phần mềm của doanh nghiệp.

Thông tin như vậy thường bao gồm các phiên bản và bản cập nhật chính xác đã được áp dụng cho các gói phần mềm đã cài đặt cũng như vị trí và địa chỉ mạng của các thiết bị phần cứng. Ví dụ: Nếu bạn muốn cài đặt phiên bản mới củaWebLogic/WebSphere máy chủ trên tất cả các máy hiện có trong doanh nghiệp của bạn, bạn không thể thực hiện và cập nhật từng máy theo cách thủ công.

Bạn có thể cài đặt WebLogic / WebSphere một lần trên tất cả các máy của mình với sách phát và kho Ansible được viết theo cách đơn giản nhất. Tất cả những gì bạn phải làm là liệt kê ra địa chỉ IP của các nút của bạn trong kho và viết một playbook để cài đặt WebLogic / WebSphere. Chạy playbook từ máy điều khiển của bạn và nó sẽ được cài đặt trên tất cả các nút của bạn.

Làm thế nào Ansible hoạt động?

Hình dưới đây cho thấy hoạt động của Ansible.

Ansible works bằng cách kết nối với các nút của bạn và đẩy ra các chương trình nhỏ, được gọi là "Ansible mô-đun "cho họ. Ansiblesau đó thực thi các mô-đun này (theo mặc định trên SSH) và xóa chúng khi hoàn tất. Thư viện mô-đun của bạn có thể nằm trên bất kỳ máy nào và không yêu cầu máy chủ, daemon hoặc cơ sở dữ liệu.

Nút quản lý trong hình trên là nút điều khiển (quản lý nút) điều khiển toàn bộ việc thực thi playbook. Đó là nút mà từ đó bạn đang chạy cài đặt. Tệp kiểm kê cung cấp danh sách các máy chủ mà các mô-đun Ansible cần được chạy và nút quản lý thực hiện kết nối SSH và thực thi các mô-đun nhỏ trên máy chủ và cài đặt sản phẩm / phần mềm.

Beauty của Ansible là nó loại bỏ các mô-đun sau khi chúng được cài đặt hiệu quả, nó kết nối với máy chủ, thực thi các hướng dẫn và nếu nó được cài đặt thành công sẽ xóa mã đã được sao chép trên máy chủ đã được thực thi.