[DO-0] add docs (!86)

[DO-0]

Co-authored-by: Rustam Tagaev <rustam.tagaev@avroid.tech>
Co-authored-by: Denis Patrakeev <denis.patrakeev@avroid.team>
Reviewed-on: https://git.avroid.tech/K8s/k8s-configs/pulls/86
This commit is contained in:
Rustam Tagaev
2025-03-04 13:15:36 +03:00
parent befd3a5952
commit 95a21dbd94

View File

@@ -62,11 +62,12 @@ kubectl apply -f vault-service-account.yaml
Простой пример для тестирования - в логах вы увидите свой секрет
```yaml
kubectl apply -n sandbox -f - <<"EOF"
kubectl apply -f - <<"EOF"
apiVersion: apps/v1
kind: Deployment
metadata:
name: vault-test
namespace: sandbox
spec:
replicas: 1
selector:
@@ -80,24 +81,50 @@ spec:
vault.security.banzaicloud.io/vault-addr: "https://vault.avroid.tech" # внешний адрес vault
vault.security.banzaicloud.io/vault-role: "sandbox" # роль из под которой будем ходить в vault
vault.security.banzaicloud.io/vault-skip-verify: "false" # проверять сертификат или нет на стороне vault
# vault.security.banzaicloud.io/vault-tls-secret: "vault-tls" # сертификат для vault если он самоподписанный
# vault.security.banzaicloud.io/vault-agent: "false" # запускать акента который будет отслеживать изменения секрета
# vault.security.banzaicloud.io/vault-tls-secret: "vault-tls" # сертификат для vault если он самоподписанный
# vault.security.banzaicloud.io/vault-agent: "false" # запускать агента который будет отслеживать изменения секрета
vault.security.banzaicloud.io/vault-ct-configmap: vault-test-config # конфиг который будет обрабатывать consul template
vault.security.banzaicloud.io/vault-path: "avroid-office" # название kubernetes аутентификации в vault
vault.security.banzaicloud.io/run-as-user: "100" # пользователь нужен что бы прочитать vault токен (100 - consul template)
spec:
serviceAccountName: vault # имя сервиса аккаунта - должен быть в каждом namespace
containers:
- name: alpine
image: alpine
command: ["sh", "-c", "echo $POSTGRES_DSN && echo going to sleep... && sleep 10000"]
command: ["sh", "-c", "echo ${FOO} && echo going to sleep... && sleep 10000"]
resources:
requests:
cpu: 50m
memory: 32Mi
limits:
cpu: 100m
memory: 64Mi
env:
- name: POSTGRES_DSN # переменная окружения куда попадет секрет
value: vault:prj-tavro-cloud-backend/data/k8s/avroid.local/ns-tarvo-cloud-dev/svc-messenger-core-api#POSTGRES_DSN # путь до секрета
cpu: 50m
memory: 32Mi
env: # вариант когда секрет будет в переменную окружения
- name: FOO # переменная окружения куда попадет секрет
value: vault:sandbox/data/k8s/vault-test#FOO # путь до секрета
---
# вариант когда секрет нужно поместить в файл конфигурации приложения
apiVersion: v1
kind: ConfigMap
metadata:
name: vault-test-config # используется в аннотации vault.security.banzaicloud.io/vault-ct-configmap
namespace: sandbox
data:
config.hcl: |
vault {
vault_agent_token_file = "/vault/.vault-token"
retry {
backoff = "1s"
}
}
template {
contents = <<EOH
BAR: baz
{{- with secret "sandbox/data/k8s/vault-test" }}
FOO: {{ .Data.data.FOO }}
{{ end }}
EOH
destination = "/vault/secrets/config.yaml" # тут указан конечный файл конфигурации вашего приложения
}
EOF
```