RELATÓRIO DE BUG (copiado do problema de
1.8.0 - até o mestre atual (26/10/2017)
Ao usar o kubeadm com um token gerado pelo token kubeadm gerar antecipadamente, mas também ao permitir que o kubeadm crie o token, uma configuração tokenTTL
é ignorada. O mesmo é verdade quando não estiver usando um arquivo de configuração, mas usando kubeadm init --token-ttl 0
Ao fornecer um tokenTTL de 0s, eu esperaria que o token não expirasse.
Veja https://github.com/kubernetes/kubernetes/issues/53637 onde @rhuss descreveu isso muito bem.
Este bug foi introduzido em https://github.com/kubernetes/kubernetes/pull/48783 quando o token TTL padrão foi alterado.
O mecanismo de padronização do mecanismo da API não tem uma maneira de diferenciar entre um valor não definido e um valor explicitamente definido como zero.
Fiz alguns testes manuais nessa mudança, mas aparentemente apenas para kubeadm token create --ttl 0
, que funciona bem porque não usa o mecanismo padrão MasterConfiguration.
cc @ kubernetes / sig-cluster-lifecycle-bugs
/ type bug
Minha solução alternativa atual é criar um token extra por conta própria _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"
O token posterior é então usado para kubeadm join
nos nós.
Obrigado @mattmoyer pela correção do bug: clap :! Aprovado
Isso foi corrigido em master
e deve estar na v1.8.3.
Comentários muito úteis
Minha solução alternativa atual é criar um token extra por conta própria _after_
kubeadm init
:O token posterior é então usado para
kubeadm join
nos nós.