Cách cài đặt Ansible AWX trên Debian 11

theanh

Administrator
Nhân viên
Ansible AWX là ứng dụng web miễn phí và mã nguồn mở do Red Hat tài trợ, cho phép bạn quản lý sổ tay hướng dẫn và kho lưu trữ Ansible. Ứng dụng cung cấp giao diện dựa trên web giúp Ansible dễ sử dụng hơn trong môi trường CNTT. Ứng dụng cũng cung cấp REST API giúp bạn kiểm soát quyền truy cập và quản lý hoặc đồng bộ hóa kho lưu trữ với nhiều nguồn đám mây khác nhau.

Hướng dẫn này sẽ chỉ cho bạn cách cài đặt phần mềm Ansible AWX trên Debian 11.

Điều kiện tiên quyết​

  • Máy chủ chạy Debian 11.
  • Mật khẩu gốc được cấu hình trên máy chủ.

Thêm kho lưu trữ Ansible​

Theo mặc định, gói Ansible không được bao gồm trong kho lưu trữ mặc định của Debian 11. Vì vậy, bạn sẽ cần thêm kho lưu trữ Ansible vào máy chủ của mình.

Trước tiên, hãy cài đặt tất cả các phụ thuộc cần thiết bằng lệnh sau:
Mã:
apt-get install apt-transport-https ca-certificates software-properties-common unzip gnupg2 curl git -y
Sau khi tất cả các phụ thuộc được cài đặt, hãy chỉnh sửa tệp sources.list và thêm Ansible kho lưu trữ:
Mã:
nano /etc/apt/sources.list
Thêm dòng sau:
Mã:
deb http://ppa.launchpad.net/ansible/ansible/ubuntu focal main
Lưu và đóng tệp sau đó thêm khóa GPG bằng lệnh sau lệnh:
Mã:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
Executing: /tmp/apt-key-gpghome.47eo2M3Kib/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
gpg: key 93C4A3FD7BB9C367: public key "Launchpad PPA for Ansible, Inc." imported
gpg: Total number processed: 1
gpg: imported: 1
Tiếp theo, cập nhật bộ đệm kho lưu trữ bằng lệnh sau lệnh:
Mã:
apt-get update -y

Cài đặt Ansible trên Debian 11​

Bây giờ, hãy chạy lệnh sau để cài đặt Ansible bằng lệnh sau:
Mã:
apt-get install ansible -y
Sau khi Ansible đã được cài đặt, hãy xác minh phiên bản Ansible bằng lệnh sau lệnh:
Mã:
ansible --version
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
ansible [core 2.11.6] config file = /etc/ansible/ansible.cfg configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python3/dist-packages/ansible ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections executable location = /usr/bin/ansible python version = 3.9.2 (default, Feb 28 2021, 17:03:44) [GCC 10.2.1 20210110] jinja version = 2.11.3 libyaml = True
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cài đặt Docker CE​

Theo mặc định, phiên bản Docker CE mới nhất không có trong kho lưu trữ mặc định của Debian 11. Vì vậy, bạn sẽ cần thêm nó vào APT.

Đầu tiên, hãy tải xuống và thêm khóa GPG của Docker bằng lệnh sau:
Mã:
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Tiếp theo, hãy thêm kho lưu trữ CE của Docker vào APT bằng lệnh sau:
Mã:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list
Tiếp theo, hãy cập nhật kho lưu trữ và cài đặt CE của Docker bằng lệnh sau lệnh:
Mã:
apt-get update -y
apt-get install docker-ce -y
Sau khi cài đặt hoàn tất, hãy xác minh trạng thái của Docker bằng lệnh sau:
Mã:
systemctl status docker
Bạn sẽ nhận được kết quả đầu ra sau:
Mã:
? docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2021-11-01 04:59:11 UTC; 26min ago
TriggeredBy: ? docker.socket Docs: https://docs.docker.com Main PID: 5066 (dockerd) Tasks: 32 Memory: 1.0G CPU: 1min 57.723s CGroup: /system.slice/docker.service ?? 5066 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock ??21970 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 80 -container-ip 172.18.0.2 -container-port 8052 ??21994 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 80 -container-ip 172.18.0.2 -container-port 8052
Nov 01 04:59:11 debian11 dockerd[5066]: time="2021-11-01T04:59:11.756163493Z" level=info msg="Docker daemon" commit=e2f740d graphdriver(s)=ove>
Nov 01 04:59:11 debian11 dockerd[5066]: time="2021-11-01T04:59:11.756303194Z" level=info msg="Daemon has completed initialization"
Nov 01 04:59:11 debian11 systemd[1]: Started Docker Application Container Engine.
Nov 01 04:59:11 debian11 dockerd[5066]: time="2021-11-01T04:59:11.796631663Z" level=info msg="API listen on /run/docker.sock"
Để xác minh phiên bản Docker, hãy chạy lệnh sau:
Mã:
docker -v
Bạn sẽ thấy thông báo sau đầu ra:
Mã:
Docker version 20.10.10, build b485636
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cài đặt Docker Compose và các phụ thuộc khác​

