Kubectl - это инструмент командной строки для удаленного управления кластером Kubernetes.
Kubectl использует файл конфигурации, который необходимо подключить к кластеру. Вполне возможно, что ваш конфигурационный файл несовместим из-за большого количества серьезных или незначительных изменений. Если дальнейший анализ проблем не дает хороших результатов, попробуйте выполнить команду rm -f ~ / .kube / config и запустить ее с нуля.
Как я вижу, вы подозреваете, что проблема связана с самозаверяющими сертификатами. Может потребоваться обновление корневого центра сертификации (ЦС) кластера на клиентах, а затем обновление локального списка для действующих сертификатов.
Перейдите в локальный каталог CA, проверьте, существует ли файл ca.crt, затем скопируйте его на клиенты.
Для клиентов выполните следующие операции:
sudo cp ca.crt /usr/local/share/ca-certificates/kubernetes.crt
sudo update-ca-certificates
Я согласен с предложением Мэтью Л. Даниэля:
cluster: тег принимает имя файла сертификата CA или
«встроенную» base-ed версию PEM вы можете увидеть с помощью:
kubectl config set-cluster $foo --certificate-authority=... --embed-certs=true
или вы можете обмануть и использовать --insecure-skip-tls-verify=true
для переключения
от проверки CA для тестирования вещей
Если у вас нет сертификата, сгенерированного во время установки Kubernetes, я предлагаю начать с Документация Kubernetes TLS .
Вы можете взглянуть на облачных провайдеров Kubernetes, таких как GKE или AKS - они дают возможность создавать конфигурационный файл Kubernetes удаленно со всеми включенными сертификатами, а затем загружать его в локальный каталог ~ / .kube.
Возможно, это решит некоторые проблемы с конфигурацией, если вы примете ее для локальной установки.
Это работает как шарм и экономит много времени. Если вы все еще не решили, укажите здесь kubectl config view
, чтобы мы могли помочь вам с вашей проблемой. (Пожалуйста, удалите конфиденциальные данные из него перед публикацией здесь.)