Настройка системы управления конфигурацией

HA1-COD, HA2-COD, SRV1-COD, SRV2-COD, SRV3-COD:

sed -i "s/#PermitRootLogin without-password/PermitRootLogin yes/g" /etc/openssh/sshd_config
systemctl restart sshd

ADM-HQ:

  • Установим необходимый пакет:
apt-get update && apt-get install -y python3-module-pip
  • Из-под user создаём ключевую пару для SSH:
su - user       //Если под root
ssh-keygen -t rsa   //Пароль оставляем пустым
  • Передаём открытый ключ SSH на требуемые хосты:
for i in ha1 ha2 srv1 srv2 srv3;
do
ssh-copy-id root@$i-cod
done
ИЛИ
ssh-copy-id root@ha1-cod
ssh-copy-id root@ha2-cod
ssh-copy-id root@srv1-cod
ssh-copy-id root@srv2-cod
ssh-copy-id root@srv3-cod
Будет спрашивать пароль от root (toor)
  • Создаём требуемую структуру каталогов:
mkdir /home/user/ansible
cd /home/user/ansible
  • Создаём виртуальное окружение:
python3 -m venv venv/ansible
  • Активируем виртуальное окружение
source venv/ansible/bin/activate
    • должно получиться следующее:

  • Устанавливаем ansible через pip в виртуальное окружение:
pip install --upgrade pip && pip install ansible
  • Проверить:

  • Создаём инвентарный файл:
mkdir -p inventories/production
cat <<EOF > inventories/production/hosts
all:
  children:
    proxy:
      hosts:
        ha1-cod:
        ha2-cod:
    server:
      hosts:
        srv1-cod:
        srv2-cod:
        srv3-cod:
EOF
  • Указываем переменные для подключения:
mkdir inventories/production/group_vars
cat <<EOF > inventories/production/group_vars/all.yml
---
ansible_python_interpreter: /usr/bin/python3
ansible_ssh_user: root
ansible_ssh_private_key_file: ~/.ssh/id_rsa
EOF
  • Проверить: