Можно ли использовать несколько/настраиваемых корневых сертификатов для группы пользователей/kubectl/файлов конфигурации?
Нет, есть только один «корневой» сертификат, поэтому он и называется корневым.
Тем не менее, x509 является цепь доверия, что означает, что вполне возможно выдавать подчиненные центры сертификации под этим корнем, а затем выдавать пользовательские сертификаты в этих центрах сертификации, выбирая удаление подчиненных центров сертификации по завершении проекта, в результате чего все эти конечные сертификаты будут потеряны. Имейте в виду, что, насколько мне известно, изменение сертификатов или их цепочки требует перезапуска плоскости управления, поскольку она не выполняет горячую перезагрузку этих файлов сертификатов. Я считаю, что для этого есть проблема GitHub, как и для всех остальных 15 000 из них.
Другой вариант, в зависимости от ваших потребностей, заключается в выдаче краткосрочной аренды для пользовательских сертификатов, чтобы процесс «отзыва» не столько менял цепочку доверия x509, сколько просто не позволял повторно выдать учетные данные. Это ближе к хранилищу Hashicorp и школе мысли Let's Encrypt.
Я лично реализовал второй (используя Vault), но я считаю, что первый возможен, потому что apiserver использует цепочки x509 для некоторых своих компонентов внутри кластера, поэтому я не понимаю, почему вы не могли бы аналогичным образом воспользоваться этого механизма
Я знаю, что это не то, о чем вы спрашивали, но использование x509 для такой временной аутентификации — это путь к краху, потому что, как вы понимаете, обе стороны, выдача и отзыв, причиняют огромную боль. Если это вообще доступно для вас, Механизм аутентификации OIDC гораздо легче рассуждать и кубектл
имеет более-менее встроенная поддержка для него