Я пытаюсь настроить модуль kubernetes, чтобы он мог подключаться к устройству, в частности к устройству F5 BIG-IP.
С развертыванием все в порядке, на самом деле мне пришлось изменить фрагмент кода, который я нашел в Интернете.
Когда стручки пытаются запустить, у меня ошибка. Итак, я начал свое расследование:
Бег kubectl logs <pod_name> -n <namespace>
возвращает ошибку:
REST call error: Get <URL>: x509: cannot validate certificate for <IP> because it doesn't contain any IP SANs
Глядя на дамп wirehark на интерфейсе, я вижу, что есть предупреждение TLS 1.2 (фатальное) с описанием «плохого сертификата», отправленное от клиента на сервер.
Я поискал в Интернете и нашел несколько статей, в которых говорилось, что кубернеты пытаются подключиться к серверу, но не распознают его - по крайней мере, я думаю, что они имели в виду. Одним из предложенных обходных путей было применение DNS-имени, поэтому я изменил /etc/hosts
файл, чтобы использовать имя DNS в файле YAML развертывания.
В результате сообщение об ошибке меняется на:
REST call error: Get <URL>: dial tcp: lookup <hostname>: device or resource busy
Есть идеи относительно того, в чем может быть проблема и как ее решить?
Это тестовая среда, поэтому я бы не возражал - позвольте мне сказать - «неортодоксальные» методы, такие как игнорирование проверки сертификата, но я был бы признателен, если бы были решения или обходные пути, которые я мог бы в конечном итоге внедрить в производство.
Спасибо за любой вклад.
Я нашел проблему. Похоже, что в YAML-файле развертывания можно было установить --insecure=true
флаг. Это заставило устройство не проверять сертификат и успешно подключиться к устройству F5.