Tutorial

Hướng dẫn cài đặt Ansible trên ubuntu

Ansible

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.

Ansible

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

Click here to post a comment

Đă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ý !