Bất cứ khi nào nói về các công cụ quản lý cấu hình, cái tên thường được nhắc đến nhiều nhất là Ansible. Nó là một công cụ đa nền tảng được thiết kế để xử lý các cấu hình hệ thống trong khi làm việc với những hệ điều hành Linux, macOS và Windows. Hôm nay, Quantrimang sẽ giới thiệu quy trình cài đặt Ansible trên Debian 10.
Cài đặt Ansible trên Debian 10
Để cài đặt Ansible trên Debian 10, bạn cần thực hiện ba bước đơn giản sau:
Bước 1: Cập nhật hệ thống Debian 10
Trước khi cài đặt Ansible trên Debian 10, bạn phải cập nhật nó bằng lệnh hiển thị bên dưới:
sudo apt update
Sau khi cập nhật hệ thống Debian 10, bạn sẽ thấy thông tin như được hiển thị trong hình ảnh sau trên Terminal:
Bước 2: Cài đặt Ansible trên hệ thống Debian 10
Sau khi quá trình cập nhật hệ thống kết thúc, bạn có thể cài đặt Ansible trên Debian 10 bằng lệnh hiển thị bên dưới:
sudo apt install ansible
Trong thời gian lệnh này thực thi, bạn sẽ thấy một thông báo hỏi bạn có muốn tiếp tục cài đặt trên Terminal hay không. Bạn phải gõ Y để quá trình cài đặt tiếp tục chạy trơn tru.
Khi Ansible được cài đặt thành công trên hệ thống Debian 10, Terminal sẽ tạo ra một số thông báo trên đó tương tự như thông báo được hiển thị trong hình dưới đây:
Bước 3: Xác nhận cài đặt Ansible trên hệ thống Debian 10
Việc cài đặt Ansible trên hệ thống Debian 10 rất đơn giản nên nó sẽ hoàn tất trong hai bước trên. Tuy nhiên, bạn vẫn có thể xác minh xem nó đã được cài đặt thành công trên hệ thống Debian 10 của bạn hay chưa. Điều này có thể được thực hiện bằng cách kiểm tra phiên bản của Ansible bằng lệnh sau:
ansible --version
Phiên bản Ansible được cài đặt trên hệ thống Debian 10 trong ví dụ là 2.7.7.
Chỉnh sửa file host /etc/ansible/hosts để thêm hệ thống muốn quản lý bằng Ansible.
sudo nano /etc/ansible/hosts
Hãy thêm như sau:
[TestClient]
node1 ansible_ssh_host=192.168.0.12
Và lưu file.
Sử dụng Ansible
Đầu tiên, bạn phải cấu hình SSH Key cho client node vì Ansible đang sử dụng giao thức SSH để chuyển các lệnh đến hệ thống client.
Sử dụng lệnh này để tạo SSH key và xác thực dựa trên key:
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:gTHiTCK....................... root@debian10
The key's randomart image is:
+---[RSA 2048]----+
| . . . |
+----[SHA256]-----+
Bước tiếp theo là sao chép key mới được tạo vào hệ thống khác. Chạy lệnh này:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.2
IP 192.168.0.2 trong lệnh trên cần được thay thế bằng địa chỉ IP của hệ thống mà bạn muốn quản lý bằng Ansible.
Đầ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
root@192.168.0.2's password:
Number of key(s) added: 1
Bây giờ đã đến lúc thực hiện quá trình kiểm tra lần đầu tiên, hãy đăng nhập vào máy khác bằng cách sử dụng lệnh SSH này:
ssh root@192.168.0.2
Quá trình đăng nhập sẽ hoạt động mà không cần mật khẩu ngay bây giờ.
Chạy thử Ansible
Phần cài đặt đã xong, bây giờ, bạn có thể bắt đầu chạy thử Ansible
Chạy lệnh này để kiểm tra kết nối:
ansible -m ping TestClient
Đầu ra:
node1 | SUCCESS => {
"changed": false,
"ping": "pong"
}
Trong trường hợp bạn đã xác định nhiều client, bạn có thể kiểm tra tất cả các kết nối bằng lệnh sau:
ansible -m ping all
Bây giờ, đã đến lúc chạy một lệnh trên hệ thống từ xa và tìm nạp kết quả. Đối với ví dụ này, lệnh df sẽ được sử dụng.
ansible -m shell -a 'df -h' TestClient
Đầu ra:
node1 | CHANGED | rc=0 >>
Filesystem Size Used Avail Use% Mounted on
udev 957M 0 957M 0% /dev
tmpfs 195M 21M 175M 11% /run
/dev/sda1 38G 11G 25G 31% /
tmpfs 974M 0 974M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 974M 0 974M 0% /sys/fs/cgroup
/dev/sda15 121M 130K 120M 1% /boot/efi
tmpfs 195M 0 195M 0% /run/user/0
Kết quả cho thấy việc sử dụng ổ cứng trên hệ thống từ xa. Bạn có thể thực thi bất kỳ lệnh shell Linux nào như thế này bằng cách sử dụng Ansible và cũng có thể tạo script hoàn chỉnh để thiết lập và duy trì máy chủ.