[DO-1690] Add docs (!143)
[DO-1690] Co-authored-by: denis.patrakeev <denis.patrakeev@avroid.tech> Reviewed-on: https://git.avroid.tech/K8s/k8s-configs/pulls/143 Reviewed-by: Rustam Tagaev <rustam.tagaev@avroid.team>
This commit is contained in:
61
README.md
61
README.md
@@ -1,6 +1,59 @@
|
|||||||
# k8s-configs
|
# Репозиторий с конфигурациями приложений, которые деплоятся на кластера K8s
|
||||||
|
|
||||||
## Настройка внешних секретов
|
## Структура каталогов в репозитории
|
||||||
|
|
||||||
|
```bash
|
||||||
|
├── clusters # каталог содержащий директории с кластерами
|
||||||
|
│ ├── k8s-avroid-office.prod.local # имя промышленного кластера
|
||||||
|
│ │ └── namespaces # каталог с директориями namespace, создаваемых в кластере k8s
|
||||||
|
│ │ ├── argocd # namespace для РУЧНОГО деплоя ArgoCD
|
||||||
|
│ │ │ ├── argo-cd # ArgoCD
|
||||||
|
│ │ │ ├── argocd-apps # мета-приложения ArgoCD Bootstrapping
|
||||||
|
│ │ │ ├── argocd-namespace.yaml # манифест namespace
|
||||||
|
│ │ │ └── README.md # порядок деплоя ArgoCD
|
||||||
|
│ │ │
|
||||||
|
│ │ ├── example # пример namespace
|
||||||
|
│ │ │ ├── <ПРИЛОЖЕНИЕ/СЕРВИС>
|
||||||
|
│ │ │ └── example.yaml # манифест namespace
|
||||||
|
│ │ │
|
||||||
|
│ │ ├── <NAMESPACE> # namespace для ручного или автоматического деплоя ArgoCD
|
||||||
|
│ │ │ ├── .rbac # манифесты различных политик или секретов
|
||||||
|
│ │ │ ├── app1 # приложение 1
|
||||||
|
│ │ │ ├── app2 # приложение 2
|
||||||
|
│ │ │ ├── ...
|
||||||
|
│ │ │ ├── appN # приложение N
|
||||||
|
│ │ │ └── <NAMESPACE>.yaml # манифест namespace
|
||||||
|
│ │ │
|
||||||
|
│ │ ├── kube-prometheus-stack # отдельный namespace cо стеком kube-prometheus-stack для мониторинга всего кластера
|
||||||
|
│ │ │
|
||||||
|
│ │ ├── jenkins-builds # отдельный namespace интеграции с промышленным Jenkins
|
||||||
|
│ │ │
|
||||||
|
│ │ ├── huawei-csi # отдельный namespace для Huawei CSI для интеграции с СХД
|
||||||
|
│ │ │
|
||||||
|
│ │ └── vault-infra # отдельный namespace для Bank Vault для интеграции HashiCorp Vault
|
||||||
|
│ │
|
||||||
|
│ ├── ... # имя промышленного кластера
|
||||||
|
│ │
|
||||||
|
│ └── <КЛАСТЕР_K8S_N> # имя промышленного кластера
|
||||||
|
│
|
||||||
|
└── README.md # этот файл
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## ArgoCD. Автоматизация развёртывания сервисов
|
||||||
|
ArgoCD настроен таким образом, что он смотрит на `master`-ветку этого репозитория и, в зависимости от инстанса,
|
||||||
|
обрабатывает только файлы попадающие под вот такую маску:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
Обрабатываемые файлы:
|
||||||
|
clusters/<КЛАСТЕР_K8S>/namespaces/*/argocd-apps-*.yaml
|
||||||
|
|
||||||
|
Исключение:
|
||||||
|
clusters/<КЛАСТЕР_K8S>/namespaces/{argocd/*,example/*,vault-infra/*}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Настройка внешних секретов из HashiCorp Vault с помощью Bank Vaults
|
||||||
|
|
||||||
[Ссылка на офф. доку](https://bank-vaults.dev)
|
[Ссылка на офф. доку](https://bank-vaults.dev)
|
||||||
|
|
||||||
@@ -61,7 +114,7 @@ kubectl apply -f vault-service-account.yaml
|
|||||||
|
|
||||||
Простой пример для тестирования - в логах вы увидите свой секрет
|
Простой пример для тестирования - в логах вы увидите свой секрет
|
||||||
|
|
||||||
```yaml
|
```bash
|
||||||
kubectl apply -f - <<"EOF"
|
kubectl apply -f - <<"EOF"
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
@@ -131,7 +184,6 @@ data:
|
|||||||
EOH
|
EOH
|
||||||
destination = "/vault/secrets/config.yaml" # тут указан конечный файл конфигурации вашего приложения
|
destination = "/vault/secrets/config.yaml" # тут указан конечный файл конфигурации вашего приложения
|
||||||
}
|
}
|
||||||
EOF
|
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Secret
|
kind: Secret
|
||||||
@@ -146,6 +198,7 @@ metadata:
|
|||||||
type: Opaque
|
type: Opaque
|
||||||
data:
|
data:
|
||||||
FOO_1: dmF1bHQ6c2FuZGJveC9kYXRhL2s4cy92YXVsdC10ZXN0I0ZPTw==
|
FOO_1: dmF1bHQ6c2FuZGJveC9kYXRhL2s4cy92YXVsdC10ZXN0I0ZPTw==
|
||||||
|
EOF
|
||||||
```
|
```
|
||||||
|
|
||||||
В секрете строку с адресом секрета Bank Vault необходимо преобразовать в base64, это делается следующим образом:
|
В секрете строку с адресом секрета Bank Vault необходимо преобразовать в base64, это делается следующим образом:
|
||||||
|
|||||||
Reference in New Issue
Block a user