mirror of
https://github.com/Dannecron/netology-devops-gw-infra.git
synced 2025-12-25 15:22:36 +03:00
4.6 KiB
4.6 KiB
Дипломная работа
Репозиторий содержит конфигурацию terraform для поднятия инфраструктуры для выполнения дипломной работы.
Использование
Необходимо последовательно выполнить все шаги, описанные ниже. Каждый ansible-playbook описывает один шаг.
Инициализация конфигурации terraform
Запуск:
ansible-playbook --ask-vault-pass -i ansible/terraform_init terraform_init.yml
После этого возможно использование команд terraform из директории terraform.
NOTES:
- время жизни токена ограничено, поэтому при истечении данного времени необходимо заново запустить данный playbook.
Деплой инфраструктуры
Из директории terraform:
terraform plan
terraform apply
Инициализация конфигурации kubespray
Запуск:
ansible-playbook -i ansible/kubespray_init kubespray_init.yml
Запуск kubespray: установка кластера kubernetes
- ansible playbook
vendor/kubespray/cluster.yml(будет создан на этапе конфигурации kubespray) - ansible inventory (сам файл
inventory.iniбудет создан на этапе конфигурации kubespray)
Запуск:
ansible-playbook -i ansible/kubespray/inventory.ini vendor/kubespray/cluster.yml
Инициализация конфигурации kubectl
- ansible playbook
kubectl_init.yml - ansible inventory (сам файл
inventoryбудет создан на этапе конфигурации kubespray)
Запуск:
ansible-playbook -i ansible/kubectl_init kubectl_init.yml
Деплой сервисов
Приложение
helm upgrade -i simple-app k8s/helm/simple-app
kube-prometheus-stack
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm upgrade -i monitoring prometheus-community/kube-prometheus-stack -f k8s/helm/kube-prometheus-stack/values.yml
Atlantis
helm upgrade -i --set "config.github.user=<access_token>" --set "config.github.token=<token_secret>" --set "config.github.secret=<webhook_secret>" atlantis k8s/helm/atlantis
где <access_token>, <token_secret> - это данные персонального access-токена, созданного на github,
а <webhook_secret> - строка, которая должна совпадать в конфигурации webhook и atlantis.
Jenkins
helm upgrade -i --set "docker.dockerHubUser=<dockerHubUser>" --set "docker.dockerHubPassword=<dockerHubPassword>" jenkins k8s/helm/jenkins
Необходимые плагины:
Необходимая конфигурация:
- Автоматически прописывать
known_hosts - Добавить секрет с названием
github-keyс именем пользователя и ssh-ключом к github - Настроить облачную конфигурацию воркеров для kubernetes и убрать запуск воркеров на master-ноде
- Создать новый pipeline-проект для обработки push-эвентов по всем git-веткам со скриптом jenkins/ref.jenkinsfile.
- Создать новый pipeline-проект для обработки создания git-тэгов со скриптом jenkins/tag.jenkinsfile.