Не удается найти маркер kubeadm после инициализации мастера
Когда я запускаю kubeadm init
он показывает токен, который я должен использовать с других хостов для подключения к этому хосту. Где хранится этот токен? Я пытаюсь найти больше способов автоматизировать это, добавив kubeadm внутри Terraform.
Спасибо за любую помощь!
Ответы
Ответ 1
--token
По умолчанию kubeadm init автоматически генерирует токен, используемый для инициализации каждого нового узла. Если вы хотите вручную указать этот токен, вы можете использовать флаг --token. Токен должен иметь формат "<строка символов 6". <16 символьная строка>.
вы можете увидеть значение токена на главном узле с помощью команды:
cat /etc/kubernetes/pki/tokens.csv
Ответ 2
Инструкции для Kubernetes 1.9.x (и выше) можно найти здесь.
Используемые мной команды:
kubeadm token generate
kubeadm token create <generated-token> --print-join-command --ttl=0
Ответ 3
Запустите эту команду в главном узле, чтобы получить токен
kubeadm token list
Ответ 4
kubectl -n kube-system get secret clusterinfo -o yaml | grep token-map | awk '{print $2}' | base64 -d | sed "s|{||g;s|}||g;s|:|.|g;s/\"//g;" | xargs echo
Ответ 5
Лучший способ избежать создания нового токена -
kubeadm token list
kubeadm token create <copied token from previous command output>** --print-join-command
вы получите команду JOIN для запуска на любом физическом/жизненном компьютере для присоединения к кластеру kubernetes....
Ответ 6
Попробуйте создать новую команду, указанную ниже, так как начальный токен действителен только 24 часа.
kubeadm token create --ttl=0
Здесь ttl = 0 означает, что сгенерированный токен никогда не истечет.
Затем присоединитесь к узлу в соответствии с приведенной ниже командой:
kubeadm join <generated_token>
Если вы получили какую-либо ошибку при проверке хэша, присоединяйтесь, как показано ниже:
kubeadm join <generated_token> --discovery-token-unsafe-skip-ca-verification
Ответ 7
Используйте эту команду: $ sudo kubeadm token list
Тем не менее, если вы не получили, используйте следующие команды
$ sudo kubeadm reset
$ sudo kubeadm init