Ansible: Cài đặt và cấu hình

Cài đặt Ansible là công cụ quản lý cấu hình. Ansible đang là công cụ Configuration Management mà nó đang được dùng khá nổi bật hiện nay. Đặc biệt là trong công việc của một DevOps Engineer thì càng nên học và phải biết để con đường nghề nghiệp được phát triển hơn cho sau

Cài đặt Ansible là công cụ quản lý cấu hình.

Ansible đang là công cụ Configuration Management mà nó đang được dùng khá nổi bật hiện nay. Đặc biệt là trong công việc của một DevOps Engineer thì càng nên học và phải biết để con đường nghề nghiệp được phát triển hơn cho sau này.

Đặc điểm của Ansible

Không cần cài đặt phần mềm lên các agent, chỉ cần cài đặt tại master.
Không service, daemon, chỉ thực thi khi được gọi
Bảo mật cao ( do sử dụng giao thức SSH để kết nối )
Cú pháp dễ đọc, dễ học, dễ hiểu

Yêu cầu cài đặt

Hệ điều hành: Linux (Redhat, Debian, Ubuntu, Centos, …), Windows
Thư viện Jinja2: dùng để xây dựng template cấu hình
Thư viện PyYAML: hỗ trợ cấu trúc YAML
Python 2.4 trở lên

Cài đặt Ansible

Trên CentOS:
Cài đặt EPEL repo
Cài đặt thông qua yum
OpenSSH : Password Authentication[1] Bắt đầu dịch vụ SSH trên tất cả các máy khách mà bạn muốn quản lý bằng Ansible.
Cấu hình Máy chủ SSH để vận hành máy chủ từ máy tính từ xa.
[1.1] OpenSSH đã được cài đặt theo mặc định ngay cả khi bạn đã cài đặt CentOS Stream với [Minimal] Install, vì vậy nó không cần phải cài đặt các gói mới. Bạn có thể đăng nhập bằng Xác thực mật khẩu theo mặc định. Tuy nhiên, theo mặc định, tài khoản người dùng root được phép đăng nhập, vì vậy tốt hơn là bạn nên thay đổi cài đặt.

[[email protected] ~]# vi /etc/ssh/sshd_config
# line 43: change ( prohibit root login )
# for other options, there are [prohibit-password], [forced-commands-only]
PermitRootLogin no
[[email protected] ~]# systemctl restart sshd
[1.2] Nếu Firewalld đang chạy, hãy cho phép dịch vụ SSH. SSH sử dụng [22 / TCP].

[[email protected] ~]# firewall-cmd --add-service=ssh --permanent
success
[[email protected] ~]# firewall-cmd --reload
success

SSH Client : CentOS Stream
Định cấu hình Máy khách SSH cho CentOS.
[1.3] Cài đặt SSH Client.

[[email protected] ~]# dnf -y install openssh-clients
[1.4] Kết nối với máy chủ SSH với bất kỳ người dùng thông thường nào.

# ssh [[email protected](hostname or IP address)]
[[email protected] ~]$ ssh [email protected]
The authenticity of host 'dlp.srv (10.0.0.30)' can't be established.
ECDSA key fingerprint is SHA256:bm8HoSi5APr9Ux0WHiuVDBh9OdvdUGnPagD7fK4xyis.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'dlp.srv.world,10.0.0.30' (ECDSA) to the list of known hosts.
[email protected] password:
Activate the web console with: systemctl enable --now cockpit.socket
[[email protected] ~]$   # logined
[1.5] Có thể thực hiện các lệnh trên Máy chủ từ xa với SSH như sau.

# for example, run [cat /etc/passwd]
[[email protected] ~]$ ssh [email protected] "cat /etc/passwd"
[email protected] password:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
.....
.....
rngd:x:989:985:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
cent:x:1000:1000::/home/cent:/bin/bash

SSH Client : Windows #1
Định cấu hình Máy khách SSH cho Windows.
[1.6]Tải xuống phần mềm SSH Client dành cho Windows.
Trong ví dụ này, nó sử dụng Putty (www.chiark.greenend.org.uk/~sgtatham/putty/).
Cài đặt và khởi động Putty, sau đó Nhập Tên máy chủ hoặc địa chỉ IP của máy chủ của bạn vào trường [Tên máy chủ] và Nhấp vào nút [Mở] để kết nối.

[1.7] Sau khi xác thực thành công, bạn có thể đăng nhập và vận hành máy chủ CentOS từ máy tính từ xa.
SSH Client : Windows #2
[1.8] Nếu bạn đang sử dụng Windows 10 phiên bản 1803 trở lên, OpenSSH Client đã được triển khai dưới dạng một tính năng của Windows, vì vậy bạn có thể sử dụng lệnh [ssh] trên PowerShell hoặc Command Prompt mà không cần Putty hoặc phần mềm SSH của bên thứ ba khác.

Nguồn: viblo.asia

Bài viết liên quan

WebP là gì? Hướng dẫn cách để chuyển hình ảnh jpg, png qua webp

WebP là gì? WebP là một định dạng ảnh hiện đại, được phát triển bởi Google

Điểm khác biệt giữa IPv4 và IPv6 là gì?

IPv4 và IPv6 là hai phiên bản của hệ thống địa chỉ Giao thức Internet (IP). IP l

Check nameservers của tên miền xem website trỏ đúng chưa

Tìm hiểu cách check nameservers của tên miền để xác định tên miền đó đang dùn

Mình đang dùng Google Domains để check tên miền hàng ngày

Từ khi thông báo dịch vụ Google Domains bỏ mác Beta, mình mới để ý và bắt đầ