Загрузка данных


ADM-PC:
Все последующие действия выполняются из-под доменного пользователя admin01

    Устанавливаем пакет codium:

sudo apt-get update && sudo apt-get install -y codium

    Проверить установку и запуск VSCodium:

    Скачивает Terraform требуемой версии:

wget https://hashicorp-releases.yandexcloud.net/terraform/1.14.5/terraform_1.14.5_linux_amd64.zip

    Устанавливаем Terraform требуемой версии:

sudo unzip  terraform_1.14.5_linux_amd64.zip -d /usr/local/bin/

    Проверить установку Terraform требуемой версии можно следующим образом:

    Можно сразу создать файл ~/.terraformrc для дальнейшей корректной работы Terraform со следующим содержимым:

provider_installation {
    network_mirror {
        url = "https://terraform-mirror.mcs.mail.ru"
        include = ["registry.terraform.io/*/*"]
    }
    direct {
        exclude = ["registry.terraform.io/*/*"]
    }
}

    Устанавливаем пакет git:

sudo apt-get install -y git

    Проверить установку git можно следующим образом:

    Создаём каталог с именем ~/infra:

mkdir ~/infra

    Внутри каталога ~/infra создаём подкаталоги: terraform, ansible и kubernetes

mkdir ~/infra/{terraform,ansible,kubernetes}

    Проверить созданную структуру каталогов можно следующим образом:

    Установить Ansible через pip на adm-pc:
        внутри виртуального окружения ~/infra/ansible
        с именем venv/ansible для пользователя admin01 можно следующим образом:
        устанавливаем пакет python3-module-pip

sudo apt-get install -y python3-module-pip

        создаём виртуальное окружения с помощью модуля venv

python3 -m venv ~/infra/ansible/venv/ansible

        активируем виртуальное окружение

source ~/infra/ansible/venv/ansible/bin/activate

        должно получится следующее:

        устанавливаем ansible через pip в контексте виртуального окружения venv/ansible

pip install --upgrade pip && pip install ansible

    Проверить установку Ansible через pip можно следующим образом:

    Перейдём в директорию ~/infra/ansible:

cd ~/infra/ansible

    Создадим требуемую структуру каталогов для хранения инвентарных файлов:

mkdir -p inventories/production/

    Создадим файл инвенторя по пути: inventories/production/hosts
        и перечислим требуемые хосты в формате YAML

all:
  hosts:
    infra-srv1:
    infra-srv2:
    infra-srv3:

    Создадим директорию для хранения переменных для группы хостов:

mkdir inventories/production/group_vars

    Создадим файл с переменными необходимыми для подключения ansible по пути: inventories/production/group_vars/all.yaml
        укажем в данном файле какой использовать интерпретатор python для подключения
        укажем в данном файле из-под какого пользователя выполнять подключения
        укажем в данном файле какой SSH ключ (закрытый) использовать для подключения

---
ansible_python_interpreter: /usr/bin/python3
ansible_ssh_user: admin01
ansible_ssh_private_key_file: ~/.ssh/id_rsa

    Проверить возможность ansible подключиться к описанным в инвентарном файле хостам можно следующим образом:

ansible -i ~/infra/ansible/inventories/production/hosts -m ping all

        должен получится следующий результат:

    Настрим каталог ~/infra для работы с системой контроля версий Git
        деактивируем виртуальное окружения для работы с Ansible
        и перейдём в каталог ~/infra

deactivate

cd ~/infra

        указываем name и email для работы git

git config --global user.name "admin01"

git config --global user.email "admin01@au-team.cloud"

        создаём файл .gitignore в текущем каталоге и добавляем в него следующее содержимое

ansible/venv/

        инициализируем текущий каталог на работу с git

git init

        добавляем все файла и каталоги в git

git add .

    Проверить добавление файлов в git для отслеживания можно следующим образом:

        добавляем commit:

git commit -m "first commit"