Ansible là một phần mềm nguồn mở và miễn phí có thể được sử dụng để tự động hóa việc cung cấp phần mềm, quản lý cấu hình và triển khai ứng dụng. Không giống như Puppet hay Chef, bạn không phải thiết lập môi trường máy khách-máy chủ trước khi sử dụng Ansible. Bạn có thể quản lý nhiều máy chủ từ một vị trí trung tâm. Công cụ này rất đơn giản nhưng mạnh mẽ để tự động hóa các môi trường ứng dụng CNTT nhiều tầng phức tạp. Ansible giao tiếp qua các kênh SSH thông thường để lấy thông tin từ các máy từ xa và thực hiện các tác vụ.
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt và sử dụng trên máy chủ Ubuntu 18.04.
Yêu cầu
- Hai hệ thống máy chủ Ubuntu 18.04 được cài đặt máy chủ OpenSSH.
- Địa chỉ IP tĩnh 192.168.0.101 được thiết lập trên hệ thống máy chủ và 192.168.0.104 được thiết lập trên hệ thống máy khách.
- Người dùng không phải root có đặc quyền sudo được thiết lập trên cả hai hệ thống.
Bắt đầu
Trước khi bắt đầu, hãy cập nhật hệ thống của bạn với phiên bản mới nhất bằng lệnh sau:
sudo apt-get update -y
sudo apt-get upgrade -y
Sau khi hệ thống của bạn được cập nhật, hãy khởi động lại hệ thống để áp dụng các thay đổi.
Cài đặt và cấu hình Ansible
Theo mặc định, Phiên bản mới nhất của Ansible không có sẵn trong kho lưu trữ mặc định của Ubuntu 18.04. Vì vậy, bạn sẽ cần thêm Ansible PPA vào máy chủ của mình. Bạn có thể làm điều này bằng cách chạy lệnh sau:
sudo apt-add-repository ppa:ansible/ansible
Tiếp theo, cập nhật kho lưu trữ và cài đặt bằng lệnh sau:
sudo apt-get update -y
sudo apt-get install ansible -y
Sau khi cài đặt hoàn tất, bạn có thể kiểm tra phiên bản Ansible bằng lệnh sau:
sudo ansible --version
Đầu ra:
ansible 2.7.1
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.15rc1 (default, Nov 12 2018, 14:31:15) [GCC 7.3.0]
Tiếp theo, bạn sẽ cần xác định hệ thống máy khách mà bạn muốn quản lý trong tệp máy chủ. Bạn có thể thực hiện việc này bằng cách chỉnh sửa tệp /etc/ansible/hosts:
sudo nano /etc/ansible/hosts
Thêm các dòng sau:
[Client]
node1 ansible_ssh_host=192.168.0.104
Lưu và đóng tập tin khi bạn hoàn tất.
Định cấu hình khóa SSH cho hệ thống máy khách
Ansible sử dụng SSH để liên lạc với máy chủ của Khách hàng. Vì vậy, bạn sẽ cần định cấu hình xác thực ssh dựa trên khóa cho máy chủ Máy khách.
Đầu tiên, tạo cặp khóa SSH bằng lệnh sau:
ssh-keygen
Đầu ra:
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:bTVjTCKqxD8rnIw7/6mB6ZH9cnhzzOFg+/+x4clSOow root@ubuntu1804
The key's randomart image is:
+---[RSA 2048]----+
| . . . |
| . . . + |
| o . * |
| . o . o o |
| . o S o |
| O .oo.. . |
| * Bo.* + oo |
| ..oo+=.E =o = |
| ooo*++...+* |
+----[SHA256]-----+
Tiếp theo, sao chép public key này vào hệ thống Client bằng lệnh sau:
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Đầu ra:
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
Làm việc với Ansible
Ansible hiện đã được cài đặt và cấu hình. Đã đến lúc thử nghiệm Ansible.
Trên máy chủ, hãy thử ping hệ thống Máy khách của bạn bằng lệnh sau.
ansible -m ping Client
Đầu ra:
node1 | SUCCESS => {
"changed": false,
"ping": "pong"
}
Nếu bạn có nhiều máy khách được định cấu hình trong tệp máy chủ của mình. Sau đó, bạn có thể ping tất cả hệ thống Máy khách bằng lệnh sau:
ansible -m ping all
Bạn có thể kiểm tra trạng thái của máy chủ web Apache trên hệ thống Client bằng lệnh sau:
ansible -m shell -a 'service apache2 status' Client
Đầu ra:
node1 | CHANGED | rc=0 >>
* apache2 is running
Để kiểm tra kích thước phân vùng của hệ thống Máy khách, hãy chạy lệnh sau:
ansible -m shell -a 'df -h' Client
Đầu ra:
node1 | CHANGED | rc=0 >>
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 138G 48G 83G 37% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 1.9G 4.0K 1.9G 1% /dev
tmpfs 384M 1.2M 383M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1.9G 67M 1.9G 4% /run/shm
none 100M 36K 100M 1% /run/user
/dev/sda5 225G 35G 180G 16% /Data
Chúc mừng! bạn đã cài đặt và cấu hình thành công Ansible trên máy chủ Ubuntu 18.04. Bây giờ bạn có thể dễ dàng sử dụng Ansible để thực hiện các tác vụ đơn giản từ xa.
Bài tiếp theo:
Đăng ký liền tay Nhận Ngay Bài Mới
Subscribe ngay
Cám ơn bạn đã đăng ký !
Lỗi đăng ký !
Add Comment