Я пытаюсь развернуть кластер k8s с помощью kubespray поверх кластера openstack серверов ubuntu. Установка завершается сбоем, когда kubeadm пытается инициализировать облачного провайдера, отправляя почтовый запрос на конечную точку keystone xxx:5000/v3/ для создания токена начальной загрузки. Не удается запустить kubelet.service, так как конечная точка keystone подписана самозаверяющим сертификатом. Смотри ниже. Я сохранил сертификат ca из конечной точки keystone и поместил его на главный узел в /etc/kubernetes/ssl/, где kubelet и kubeadm ищут сертификаты. Я также обновил /etc/kubernetes/kubeadm-config.yaml на основе документации здесь и здесь, я обновил конфигурацию соединения kubeadm по умолчанию, включив в нее «unsafeSkipCAVerification: true», но kubelet.service по-прежнему не работает с самозаверяющим сертификатом. Kubeadm должен проходить аутентификацию с помощью имени пользователя/пароля, которые хранятся в файле /etc/kubernetes/cloud_config, и я проверил правильность этих значений. Я не уверен, где еще искать, чтобы изменить поведение. Мы будем очень признательны за любые рекомендации.
ubuntu:/etc/kubernetes# конфигурация kubeadm print join-defaults
Версия API: kubeadm.k8s.io/v1beta3
caCertPath: /etc/kubernetes/pki/ca.crt
открытие:
Токен начальной загрузки:
apiServerEndpoint: kube-apiserver:6443
токен: abcdef.0123456789abcdef
unsafeSkipCAVerification: правда
таймаут: 5м0с
tlsBootstrapToken: abcdef.0123456789abcdef
тип: джоинконфигуратион
узелРегистрация:
criSocket: /var/run/dockershim.sock
imagePullPolicy: Ифноптресент
имя: mdap-узел-01
пороки: ноль
трассировка стека kubelet:
15 декабря 22:19:51 ubuntu kubelet[388780]: E1215 22:19:51.760564 388780 server.go:294] «Не удалось запустить kubelet» err = «не удалось запустить Kubelet: не удалось инициализировать облачного провайдера «openstack» : Сообщение \"https://XXX.XXX.XXX.132:5000/v3/auth/tokens\": x509: сертификат, подписанный неизвестным органом"
15 декабря 22:19:51 ubuntu systemd[1]: kubelet.service: основной процесс завершен, код = завершен, статус = 1/FAILURE
НЕУДАЧА — ПОВТОРНАЯ Попытка: создать токен kubeadm для присоединения к узлам со сроком действия 24 часа (по умолчанию) (осталось 4 попытки). Результат: {
"попытки": 2,
«изменено»: ложь,
"команд": [
"/usr/локальные/бин/кубидм",
"--кубеконфиг",
"/etc/kubernetes/admin.conf",
"жетон",
"Создайте"
],
"дельта": "0:01:15.035670",
"конец": "2021-12-16 15:03:22.901080",
"вызов": {
"module_args": {
"_raw_params": "/usr/local/bin/kubeadm --kubeconfig /etc/kubernetes/admin.conf создать токен",
"_uses_shell": ложь,
"аргв": ноль,
"chdir": ноль,
"создает": ноль,
"исполняемый": ноль,
"удаляет": ноль,
"стандартный ввод": ноль
"stdin_add_newline": правда,
"strip_empty_ends": правда,
"предупреждать": правда
}
},
"msg": "ненулевой код возврата",
"рс": 1,
"повторных попыток": 6,
"старт": "2021-12-16 15:02:07.865410",
"stderr": "время ожидания условия истекло\nЧтобы увидеть, как трассировка стека этой ошибки выполняется с параметром --v=5 или выше",
"stderr_lines": [
"время ожидания условия истекло",
"Чтобы увидеть трассировку стека этой ошибки, выполните --v=5 или выше"
],
"стандартный вывод": "",
"stdout_lines": []