Введение
Ansible — это инструмент автоматизации с открытым исходным кодом, используемый для предоставления программного обеспечения, управления конфигурацией и развертывания приложений. Позволяет автоматически устанавливать, настраивать и развертывать приложения в нескольких системах.
AWX — это веб-приложение, используемое для управления Ansible. Вы можете управлять плейбуками, запасами, секретами и запланированными заданиями Ansible из веб-интерфейса AWX.
Функции
- Он поддерживает несколько облаков, таких как AWS, Azure и GCP.
- Мониторинг активности пользователей
- Повышение эффективности и безопасности
- Контроль доступа на основе ролей пользователей и аутентификации
- Планирование работы
- Интегрированные уведомления
В этом посте мы покажем вам, как установить AWX на сервер Debian 10.
Предпосылки
- Сервер под управлением Debian 10.
- Пользователь root или пользователь с привилегиями sudo.
Если вы хотите установить Ansible AWX на удаленный сервер, продолжайте чтение, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:
ssh root@IP_DEL_SERVER
Далее вам нужно будет ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:
ssh nome_utente@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Начать
Сначала обновите все системные пакеты до последней версии, используя следующую команду:
sudo apt-get update -y
Как только все пакеты будут обновлены, установите другие необходимые пакеты с помощью следующей команды:
sudo apt-get install apt-transport-https ca-certificates software-properties-common unzip gnupg2 curl git -y
После того, как вы установили все пакеты, вы можете перейти к следующему шагу.
Установить Ansible
Далее вам нужно будет установить Ansible в вашей системе. По умолчанию последняя версия Ansible не включена в репозиторий Debian 10. Поэтому вам нужно будет добавить репозиторий Ansible в APT. Вы можете добавить его с помощью следующей команды:
sudo echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu bionic main" | tee /etc/apt/sources.list.d/ansible.list
После добавления репозитория добавьте ключ GPG с помощью следующей команды:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
Затем обновите репозиторий и установите последнюю версию Ansible с помощью следующей команды:
sudo apt-get update -y
sudo apt-get install ansible -y
После установки Ansible вы можете проверить установленную версию Ansible с помощью следующей команды:
sudo ansible --version
Вы должны получить следующий результат:
ansible 2.9.19
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.16 (default, Oct 11 2020, 21:12:12) [GCC 8.3.0]
На данный момент Ansible установлен в вашей системе. Теперь вы можете перейти к следующему шагу.
Установите Docker и Docker Compose
Затем вам нужно будет установить Docker и Docker Compose в вашей системе. По умолчанию последняя версия Docker недоступна в репозитории по умолчанию Debian 10. Поэтому вам нужно будет добавить репозиторий Docker CE в вашу систему. Сначала добавьте ключ и репозиторий Docker с помощью следующей команды curl:
sudo curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
Затем обновите репозиторий и установите Docker CE с помощью следующей команды:
sudo apt-get update -y
sudo apt-get install docker-ce -y
После установки Docker проверьте версию Docker с помощью следующей команды:
sudo docker --version
Вы должны увидеть следующий вывод:
Docker versione 20.10.5, build 55c4c88
Затем вам нужно будет установить последнюю версию Docker Compose в вашей системе. Вы можете загрузить двоичный файл Docker Compose с помощью следующей команды:
sudo curl -s https://api.github.com/repos/docker/compose/releases/latest | grep browser_download_url | grep docker-compose-Linux-x86_64 | cut -d '"' -f 4 | wget -qi -
После завершения загрузки установите соответствующие разрешения с помощью следующей команды chmod:
sudo chmod +x docker-compose-Linux-x86_64
Затем переместите двоичный файл Docker Compose в системный путь с помощью следующей команды mv:
sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
Затем проверьте версию Docker Compose с помощью следующей команды:
sudo docker-compose version
Вы должны получить следующий результат:
docker-compose version 1.28.5, build c4eb3a1f
docker-py version: 4.4.4
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l 11 Sep 2020
На данный момент в системе установлены Docker и Docker Compose. Теперь вы можете перейти к следующему шагу.
Установите Node.js и NPM
Далее вам нужно будет установить Node.js и NPM в вашей системе. Вы можете установить Node.js и NPM с помощью следующей команды:
sudo apt-get install nodejs npm -y
sudo npm install npm --global
Затем установите другие зависимости Python с помощью следующей команды:
sudo apt-get install python3-pip git pwgen -y
Затем установите модуль Docker Compose, соответствующий вашей версии Docker Compose, с помощью следующей команды:
sudo pip3 install docker-compose==1.28.5
После этого вы можете перейти к следующему шагу.
Примечание
Установите AdWords Express
Затем вам нужно будет установить AWX в вашей системе. Сначала загрузите AWX из репозитория Git Hub с помощью следующей команды wget:
sudo wget https://github.com/ansible/awx/archive/17.1.0.zip
После завершения загрузки разархивируйте загруженный файл с помощью следующей команды:
sudo unzip 17.1.0.zip
Затем измените каталог на установщик с помощью следующей команды cd:
cd awx-17.1.0/installer/
Затем сгенерируйте секретный ключ, выполнив следующую команду:
sudo pwgen -N 1 -s 30
Вы должны получить следующий результат:
d1h81f048AA0hg0238erej203939d
Затем отредактируйте файл инвентаризации и определите имя пользователя, пароль и секретный ключ администратора с помощью вашего редактора:
sudo nano inventory
Измените следующие строки:
admin_user=admin
admin_password=securepassword
secret_key=d1h81f048AA0hg0238erej203939d
Когда закончите, сохраните и закройте файл, затем установите AWX, выполнив следующую команду:
sudo ansible-playbook -i inventory install.yml
После успешной установки AWX вы должны получить следующий вывод:
changed: [localhost]
TASK [local_docker: Create Docker Compose Configuration] *************************************************************************************
changed: [localhost] => (item={u'mode': u'0600', u'file': u'environment.sh'})
changed: [localhost] => (item={u'mode': u'0600', u'file': u'credentials.py'})
changed: [localhost] => (item={u'mode': u'0600', u'file': u'docker-compose.yml'})
changed: [localhost] => (item={u'mode': u'0600', u'file': u'nginx.conf'})
changed: [localhost] => (item={u'mode': u'0664', u'file': u'redis.conf'})
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]
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
На данный момент AWX установлен в вашей системе. Теперь вы можете приступить к доступу к веб-интерфейсу AWX.
Войдите в Ansible AWX
Теперь откройте веб-браузер и войдите в веб-интерфейс Ansible AWX, используя URL-адрес http://your-server-ip. Вы будете перенаправлены на страницу входа в AWX:
Укажите имя пользователя и пароль администратора и нажмите кнопку « Войти ». Вы должны увидеть панель управления Ansible AWX.
Вывод
В этом руководстве мы увидели, как установить Ansible AWX на сервер Debian 10. Теперь вы можете легко управлять Ansible playbook, инвентарем и заданиями с панели инструментов AWX.