Kubernetes используется HC Vault, а сегодня этим решением хотим поделиться и со всеми читателями. Задача стояла в закручивании гаек (настройки
SecurityContext, limits и т.д.) для волтовых init и sidecar контейнеров, чтобы на них не кричал PolicyEngine (а это считай на все нагрузки, где они используются) и как следствие они соответствовали внутренним стандартам компании. Использование PodSecurityContext (не путайте с SecurityContext) не решало задачи и задействовать механизм исключений не очень то и хотелось. При этом как вы понимаете задача усложняется тем, что их самих в исходных ресурсах
Pods нет и они уже добавляются в процессе выкатки через mutating admission webhook ... В итоге, решением оказалось использование аннотаций vault.hashicorp.com/agent-init-json-patch и vault.hashicorp.com/agent-json-patch =) Берите и пользуйтесь!
P.S. Задача, кстати, очень напоминает задачу для
ServiceMesh Istio, которую мы рассматривали тут.P.S.S. Мы вам этого не говорили, но можно через этот механизм встраивать и
backdoors и разные другие нехорошие вещи - придумать уже можете сами ;)
