Ansible là phần mề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 hoặc Chef, bạn không cần 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 đa 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 Ansible trên máy chủ Ubuntu 18.04.
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.
Tiếp theo, hãy cập nhật kho lưu trữ và cài đặt Ansible bằng lệnh sau:
Sau khi quá trình cài đặt hoàn tất, bạn có thể kiểm tra phiên bản Ansible bằng lệnh sau:
Đầu ra:
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ủ Ansible. 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:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất.
Đầu tiên, tạo cặp khóa SSH bằng lệnh sau:
Đầu ra:
Tiếp theo, sao chép khóa công khai này vào hệ thống Máy khách bằng lệnh sau:
Đầu ra:
Trên máy chủ Ansible, hãy thử ping hệ thống Máy khách của bạn bằng Ansible với lệnh sau.
Đầu ra:
Nếu bạn đã cấu hình nhiều máy khách trong tệp máy chủ Ansible của mình. Sau đó, bạn có thể ping toàn bộ hệ thống Máy khách bằng lệnh sau:
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:
Đầu ra:
Để kiểm tra kích thước phân vùng của hệ thống Client, hãy chạy lệnh sau:
Đầu ra:
Xin chúc mừng! bạn đã cài đặt và cấu hình Ansible thành công 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.
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt và sử dụng Ansible 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.
- Một đị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.
- Một người dùng không phải root có sudo quyền đượ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 lên phiên bản mới nhất bằng lệnh sau:
Mã:
sudo apt-get update -y
sudo apt-get upgrade -y
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ó 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ể thực hiện việc này bằng cách chạy lệnh sau:
Mã:
sudo apt-add-repository ppa:ansible/ansible
Mã:
sudo apt-get update -y
sudo apt-get install ansible -y
Mã:
sudo ansible --version
Mã:
ansible 2.7.1 config file = /etc/ansible/ansible.cfg configure 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 (mặc định, 12/11/2018, 14:31:15) [GCC 7.3.0]
Mã:
sudo nano /etc/ansible/hosts
Mã:
[Client]node1 ansible_ssh_host=192.168.0.104
Cấu hình Khóa SSH cho Hệ thống Máy khách
Ansible sử dụng SSH để giao tiếp với máy chủ Máy khách. Vì vậy, bạn sẽ cần cấu hình xác thực ssh dựa trên khóa cho máy chủ Client.Đầu tiên, tạo cặp khóa SSH bằng lệnh sau:
Mã:
ssh-keygen
Mã:
Tạo cặp khóa rsa công khai/riêng tư.Nhập tệp để lưu khóa (/root/.ssh/id_rsa):Nhập mật khẩu (để trống nếu không có mật khẩu):Nhập lại mật khẩu tương tự:Thông tin nhận dạng của bạn đã được lưu trong /root/.ssh/id_rsa.Khóa công khai của bạn đã được lưu trong /root/.ssh/id_rsa.pub.Dấu vân tay khóa là:SHA256:bTVjTCKqxD8rnIw7/6mB6ZH9cnhzzOFg+/+x4clSOow root@ubuntu1804Ảnh randomart của khóa là:+---[RSA 2048]----+| . . . || . . . + || ồ. * || . ồ. ồ || . ồ ồ || Ồ ồ.. . || * Bo.* + oo || ..oo+=.E =o = || ôi*++...+* |+----[SHA256]-----+
Mã:
ssh-copy-id -i ~/.ssh/id_rsa.pub [emailprotected]
Mã:
/usr/bin/ssh-copy-id: THÔNG TIN: Nguồn khóa cần cài đặt: "/root/.ssh/id_rsa.pub"/usr/bin/ssh-copy-id: THÔNG TIN: đang cố gắng đăng nhập bằng khóa mới để lọc ra bất kỳ khóa nào đã được cài đặt/usr/bin/ssh-copy-id: THÔNG TIN: Còn 1 khóa chưa được cài đặt -- nếu bây giờ bạn được nhắc thì hãy cài đặt khóa mớiMật khẩu của [emailprotected]:Số khóa đã thêm: 1Bây giờ hãy thử đăng nhập vào máy bằng: "ssh '[emailprotected]'"và kiểm tra để đảm bảo rằng chỉ có khóa bạn muốn được thêm vào.
Làm việc với Ansible
Ansible hiện đã được cài đặt và cấu hình. Đã đến lúc kiểm tra Ansible.Trên máy chủ Ansible, hãy thử ping hệ thống Máy khách của bạn bằng Ansible với lệnh sau.
Mã:
ansible -m ping Máy khách
Mã:
node1 | SUCCESS => { "changed": false, "ping": "pong"}
Mã:
ansible -m ping all
Mã:
ansible -m shell -a 'service apache2 status' Client
Mã:
node1 | CHANGED | rc=0 >> * apache2 is running
Mã:
ansible -m shell -a 'df -h' Client
Mã:
node1 | CHANGED | rc=0 >>Kích thước hệ thống tệp Đã sử dụng Có sẵn Sử dụng% Đã gắn trên/dev/sda1 138G 48G 83G 37% /không có 4.0K 0 4.0K 0% /sys/fs/cgroupudev 1.9G 4.0K 1.9G 1% /devtmpfs 384M 1.2M 383M 1% /runkhông có 5.0M 0 5.0M 0% /run/lockkhông có 1.9G 67M 1.9G 4% /run/shmkhông có 100M 36K 100M 1% /run/user/dev/sda5 225G 35G 180G 16% /Data