Cách cài đặt Ansible trên Ubuntu 20.04 LTS

How Install Ansible Ubuntu 20



Trong bài viết này, tôi sẽ hướng dẫn bạn cách cài đặt Ansible trên Ubuntu 20.04 LTS và cấu hình các máy chủ Ubuntu 20.04 LTS để tự động hóa Ansible. Vậy hãy bắt đầu.

Cấu trúc mạng:







Đây, linuxhint-711ea là một máy Ubuntu 20.04 LTS, nơi tôi sẽ cài đặt Ansible.



Sau đó, tôi sẽ định cấu hình các máy chủ host1 (Địa chỉ IP 192.168.20.162) và host2 (Địa chỉ IP 192.168.20.153) để tự động hóa Ansible và chạy các lệnh trên chúng bằng cách sử dụng Ansible từ linuxhint-711ea cỗ máy.



Tôi chỉ đơn giản là sẽ gọi host1host2 với tư cách là máy chủ Ansible trong bài viết này.





Cài đặt Ansible:

Bạn có thể dễ dàng cài đặt Ansible trên Ubuntu 20.04 LTS từ kho gói chính thức của Ubuntu.

Trước tiên, hãy cập nhật bộ đệm ẩn của kho lưu trữ gói APT bằng lệnh sau:



$sudocập nhật apt

Bộ nhớ cache của kho lưu trữ gói APT nên được cập nhật.

Bây giờ, cài đặt Ansible bằng lệnh sau:

$sudođúng cáchTải vềcó thể ăn được

Để xác nhận cài đặt, nhấn và sau đó nhấn .

Ansible nên được cài đặt.

Bây giờ, hãy chạy lệnh sau để kiểm tra xem ansible có hoạt động chính xác hay không.

$có thể ăn được--phiên bản

Như bạn có thể thấy, lệnh ansible có sẵn và hoạt động chính xác.

Tạo khóa SSH:

Bây giờ, bạn phải tạo khóa SSH trên máy tính mà bạn đã cài đặt Ansible.

Để tạo khóa SSH, hãy chạy lệnh sau:

$ssh-keygen

Bây giờ bấm .

nhấn .

nhấn .

Một khóa SSH sẽ được tạo.

Định cấu hình Máy chủ Ubuntu để Tự động hóa Ansible:

Trong phần này, tôi sẽ chỉ cho bạn cách định cấu hình máy chủ Ubuntu ( host1 ) để tự động hóa Ansible. Nếu bạn có nhiều máy chủ mà bạn muốn tự động hóa bằng Ansible, thì hãy lặp lại quy trình tương tự trên từng máy chủ.

Máy chủ Ubuntu Ansible (mà bạn muốn định cấu hình để tự động hóa Ansible) phải được cài đặt gói máy chủ SSH.

Trước tiên, hãy cập nhật bộ đệm ẩn của kho lưu trữ gói APT bằng lệnh sau:

$sudocập nhật apt

Sau đó, cài đặt máy chủ OpenSSH bằng lệnh sau:

$sudođúng cáchTải vềmáy chủ openssh-và

Trong trường hợp của tôi, gói máy chủ OpenSSH đã được cài đặt. Nếu nó không được cài đặt trong trường hợp của bạn, nó nên được cài đặt.

Bây giờ, hãy kiểm tra xem sshd dịch vụ đang chạy với lệnh sau:

$sudotrạng thái systemctl sshd

Như bạn có thể thấy, sshd dịch vụ là tích cực (đang chạy) và được kích hoạt (sẽ tự động khởi động khi khởi động hệ thống).

Nếu sshd dịch vụ không tích cực (đang chạy) trong trường hợp của bạn, hãy khởi động thủ công bằng lệnh sau:

$sudosystemctl start sshd

Nếu sshd dịch vụ không được kích hoạt (không được thêm vào phần khởi động hệ thống) trong trường hợp của bạn, hãy thêm nó vào phần khởi động hệ thống theo cách thủ công bằng lệnh sau:

$sudosystemctlcho phépsshd

Bây giờ, hãy định cấu hình tường lửa để cho phép truy cập SSH bằng lệnh sau:

$sudoufw cho phépssh

Bạn cũng nên tạo một có thể ăn được người dùng và cho phép quyền truy cập sudo không cần mật khẩu vào có thể ăn được người sử dụng.

Để tạo một có thể ăn được người dùng, chạy lệnh sau:

$sudoadduser ansible

Bây giờ, hãy nhập mật khẩu cho có thể ăn được người dùng và nhấn .

Bây giờ, hãy nhập lại mật khẩu và nhấn .

Bây giờ bấm .

Bây giờ bấm .

Bây giờ bấm .

Bây giờ bấm .

Bây giờ bấm .

Bây giờ, hãy nhập và sau đó nhấn .

Một có thể ăn được người dùng nên được tạo.

Bây giờ, hãy định cấu hình quyền truy cập sudo không cần mật khẩu vào có thể ăn được người dùng với lệnh sau:

