/ добрый баг
версия kubeadm (используйте kubeadm version
):
v1.12.2
Я настраиваю тестовую систему на основе виртуальной машины, которая использует kubeadm для создания небольшого кластера k8s. Виртуальные машины настроены для настройки локальных адресов IPv4 и использования многоадресного DNS для поиска друг друга. Из-за того, как настроены виртуальные машины, я должен переопределить --apiserver-Advertise-address, чтобы k8s использовал интерфейс LAN для связи между узлами, потому что это не интерфейс по умолчанию.
К сожалению, kubeadm проверяет .IsGlobalUnicast()
на переданном адресе, поэтому локальный для ссылки IPv4-адрес отклоняется, даже если это допустимый способ создания небольшого кластера.
kubeadm init
должен принимать локальные адреса IPv4 или IPv6, если они явно указаны в командной строке.
kubeadm init --apiserver-advertise-address=169.254.152.255
/ remove-kind bug
/ kind feature
/ sig узел
/ приоритет отставания
/ назначить @kad
cc @rosti
@danderson
это задумано. наша проверка - это только проверка работоспособности, потому что кубелет также игнорирует адреса в интерфейсе хоста, которые не являются глобальными одноадресными:
https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/util/net/interface.go#L305 -L308
петли также переопределяются:
https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/util/net/interface.go#L408
Таким образом, включение локальных адресов ссылок может быть проблематичным в большинстве случаев использования. Мы намеренно отключили его из-за пары других условий сбоя, и этот вариант использования нестандартный IMO.
Учитывая отсутствие обоснования и общее согласие с тем, что это может быть более проблематичным для большинства пользователей, мы закрываемся.
Если ваш вариант использования можно упростить, обобщить или легко исправить, не стесняйтесь открывать его снова.
Самый полезный комментарий
Таким образом, включение локальных адресов ссылок может быть проблематичным в большинстве случаев использования. Мы намеренно отключили его из-за пары других условий сбоя, и этот вариант использования нестандартный IMO.