Kubernetes в версии 1.36 официально исключает использование поля .spec.externalIPs в настройках сервисов, что значительно повышает уровень безопасности. Эта мера направлена на устранение угроз, связанных с неограниченным доступом к ресурсам внутри кластера.
Проблемы безопасности
.spec.externalIPs использовалось для предоставления функциональности, аналогичной облачным балансировщикам нагрузки, в кластерах, не связанных с облаком. Однако начиная с Kubernetes 1.21, разработчики рекомендовали отключить это поле во избежание уязвимостей, таких как CVE-2020-8554. Дело в том, что данная функция давала возможность злоумышленникам несанкционированно использовать внешние IP-адреса, создавая угрозу для всего кластера.
Команда Kubernetes осознала, что предлагать небезопасную структуру по умолчанию больше невозможно. В результате такого анализа было принято решение об официальном исключении поля .spec.externalIPs в новой версии. Ожидается, что дальнейшие обновления уберут поддержку этой функциональности и обновят критерии соответствия Kubernetes.
Альтернативы для пользователей
Если вы по-прежнему используете .spec.externalIPs в своих сервисах, вам стоит рассмотреть несколько альтернатив. Самый простой, но не самый безопасный способ — переключение на сервіс типа LoadBalancer с ручным присвоением IP-адреса. Однако в кластерах с включенной настройкой RBAC это возможно лишь для пользователей с правами от администраторов.
Более предпочтительным вариантом будет выбор других решений для балансировки нагрузки, таких как MetalLB или облачные услуги, которые обеспечивают безопасное управление сетевым трафиком.
Результаты для разработчиков
Для разработчиков в России это означает, что необходимо активно адаптироваться к изменениям и искать более безопасные способы реализации функционала, похожего на балансировщики нагрузки. Безопасность кластера должна быть на первом месте, и активное отключение .spec.externalIPs — шаг в верном направлении.
В будущем ожидаются новые функции и улучшения безопасности в Kubernetes, что сделает платформу более надежной для использования в продакшене.