Назад | Перейти на главную страницу

Сертификаты агрегации Kubernetes - разрешенные имена для аутентификации клиента apiserver

Определения, которые я использую в этом вопросе:

Я читаю настроить уровень агрегации руководство, и я не понимаю основной использование apiserver --requestheader-allowed-names. В разделе Аутентификация клиента Kubernetes Apiserver он говорит:

Соединение должно быть выполнено с использованием сертификата клиента, чей CN является одним из перечисленных в --requestheader-allowed-names. Примечание. Вы можете установить этот параметр как пустой как --requestheader-allowed-names = "". Это будет указывать для расширения apiserver, что любой CN приемлем.

Это звучит как основной За настройку отвечает apiserver. Несомненно расширение apiserver будет контролировать это и определять, что приемлемо? Зачем настраивать это на основной apiserver вообще? Т.е. Общие имена сертификатов клиента - это то, что они есть, и это зависит от расширение apiserver принять / отклонить их?

Или это параметры смешивания раздела документа, которые передаются обоим основной и расширение apiservers?

Думаю, теперь я понимаю, почему основной kube-apiserver нужен этот список разрешенных имен: kube-apiserver - это внешний интерфейс для всех расширений apiservers. Таким образом, запросы всегда сначала проходят через kube-apiserver; Это агрегаты запросы, а затем передает их в правильный серверный сервер расширения. Следовательно, необходимо знать, какие CN принимать. Т.е. запрос к серверу расширений будет идти:

client request -> kube-apiserver -> extension-apiserver

Затем apiserver расширения также проверит CN после получения запроса после того, как он был перенаправлен туда основным kube-apiserver.