Ansible là một hệ thống quản lý cấu hình. Quản lý cấu hình cho phép triển khai tự động, cấu hình và quản lý tập trung các ứng dụng. Điều này rất hữu ích nếu bạn cần triển khai ứng dụng của mình trên nhiều máy chủ mà không cần phải thực hiện thủ công trên tất cả các máy chủ của mình. Bạn cũng có thể thêm các máy chủ giống hệt vào cụm của bạn. Bạn có thể thiết lập một bộ cân bằng tải / cụm / chuyển đổi dự phòng với điều này, ví dụ.
Ansible cung cấp quản lý cấu hình để bạn có thể thêm các máy chủ giống hệt vào cụm của mình rất dễ dàng. Bạn cũng có thể quản lý tập trung cho tất cả các máy chủ của mình ở một nơi. Bạn có thể chạy một apt-get update
trên tất cả các máy chủ cùng một lúc!
Cá nhân, tôi thích Ansible hơn vì nó thực hiện công việc mà không phải cài đặt thủ công phần mềm trên tất cả các máy chủ của bạn. Nó triển khai và quản lý qua SSH. SSH là một phương tiện tiêu chuẩn để quản lý máy chủ, nhưng một nhược điểm ở đây là bạn cần kích hoạt SSH. Một số người có thể coi đó là rủi ro bảo mật, mặc dù Ansible hoạt động với các khóa SSH, an toàn hơn.
Trong hướng dẫn này, chúng ta sẽ thấy cách chúng ta có thể cài đặt Ansible trên Ubuntu 14.04.
Bước 1: Cài đặt Ansible
Bạn có thể cài đặt Ansible với:
apt-get install ansible
Bạn cần đặt tất cả các máy chủ mà bạn muốn quản lý với Ansible trong /etc/ansible/hosts
tệp.
Bạn sẽ cần phải nhận xét tất cả các dòng. Đi đến dòng mới nhất của hosts
tệp để tạo một thể loại. Giả sử bạn có một cụm các máy chủ cơ sở dữ liệu và web. Bạn có thể tạo hai loại riêng biệt: web
và db
. Nếu bạn muốn thực hiện thay đổi trên tất cả các máy chủ cơ sở dữ liệu, bạn có thể sử dụng db
làm lựa chọn để chỉ tất cả các máy chủ cơ sở dữ liệu sẽ bị ảnh hưởng và không phải các máy chủ khác như máy chủ web của bạn trong web
danh mục.
Thí dụ:
[web]
localhost ansible_ssh_host=127.0.0.1
web1 ansible_ssh_host=192.168.2.2
web2 ansible_ssh_host=0.0.0.0
[db]
db1 ansible_ssh_host=192.168.2.3
db2 ansible_ssh_host=192.168.2.4
db3 ansible_ssh_host=192.168.2.5
db4 ansible_ssh_host=192.168.2.6
Định dạng: name ansible_ssh_host=ip
Lưu ý rằng nếu bạn đang sử dụng Ansible 2.0, ssh_
phần đó đã không được chấp nhận. Thay vì sử dụng ansible_host
.
name
chỉ là một tên để chỉ máy chủ của bạn, ip
là IP thực tế.
Điều này cho Ansible rằng bạn có 3 máy chủ web trên các địa chỉ IP 127.0.0.1
, 192.168.2.2
và 0.0.0.0
và 4 máy chủ cơ sở dữ liệu về các địa chỉ IP 192.168.2.3-6
.
Bước 2: Thiết lập khóa SSH
Ansible hoạt động với các khóa SSH. Nếu khóa SSH của bạn trên các nút không giống như trên máy chủ Ansible của bạn, nó sẽ báo lỗi cho bạn. Do đó, chúng ta cần tạo khóa SSH.
ssh-keygen
Bây giờ thêm khóa SSH của bạn vào các nút của bạn. Nếu tất cả các nút của bạn ở Vultr, hãy chuyển đến trình quản lý khóa Vultr SSH và thêm khóa công khai của bạn. Nó có thể được tìm thấy ở đây:
cat ~/.ssh/id_rsa.pub
Sau đó, khi triển khai máy chủ của bạn, hãy chọn khóa SSH của bạn trong phần "Khóa SSH".
Bước 3: Kiểm tra Ansible
Để xem bạn có thể ping tất cả các máy chủ của mình trong hosts
tệp hay không, bạn có thể sử dụng lệnh sau:
ansible -m ping all
Điều này xác nhận xem máy chủ của bạn có trực tuyến hay không.
Bạn cũng có thể thực thi một lệnh:
ansible web -m command -a 'shutdown -h now'
Chúng tôi vừa thực hiện lệnh shutdown -h now
trên tất cả các máy chủ trong web
danh mục.
Tại thời điểm này, Ansible đã được thiết lập và sẵn sàng hoạt động. Có vẻ khá đơn giản, phải không? Chà, chúng tôi chưa đề cập đến tính năng mạnh mẽ nhất của Ansible: playbooks. Tìm hiểu thêm về Playbooks trong hướng dẫn này .