Files
k8s-deploy/README.md
2024-12-20 19:44:28 +03:00

88 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Репозиторий деплоя кластеров K8s
Репозиторий в себе содержит все необходимые конфигурации, инструменты и дополнительные механизмы,
необходимые для развёртывания кластеров K8s в различных окружениях.
## Получение репозитория
```bash
git clone ssh://git@git.avroid.tech:2222/K8s/k8s-deploy.git
cd k8s-deploy
git submodule update --init --recursive
```
## Структура каталогов
```text
.
|-- env - директория содержащая подкаталоги соответствующие различным окружениям
| |-- <ОКРУЖЕНИЕ_01> - директория окружения, название директории совпадает с названием окружения
| | |-- inventory - каталог содержит Ansible inventory к Kubespray для деплоя кластера
| | |
| | |-- kubespray - каталог является Git Submodules на определённый тег Kubespray
| | |
| | |-- patches - кастомные доработки для отдельных сервисов кластера
| | | |-- <ИМЯ_СЕРВИСА_01> - директория, содержащая файлы патчей (без подкаталогов)
| | | | |-- file_XX.yaml - файл с кастомными доработками
| | | | |-- ...
| | | |
| | | |-- ...
| | | |
| | | |-- <ИМЯ_СЕРВИСА_XX>
| | | |-- file_XX.yaml
| | | |-- ...
| | |
| | |-- README.md - файл содержит подробное описание конфигурации и порядок деплоя
| |
| |-- ...
| |
| |-- <ОКРУЖЕНИЕ_XX>
| |-- inventory
| |-- kubespray
| |-- patches
| | |-- <ИМЯ_СЕРВИСА_01>
| | | |-- file_XX.yaml
| | | |-- ...
| | |
| | |-- ...
| | |
| | |-- <ИМЯ_СЕРВИСА_XX>
| | |-- file_XX.yaml
| | |-- ...
| |
| |-- README.md
|
|-- .gitignore
|-- README.md
```
## Порядок создания Git Submodule kubespray в каталоге окружения
Сначала создаём Git Submodule:
```bash
cd env/<ОКРУЖЕНИЕ_XX>
git submodule add ssh://git@git.avroid.tech:2222/Mirrors/kubespray.git kubespray
```
После чего принудительно переключаем Git Submodule на нужный тэг (релиз) Kubespray:
```bash
cd env/<ОКРУЖЕНИЕ_XX>/kubespray
git checkout v2.26.0
cd ../../..
git add env/<ОКРУЖЕНИЕ_XX>/kubespray
```
После чего правим файл `.gitmodules` и явно в нём прописываем необходимый тэг,
который необходимо использовать для этого подмодуля.
Пример записи:
```text
[submodule "env/<ОКРУЖЕНИЕ_ХХ>/kubespray"]
path = env/<ОКРУЖЕНИЕ_ХХ>/kubespray
url = ssh://git@git.avroid.tech:2222/Mirrors/kubespray.git
branch = v2.26.0
```
После чего фиксируем новое состояние:
```bash
git commit -m "[DO-XXXX] Checked out tag v2.26.0 kubespray for env XXX"
```