$quăng đi 'ansible ALL = (TẤT CẢ) NOPASSWD: TẤT CẢ' | sudo tee /Vân vân/sudoers.d/có thể ăn được

Bây giờ, hãy tìm địa chỉ IP của máy chủ Ansible ( host1 ) bằng lệnh sau:

$tên máy chủ -TÔI

Đây, địa chỉ IP trong trường hợp của tôi là 192.168.20.162 . Nó sẽ khác cho bạn. Vì vậy, hãy đảm bảo thay thế nó bằng biểu mẫu của bạn ngay bây giờ.

Bây giờ, từ máy tính mà bạn đã cài đặt Ansible, hãy sao chép khóa công khai SSH vào máy chủ Ansible ( host1 ) như sau:

$ssh-copy-id ansible@192.168.20.162

Gõ vào đúng và hãy nhấn .

Bây giờ, hãy nhập mật khẩu cho có thể ăn được người dùng và nhấn .

Khóa SSH công khai phải được sao chép vào host1 .

Bây giờ, hãy tắt đăng nhập dựa trên mật khẩu cho có thể ăn được người dùng với lệnh sau:

$sudousermod-NScó thể ăn được

Bây giờ, bạn chỉ có thể SSH vào máy chủ Ansible ( host1 ) như có thể ăn được người dùng không có bất kỳ mật khẩu nào từ máy tính mà bạn đã sao chép khóa công khai SSH từ đó (trong trường hợp này là máy tính mà bạn đã cài đặt Ansible). Nhưng bạn sẽ không thể SSH vào máy chủ Ansible ( host1 ) như có thể ăn được người dùng từ bất kỳ máy tính nào khác. Tôi đã định cấu hình các máy chủ Ansible theo cách này vì lý do bảo mật. Như là có thể ăn được người dùng không cần bất kỳ mật khẩu nào để chạy các lệnh quản trị, sẽ rất rủi ro nếu cho phép đăng nhập dựa trên mật khẩu cho có thể ăn được người sử dụng.

Bây giờ, bạn có thể SSH vào máy chủ không thể kiểm soát được host1 từ máy tính mà bạn đã cài đặt Ansible như sau:

$sshcó thể ăn được@192.168.20.162

Như bạn thấy, tôi có thể truy cập máy chủ Ansible ( host1 ) với tư cách là người dùng không có mật khẩu. Vì vậy, máy chủ Ansible ( host1 ) đã sẵn sàng cho tự động hóa Ansible.

Nếu vì lý do nào đó, bạn muốn cho phép đăng nhập dựa trên mật khẩu cho có thể ăn được người dùng một lần nữa, hãy chạy lệnh sau trong máy chủ Ansible ( host1 ):

$sudousermod-Ucó thể ăn được

Bạn có thể định cấu hình bao nhiêu máy chủ lưu trữ tùy thích để tự động hóa Ansible theo cùng một cách.

Trong bài viết này, tôi chỉ định cấu hình 2 máy chủ, host1host2 cho cuộc biểu tình.

Kiểm tra Ansible:

Bây giờ, hãy tạo một thư mục dự án mới ~ / ansible-demo / trong máy tính mà bạn đã cài đặt Ansible như sau:

$mkdir~/ansible-demo

Bây giờ, điều hướng đến ~ / ansible-demo / thư mục như sau:

$đĩa CD~/ansible-demo/

Bây giờ, hãy tạo một máy chủ tệp trong thư mục dự án như sau:

$nanomáy chủ

Bây giờ, hãy nhập địa chỉ IP hoặc tên DNS của các máy chủ Ansible ( host1host2 trong trường hợp của tôi) trong máy chủ tập tin như sau:

192.168.20.162
192.168.20.153

Bây giờ, lưu tệp bằng cách nhấn + X theo dõi bởi và sau đó .

Bây giờ, hãy thử ping tất cả các máy chủ bằng Ansible như sau:

$ansible tất cả-tôi./máy chủ-ucó thể ăn được-NS ping

GHI CHÚ: Ở đây, tùy chọn -u được sử dụng để chỉ định tên người dùng (ansible trong trường hợp này) mà Ansible sẽ sử dụng để SSH vào máy chủ.

Như bạn có thể thấy, tất cả các máy chủ có thể được ping. Vì vậy, các máy chủ đã sẵn sàng cho quá trình tự động hóa Ansible.

Theo cách tương tự, bạn có thể chạy bất kỳ lệnh nào trong máy chủ bằng Ansible như sau:

$ansible tất cả-tôi./máy chủ-ucó thể ăn được-NSvỏ bọc-đến 'echo' $ (tên máy chủ) - $ (tên máy chủ-I) ''

Như bạn có thể thấy, lệnh đã chạy thành công trong mỗi máy chủ và đầu ra được hiển thị.

Vì vậy, đây là cách bạn cài đặt Ansible trên Ubuntu 20.04 LTS và định cấu hình máy chủ Ubuntu 20.04 LTS để tự động hóa Ansible. Cảm ơn đã đọc bài viết này.