ОТЧЕТ ОБ ОШИБКЕ (скопировано из
1.8.0 - до текущего мастера (2017-10-26)
При использовании kubeadm с токеном, сгенерированным заранее сгенерированным kubeadm token, но также, когда kubeadm позволяет создать токен, конфигурация tokenTTL
игнорируется. То же самое верно, когда не используется файл конфигурации, но используется kubeadm init --token-ttl 0
Я бы ожидал, что при предоставлении tokenTTL 0s срок действия токена не истечет.
См. Https://github.com/kubernetes/kubernetes/issues/53637, где @rhuss прекрасно это описал.
Эта ошибка была обнаружена в https://github.com/kubernetes/kubernetes/pull/48783 при изменении TTL токена по умолчанию.
Механизм установки по умолчанию оборудования API не имеет возможности отличить неустановленное значение от значения, которое явно установлено на ноль.
Я провел небольшое ручное тестирование этого изменения, но, по-видимому, только для kubeadm token create --ttl 0
, который отлично работает, потому что не использует механизм установки по умолчанию MasterConfiguration.
cc @ kubernetes / сиг-кластер-жизненный цикл-ошибки
/ type bug
Мой текущий обходной путь - создать дополнительный токен самостоятельно _after_ kubeadm init
:
kubeadm init --config /etc/kubernetes/kubeadm.yml
kubeadm token create --ttl 0 --groups system:bootstrappers:kubeadm:default-node-token --description "Bootstrap token which does not expire"
Более поздний токен затем используется для kubeadm join
на узлах.
Спасибо @mattmoyer за исправление ошибки: clap :! Одобренный
Это исправлено в master
и должно быть в v1.8.3.
Самый полезный комментарий
Мой текущий обходной путь - создать дополнительный токен самостоятельно _after_
kubeadm init
:Более поздний токен затем используется для
kubeadm join
на узлах.