GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Menginstal AWX yang Mungkin di CentOS 8

AWX adalah singkatan dari "Ansible Web eXecutable" adalah proyek sumber terbuka dan gratis yang memungkinkan Anda untuk mengelola dan mengontrol proyek Ansible Anda dengan mudah. Ini menyediakan antarmuka pengguna berbasis web dan mesin tugas yang dibangun di atas Ansible. Ini menyediakan REST API yang andal dan memungkinkan Anda mengelola atau menyinkronkan inventaris dengan sumber cloud lain, mengontrol akses, dan berintegrasi dengan LDAP.

Dalam tutorial ini, kami akan menunjukkan cara menginstal Ansible AWX dengan Docker di CentOS 8.

Prasyarat

  • Server yang menjalankan CentOS 8 dengan RAM minimal 4 GB.
  • Kata sandi root dikonfigurasi di server Anda.

Memulai

Sebelum memulai, Anda perlu menginstal repositori EPEL di sistem Anda. Anda dapat menginstalnya dengan perintah berikut:

dnf install epel-release -y

Selanjutnya, Anda perlu menginstal beberapa paket tambahan yang diperlukan untuk menjalankan AWX di sistem Anda. Anda dapat menginstal semuanya dengan perintah berikut:

dnf install git gcc gcc-c++ nodejs yang memungkinkan gettext device-mapper-persistent-data lvm2 bzip2 python3-pip -y

Setelah semua paket terinstal, Anda dapat melanjutkan ke langkah berikutnya.

Instal Docker dan Tulis Docker

Selanjutnya, Anda perlu menginstal Docker untuk menjalankan AWX di dalam wadah Docker. Secara default, versi terbaru Docker tidak tersedia di repositori default CentOS 8. Jadi, Anda perlu menambahkan repositori Docker di sistem Anda. Anda dapat menambahkan repositori Docker dengan perintah berikut:

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

Setelah ditambahkan, instal Docker versi stabil terbaru dengan perintah berikut:

dnf install docker-ce-3:18.09.1-3.el7 -y

Setelah Docker diinstal, periksa versi Docker yang diinstal dengan perintah berikut:

docker --version

Anda akan mendapatkan output berikut:

Versi Docker 19.03.7, build 7141c199a2

Selanjutnya, mulai layanan Docker dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:

systemctl start docker
systemctl aktifkan docker

Anda dapat memverifikasi status layanan Docker dengan perintah berikut:

systemctl status buruh pelabuhan

Anda akan mendapatkan output berikut:

? docker.service - Mesin Kontainer Aplikasi Docker Dimuat:dimuat (/usr/lib/systemd/system/docker.service; dinonaktifkan; preset vendor:dinonaktifkan) Aktif:aktif (berjalan) sejak Rabu 11-03-2020 02:36:04 EDT; 23 menit yang lalu Dokumen:https://docs.docker.com PID Utama:5882 (dockerd) Tugas:101 Memori:2.6G CGroup:/system.slice/docker.service ??5882 /usr/bin/dockerd -H fd:// ??5899 containerd --config /var/run/docker/containerd/containerd.toml --log-level info ??8815 containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io .containerd.runtime.v1.linux/moby/4b91575d64b1b> ??8847 containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/0f36c9784f748> ? ?8894 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 80 -container-ip 172.18.0.5 -container-port 8052 ??8899 containerd-shim -namespace moby -workdir /var /lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/47300ec1c26ff> ??8923 containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime .v1.linux/moby/9827b9831fa5b> ??9631 berisi erd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/166b153faa275>

Selanjutnya, instal penulisan Docker menggunakan perintah berikut:

pip3 install docker-compose

Setelah diinstal, verifikasi versi penulisan Docker menggunakan perintah berikut:

docker-compose --version

Anda akan melihat output berikut:

docker-compose versi 1.25.4, build tidak diketahui

Terakhir, jalankan perintah berikut untuk mengatur perintah python untuk menggunakan python 3:

alternatif --set python /usr/bin/python3

Instal AWX yang Mungkin

Pertama, unduh versi terbaru Ansible AWX dari repositori Git Hub menggunakan perintah berikut:

git clone https://github.com/ansible/awx.git

Selanjutnya, buat kunci rahasia untuk enkripsi file inventaris dengan perintah berikut:

openssl Rand -base64 30

Anda akan mendapatkan output berikut:

R+kbcDEUS8DlAftAbfWafVqLZ0lUy+Paqo4fEtgp

Catatan:Ingat rahasia di atas, Anda harus menempelkannya di file inventaris.

Selanjutnya, ubah direktori menjadi awx/installer/ dan edit file inventory:

cd awx/installer/
inventaris nano

Ubah baris berikut:

[all:vars]dockerhub_base=ansibleawx_task_hostname=awxawx_web_hostname=awxwebpostgres_data_dir="/var/lib/pgdocker"host_port=80host_port_ssl=443docker_compose_dir="~/.awx/awxcompose"pg_password_pg_password_pg_namapengguna=awxpassrabbitmq_erlang_cookie=cookiemonsteradmin_user=adminadmin_password=passwordcreate_preload_data=Truesecret_key=R+kbcDEUS8DlAftAbfWafVqLZ0lUy+Paqo4fEtgpawx_official=trueawx_alternate_dns. 

