Мой вопрос в том, что если клиент, скажем, kubectl должен получить доступ к кластеру для различных операций получения/удаления/редактирования
2) И если kubelet нужно поговорить с конечной точкой API
Верно, эти два взаимодействия решают одну и ту же проблему: как процесс, который внешний чтобы кластер kubernetes достиг уровня управления.Можно представить, что он будет ограничен (например) только корпоративным VPN для кубектл
операции или только рабочие подсети для кубелет
.
кубелет
на самом деле нет необходимость для использования NLB (имеется в виду трафик, исходящий из VPC через любой Nat GW/Internet GW в NLB и обратно в VPC), совершенно безопасно и эффективно указать конфигурацию kubelet на «внутренней» стороне этого NLB, поэтому до тех пор, пока сертификаты уровня управления имеют достаточное количество записей альтернативного имени субъекта для выполнения рукопожатия TLS. Обычно именно поэтому люди не утруждают себя разграничением этих двух случаев, но если это касается безопасности (или стоимости!) вашей организации, разделить эти два взаимодействия можно на 100 %.
Какой API использует этот сервис?
CNI Оказание услуг
указывает на одну и ту же плоскость управления, но этот трафик проходит внутри кластера, и что kubernetes.default.svc.cluster.local
Оказание услуг
доступен для всех Пространство имен
s все время, и именно так любой клиент kubernetes в Pod использует встроенный ServiceAccount
токен для доступа к API kubernetes. Таким образом, все, что работает внутри кластера, не нуждается в какой-либо настройке для доступа к API, включая доступ в Интернет, потому что этот внутрикластерный трафик не покидает сеть CNI.