Tin tức và phân tích của tất cả các thiết bị di động

Làm cách nào để cài đặt và định cấu hình Ansible trên Ubuntu?

Bắt đầu với Ansible trên Ubuntu để quản lý cấu hình và cung cấp môi trường tốt hơn.

Quản lý cấu hình là một giai đoạn quan trọng trong vòng đời DevOps. Nó giúp tự động hóa và sắp xếp cơ sở hạ tầng CNTT của bạn.

Có một số công cụ quản lý cấu hình, chẳng hạn như Puppet, Ansible, Chef và SaltStack. Và tất nhiên, Ansible là một trong những công cụ phổ biến nhất trong DevOps. Nó có thể dễ dàng quản lý hàng nghìn máy chủ và toàn bộ cơ sở hạ tầng CNTT.

Trong bài viết này, chúng tôi sẽ thảo luận về những điều sau đây.

  • cài đặt ansible
  • Trao đổi khóa SSH
  • Cấu hình máy khách Ansible
  • thử nghiệm ansible

Cài đặt Ansible

Để đơn giản, hãy thử sử dụng Ansible trên hai máy chủ. Một sẽ là máy chủ ansible và máy khách ansible khác có địa chỉ IP sau.

  • máy chủ ansible – 10.0.0.1
  • ansible-client – ​​10.0.0.25

Việc cài đặt rất đơn giản… trên tất cả các máy chủ mà bạn muốn sử dụng Ansible, phải tuân theo các bước sau. Trong trường hợp này trên cả hai máy chủ ở trên.

  • Chạy lệnh bên dưới để cài đặt phần mềm cần thiết để cài đặt ansible.
[email protected]:~# apt install software-properties-common
  • Cài đặt kho lưu trữ gói ansible.
[email protected]:~# apt-add-repository --yes --update ppa:ansible/ansible
  • Cập nhật công cụ đóng gói nâng cao (apt)
[email protected]:~# apt update
  • Và cuối cùng – chạy lệnh bên dưới để cài đặt
[email protected]:~# apt install ansible

Sẽ mất vài giây để cài đặt gói cần thiết.

Làm thế nào để bạn đảm bảo cài đặt và phiên bản của nó?

Vâng, nó đơn giản. Bạn có thể sử dụng cú pháp -version với ansible để tìm hiểu như bên dưới.

[email protected]:~# ansible --version
ansible 2.8.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.15+ (default, Nov 27 2018, 23:36:35) [GCC 7.3.0]
[email protected]:~#

Như bạn có thể thấy, Ansible 2.8.1 được cài đặt và cung cấp thông tin cần thiết như vị trí tệp cấu hình, mô-đun python.

Khi đó chúng ta cần trao đổi khóa SSH để server và client có thể nói chuyện với nhau.

Trao đổi khóa SSH

Ansible kết nối với máy khách của nó thông qua SSH (Secure shell).

Đầu tiên, chúng tôi sẽ tạo khóa chung trên máy chủ ansible cần được sao chép sang máy khách ansible.

Đảm bảo rằng bạn đã đăng nhập với tư cách người dùng root.

  • Tạo khóa bằng lệnh ssh-keygen như hình bên dưới
[email protected]:~# ssh-keygen
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:cDapZBESo+8XcbXupbtILkFrklUSpwa70Y1c7yH5K1A [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|    =.+oo .      |
|   . B.B.= .     |
|  . o @oE +      |
|   . *oO * .     |
|    o++.S + .    |
|   .o +o . +     |
|    .o..o +      |
|     ..o o .     |
|       .o o.     |
+----[SHA256]-----+
[email protected]:~#

Như bạn có thể thấy, nó đã tạo khóa chung trong thư mục .ssh. Đường dẫn đầy đủ là /root/.ssh/id_rsa.pub

Lưu ý: Đảm bảo rằng các tệp khóa riêng và khóa chung của bạn không thể đọc được trên toàn cầu. Bạn có thể liệt kê các tệp để xác minh chúng.

cd /root/.ssh
[email protected]:~# ls -l 
-rw------- 1 root root 1679 Jun 19 00:37 id_rsa 
-rw------- 1 root root 404 Jun 19 00:37 id_rsa.pub

Nếu bạn nhận thấy rằng các quyền không chính xác, bạn có thể thay đổi chúng bằng lệnh chmod

Trước:

chmod 400 id_rsa
chmod 400 id_rsa.pub

Hãy sao chép khóa chung vào máy chủ Ansible có địa chỉ IP là 192.168.56.101

[email protected]:~/.ssh# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '10.0.0.25 (10.0.0.25)' can't be established.
ECDSA key fingerprint is SHA256:eXduPrfV0mhxUcpsZWg+0oXDim7bHb90caA/Rt79cIs.
Are you sure you want to continue connecting (yes/no)? yes
/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.

[email protected]:~/.ssh#

Như đã thấy trong đầu ra ở trên, 1 khóa đã được thêm thành công. Điều này có nghĩa là khóa SSH đang được trao đổi.

Tiếp theo, chúng tôi sẽ thiết lập ứng dụng khách Ansible.

Cấu hình máy khách Ansible

Tôi cho rằng bạn đã làm theo các bước để cài đặt Ansible trên máy chủ của khách hàng như đã giải thích trong các bước trước.

Định cấu hình máy khách hoặc máy chủ không gì khác hơn là làm cho máy chủ Ansible nhận biết được các máy khách. Để làm điều này:

  • Đăng nhập vào máy chủ Ansible
  • Đi tới /etc/ansible
  • Thêm phần sau vào tệp máy chủ của bạn bằng trình chỉnh sửa yêu thích của bạn
[Client] 
node1 ansible_ssh_host=10.0.0.25

kiểm tra khả thi

Nếu bạn thực hiện đúng tất cả các bước, bạn sẽ nhận được thông báo THÀNH CÔNG khi chạy lệnh bên dưới trên máy chủ ansible.

[email protected]:~/.ssh# ansible -m ping Client
node1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    }, 
    "changed": false, 
    "ping": "pong"
}
[email protected]:~/.ssh#

Thea ở trên ping máy khách để kiểm tra kết nối và xác nhận xem nó có tốt hay không.

Đăng kí

Tôi hy vọng điều này cung cấp cho bạn một ý tưởng để bắt đầu cài đặt và vui chơi. Hãy theo dõi để biết thêm các hướng dẫn về Ansible hoặc xem khóa học Udemy Mastering Ansible.