Trước tiên, hãy tải xuống tệp nhị phân Docker Compose từ kho lưu trữ Git bằng lệnh sau:
Mã:
wget https://github.com/docker/compose/releases/download/1.29.0/docker-compose-Linux-x86_64
Tiếp theo, di chuyển tệp nhị phân đã tải xuống đến thư mục /usr/bin/:
Mã:
mv docker-compose-Linux-x86_64 /usr/bin/docker-compose
Tiếp theo, đặt quyền thực thi cho tệp nhị phân docker-compose:
Mã:
chmod +x /usr/bin/docker-compose
Tiếp theo, xác minh phiên bản Docker Compose bằng lệnh bên dưới:
Mã:
docker-compose version
Bạn sẽ nhận được kết quả sau:
Mã:
docker-compose version 1.29.0, build 07737305
docker-py version: 5.0.0
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019
Tiếp theo, cài đặt Node.js và NPM bằng lệnh sau lệnh:
Mã:
apt-get install nodejs npm -y
npm install npm --global
Tiếp theo, cài đặt PIP và các phụ thuộc khác bằng lệnh sau:
Mã:
apt-get install python3-pip git pwgen -y
Tiếp theo, cài đặt mô-đun Python cho Docker Compose bằng lệnh sau lệnh:
Mã:
pip3 install docker-compose==1.29.0
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cài đặt Ansible AWX​

Trước tiên, hãy tải xuống Ansible AWX từ kho lưu trữ Git Hub bằng lệnh sau:
Mã:
wget https://github.com/ansible/awx/archive/17.1.0.zip
Sau khi tải xuống hoàn tất, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Mã:
unzip 17.1.0.zip
Tiếp theo, hãy thay đổi thư mục thành thư mục đã giải nén và tạo khóa bí mật bằng lệnh sau:
Mã:
cd awx-17.1.0/installer/
pwgen -N 1 -s 30
Bạn sẽ nhận được thông tin sau đầu ra:
Mã:
dGF8eiFiTkzpaqpWyckxSLe57sZNfJ
Tiếp theo, chỉnh sửa tệp hàng tồn kho và xác định khóa bí mật, tên người dùng và mật khẩu quản trị viên của bạn:
Mã:
nano inventory
Thay đổi những mục sau dòng:
Mã:
admin_user=admin
admin_password=securepassword
secret_key=dGF8eiFiTkzpaqpWyckxSLe57sZNfJ
Lưu và đóng tệp sau đó chạy playbook Ansible để cài đặt Ansible AWX:
Mã:
ansible-playbook -i inventory install.yml
Sau khi cài đặt Ansible AWX, bạn sẽ nhận được kết quả sau:
Mã:
TASK [local_docker : Create Redis socket directory] *******************************************************************************************
changed: [localhost]
TASK [local_docker : Create Docker Compose Configuration] *************************************************************************************
changed: [localhost] => (item={'file': 'environment.sh', 'mode': '0600'})
changed: [localhost] => (item={'file': 'credentials.py', 'mode': '0600'})
changed: [localhost] => (item={'file': 'docker-compose.yml', 'mode': '0600'})
changed: [localhost] => (item={'file': 'nginx.conf', 'mode': '0600'})
changed: [localhost] => (item={'file': 'redis.conf', 'mode': '0664'})
TASK [local_docker : Render SECRET_KEY file] **************************************************************************************************
changed: [localhost]
TASK [local_docker : Remove AWX containers before migrating postgres so that the old postgres container does not get used] ********************
ok: [localhost]
TASK [local_docker : Run migrations in task container] ****************************************************************************************
changed: [localhost]
TASK [local_docker : Start the containers] ****************************************************************************************************
changed: [localhost]
TASK [local_docker : Update CA trust in awx_web container] ************************************************************************************
changed: [localhost]
TASK [local_docker : Update CA trust in awx_task container] ***********************************************************************************
changed: [localhost]
TASK [local_docker : Wait for launch script to create user] ***********************************************************************************
ok: [localhost -> localhost]
TASK [local_docker : Create Preload data] *****************************************************************************************************
changed: [localhost]
PLAY RECAP ************************************************************************************************************************************
localhost : ok=21 changed=12 unreachable=0 failed=0 skipped=73 rescued=0 ignored=1
Sổ tay hướng dẫn ở trên sẽ tải xuống một số hình ảnh Docker và tạo một vùng chứa Ansible AWX.

Để xác minh tất cả các hình ảnh Docker, hãy chạy:
Mã:
docker images
Bạn sẽ thấy thông báo sau đầu ra:
Mã:
REPOSITORY TAG IMAGE ID CREATED SIZE
postgres 12 108ccc7c5fa3 5 days ago 371MB
redis latest 7faaec683238 2 weeks ago 113MB
centos 8 5d0da3dc9764 6 weeks ago 231MB
ansible/awx 17.1.0 599918776cf2 7 months ago 1.41GB
Để xác minh tất cả các container đang chạy, hãy chạy:
Mã:
docker ps
Bạn sẽ thấy thông báo sau đầu ra:
Mã:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b6cd8d874b09 ansible/awx:17.1.0 "/usr/bin/tini -- /u…" 2 minutes ago Up 2 minutes 8052/tcp awx_task
65dd0c36334a ansible/awx:17.1.0 "/usr/bin/tini -- /b…" 5 minutes ago Up 2 minutes 0.0.0.0:80->8052/tcp, :::80->8052/tcp awx_web
4119ca4a1d24 postgres:12 "docker-entrypoint.s…" 5 minutes ago Up 2 minutes 5432/tcp awx_postgres
212b73bfe362 redis "docker-entrypoint.s…" 5 minutes ago Up 2 minutes 6379/tcp awx_redis

Truy cập Ansible AWX​

Bây giờ, hãy mở trình duyệt web của bạn và truy cập giao diện web Ansible AWX bằng URL . Bạn sẽ thấy trang đăng nhập Ansible AWX:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22378%22%3E%3C/svg%3E


Cung cấp tên người dùng quản trị, mật khẩu và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển Ansible AWX trên màn hình sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22372%22%3E%3C/svg%3E


Xin chúc mừng! bạn đã cài đặt thành công Ansible AWX trên Debian 11.
 
Back
Bên trên