Simpan dan tutup file setelah Anda selesai. Kemudian, buat direktori untuk Postgres:

mkdir /var/lib/pgdocker

Terakhir, jalankan perintah berikut untuk menginstal AWX:

ansible-playbook -i inventory install.yml

Setelah instalasi berhasil diselesaikan, Anda akan mendapatkan output berikut:

melewati:[localhost]TUGAS [local_docker :Memuat gambar web] ********************************** ************************************************** **********************melewati:[localhost]TUGAS [local_docker :Memuat gambar tugas] *************** ************************************************** **************************************** melewatkan:[localhost] TUGAS [local_docker :Set jalur gambar lengkap untuk pemasangan lokal] ******************************************* **************************************** melewatkan:[localhost] TUGAS [local_docker :Set Jalur Gambar DockerHub] ********************************************** *************************************************Oke :[localhost]TUGAS [local_docker :Buat direktori ~/.awx/awxcompose] ********************************* ************************************************** ***diubah:[localhost]TUGAS [local_docker :Buat Konfigurasi Tulis Docker] ********************************* ************************************************** **diubah:[localhos t] => (item=environment.sh)berubah:[localhost] => (item=credentials.py)berubah:[localhost] => (item=docker-compose.yml)berubah:[localhost] => (item =nginx.conf)TUGAS [local_docker :Render file SECRET_KEY] ************************************* ************************************************** ***********berubah:[localhost]TUGAS [local_docker :Mulai kontainer] ************************** ************************************************** ************************ diubah:[localhost]TUGAS [local_docker :Perbarui kepercayaan CA di wadah awx_web] ********** ************************************************** ************************diubah:[localhost]TASK [local_docker :Perbarui kepercayaan CA di wadah awx_task] ********** ************************************************** **************************diubah:[localhost]PLAY RECAP ******************** ************************************************** ************************************************** ************localhost :ok=14 perubahan d=6 tidak terjangkau=0 gagal=0 dilewati=95 diselamatkan=0 diabaikan=0 

Perintah di atas akan membuat dan memulai semua wadah Docker yang diperlukan untuk AWX. Anda dapat memverifikasi container yang sedang berjalan dengan perintah berikut:

docker ps

Anda akan melihat output berikut:

ID PENAMPUNG PERINTAH GAMBAR STATUS YANG DIBUAT NAMA PORT 4b91575d64b1 ansible/awx_task:9.2.0 "/tini -- /bin/sh -c..." Sekitar satu menit yang lalu Naik Sekitar satu menit 8052/tcp awx_task9827b9831fa5 ansible/awx_web:9.2.0 "/tini -- /bin/sh -c..." Sekitar satu menit yang lalu Naik Sekitar satu menit 0.0.0.0:80->8052/tcp awx_web47300ec1c26f postgres:10 "docker-entrypoint.s..." Sekitar satu menit yang lalu Naik Tentang a menit 5432/tcp awx_postgres166b153faa27 ansible/awx_rabbitmq:3.7.4 "docker-entrypoint.s..." Sekitar satu menit yang lalu Naik 58 detik 4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 25672/tcp awx_rabbitmq0f "docker-entrypoint.s..." Sekitar satu menit yang lalu Naik Tentang a menit 11211/tcp awx_memcached

Konfigurasi SELinux dan Firewall

Secara default, SELinux diaktifkan di CentOS 8. Disarankan untuk menonaktifkannya agar berfungsi AWX di lingkungan Docker. Anda dapat menonaktifkannya dengan mengedit file berikut:

nano /etc/sysconfig/selinux

Temukan baris berikut:

SELINUX=menegakkan

Dan, ganti dengan baris berikut:

SELINUX=dinonaktifkan

Simpan dan tutup file setelah Anda selesai. Kemudian, restart sistem Anda untuk menerapkan perubahan. Selanjutnya, Anda harus mengizinkan layanan http dan https melalui firewalld. Anda dapat mengizinkannya dengan perintah berikut:

firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add- layanan=https

Selanjutnya, restart layanan firewalld untuk menerapkan perubahan:

firewall-cmd --reload

Mengakses Antarmuka Web AWX

Sekarang, buka browser web Anda dan ketik URL http://your-server-ip. Anda akan diarahkan ke halaman login AWX:

Berikan nama pengguna dan kata sandi admin Anda yang telah Anda tentukan di file inventaris dan klik TANDA MASUK tombol. Anda akan melihat dasbor default AWX di halaman berikut:

Kesimpulan

Selamat! Anda telah berhasil menginstal AWX dengan Docker di CentOS 8. Sekarang Anda dapat mengelola dan mengontrol proyek Ansible Anda dengan mudah menggunakan antarmuka web AWX.


Cent OS
  1. Cara Menginstal Docker Di CentOS

  2. Cara Menginstal Ansible di CentOS 7

  3. Cara Menginstal Ansible di CentOS 8

  1. Cara Menginstal Docker di CentOS 7

  2. Cara Menginstal Docker Compose di CentOS 7

  3. Cara Menginstal Docker di CentOS 8

  1. Cara Menginstal MongoDB di CentOS 8

  2. Cara Menginstal Rancher di CentOS 7

  3. Cara menginstal Docker CE di RHEL 8 / CentOS 8