команду vault unwrap -field=secret_id $WRAPPING_TOKEN
джоба деплоится через терраформ сразу после поднятия кластера. Но иногда джоба фейлится с ошибкой
Error unwrapping: Put "https://vault/v1/sys/wrapping/unwrap": dial tcp: lookup vault on 10.2.0.10:53: read udp 10.1.2.2:51511->10.2.0.10:53: read: connection refused
я так понимаю где-то днс еще не поднялся, поєтому ошибку кидает. Но джоба не рестартует инит контейнер, потому что он считается как Completed и переходит к контейнерам.
Мне же нужно чтобьі джоба рестартовала инит контейнер пока vault unwrap не сработает.
Если правильно пониманию vault unwrap хоть и фейлится, но возвращает exit code 0, поєтому инит контейнер Completed и джоба дальше ранит другие контейнерьі. Можно как нить сделать, чтоб vault cli возвращал другой exit code?
А ты не хочешь взять нормальный инжектор?
vault secrets operator юзаю просто когда новьій кластер поднимается надо же как то оновить кредьі в Kubernetes Auth method я єто делаю через отдельную джобу з курл реквестами, но для АПИ реквестов мне нужен токен єтот токен я получаю через vault unwrap через АппРольку wrapping token, а у самого токена TTL 30 минут как то так. Тут больше дело не то как я сикретьі в подьі подставляю, а как авторизую кластер
Сложно. Можешь воркфлоу расписать подробнее ?
Использую https://github.com/hashicorp/vault-secrets-operator чтобьі получать сикретьі с Волта и создавать из них K8s сикретьі. Сам кластер, а точнее vault secrets operator, должен как то авторизоваться в Волте. Я єто делаю через Kubernetes Auth Method https://developer.hashicorp.com/vault/docs/auth/kubernetes По скольку у каждого нового кластера другой ИП, другой серт и JWT токен сервис аккаунта - авторизацию нужно делать ручками, но в целях автоматизации бьіло придумано использовать К8с джобу, которая делает АПИ реквестьі Волту передавая ИП кластера, Серт и JWT токен сервис аккаунта. Чтобьі делать АПИ реквестьі нужен Vault токен. Сообственно сам процес получения токена: 1. в Терраформе используя Vault provider я получаю role ID и wrapping токен (АппРоль) 2. через Терраформ деплою К8с джобу, которую описал вот тут https://t.me/kubernetes_ru/739893. В конечном результате джоба создает сикрет с role ID с Терраформа и secret ID, которьій получается через vault unwrap с помощью wrapping токен 3. Єтот сикрет уже используется в джобе, которая делает CURL реквестьі API Волта, которая используя secret ID and role ID получает уже полноценньій Vault токен hvs...., чтобьі заполнить кредьі для Kubernetes Auth Methodа. Но суть вопроса все та же) "Можно как нить сделать, чтоб vault cli возвращал другой exit code, кроме 0?"
проверяй $?, if 0 then exit 100500
вот так работае, спасибо
Обсуждают сегодня