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.
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:
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ữ:
Thêm dòng sau:
Lưu và đóng tệp sau đó thêm khóa GPG bằng lệnh sau lệnh:
Bạn sẽ nhận được kết quả đầu ra sau:
Tiếp theo, cập nhật bộ đệm kho lưu trữ bằng lệnh sau lệnh:
Sau khi Ansible đã được cài đặt, hãy xác minh phiên bản Ansible bằng lệnh sau lệnh:
Bạn sẽ nhận được kết quả đầu ra sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Đầu tiên, hãy tải xuống và thêm khóa GPG của Docker bằng lệnh sau:
Tiếp theo, hãy thêm kho lưu trữ CE của Docker vào APT bằng lệnh sau:
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:
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:
Bạn sẽ nhận được kết quả đầu ra sau:
Để xác minh phiên bản Docker, hãy chạy lệnh sau:
Bạn sẽ thấy thông báo sau đầu ra:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Tiếp theo, di chuyển tệp nhị phân đã tải xuống đến thư mục /usr/bin/:
Tiếp theo, đặt quyền thực thi cho tệp nhị phân docker-compose:
Tiếp theo, xác minh phiên bản Docker Compose bằng lệnh bên dưới:
Bạn sẽ nhận được kết quả sau:
Tiếp theo, cài đặt Node.js và NPM bằng lệnh sau lệnh:
Tiếp theo, cài đặt PIP và các phụ thuộc khác bằng lệnh sau:
Tiếp theo, cài đặt mô-đun Python cho Docker Compose bằng lệnh sau lệnh:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
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:
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:
Bạn sẽ nhận được thông tin sau đầu ra:
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:
Thay đổi những mục sau dòng:
Lưu và đóng tệp sau đó chạy playbook Ansible để cài đặt Ansible AWX:
Sau khi cài đặt Ansible AWX, bạn sẽ nhận được kết quả sau:
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:
Bạn sẽ thấy thông báo sau đầu ra:
Để xác minh tất cả các container đang chạy, hãy chạy:
Bạn sẽ thấy thông báo sau đầu ra:
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.
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
Mã:
nano /etc/apt/sources.list
Mã:
deb http://ppa.launchpad.net/ansible/ansible/ubuntu focal main
Mã:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
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
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
Mã:
ansible --version
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
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
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
Mã:
apt-get update -y
apt-get install docker-ce -y
Mã:
systemctl status docker
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"
Mã:
docker -v
Mã:
Docker version 20.10.10, build b485636
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
Mã:
mv docker-compose-Linux-x86_64 /usr/bin/docker-compose
Mã:
chmod +x /usr/bin/docker-compose
Mã:
docker-compose version
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
Mã:
apt-get install nodejs npm -y
npm install npm --global
Mã:
apt-get install python3-pip git pwgen -y
Mã:
pip3 install docker-compose==1.29.0
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
Mã:
unzip 17.1.0.zip
Mã:
cd awx-17.1.0/installer/
pwgen -N 1 -s 30
Mã:
dGF8eiFiTkzpaqpWyckxSLe57sZNfJ
Mã:
nano inventory
Mã:
admin_user=admin
admin_password=securepassword
secret_key=dGF8eiFiTkzpaqpWyckxSLe57sZNfJ
Mã:
ansible-playbook -i inventory install.yml
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
Để xác minh tất cả các hình ảnh Docker, hãy chạy:
Mã:
docker images
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
Mã:
docker ps
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.