Kubectl использует файл конфигурации, который необходим для подключения к кластеру. Возможно, ваш файл конфигурации несовместим из-за множества серьезных или незначительных изменений. Если дальнейший анализ проблем не дает хороших результатов, попробуйте rm -f ~/.kube/config
и начните его с нуля.
Как я вижу, вы подозреваете, что проблема связана с самоподписанными сертификатами. Может потребоваться обновление кластера root Центр сертификации (CA) на клиентах, а затем обновление локального списка для допустимых сертификатов.
Go в локальный каталог CA, проверьте, существует ли файл ca.crt, затем скопируйте это своим клиентам. Для клиентов выполните следующие операции:
$ sudo cp ca.crt /usr/local/share/ca-certificates/kubernetes.crt
$ sudo update-ca-certificates
cluster: тег принимает либо имя файла сертификата CA, либо «встроенную» версию PEM в формате base64, которую вы можете увидеть с помощью:
$ kubectl config set-cluster $foo --certificate-authority=... --embed-certs=true
Во время развертывания вы должны также настроить кластер и пользователя на внешнем сервере.
Выполните команду ниже:
$ kubectl config --kubeconfig=your_kubeconfig_path set-context abc
--cluster=10.237.107.61:6443 --user=developer --namespace=default
Контекст обозначает пространство имен / имя-кластера - в вашем случае IP-адрес кластера / пользователь-кластера.
$ kubectl config use-context abc
Пока вы вводите команду kubectl
, действие будет применяться к кластеру и пространству имен, перечисленному в контексте abc
. И команда будет использовать учетные данные пользователя, указанного в контексте abc`.
Наконец, если это не работает на внешнем сервере, попробуйте скопировать только данные, связанные с пользователем-разработчиком, из файла kubeconfig на главном k8s и скопировать его в файл kubeconfig внешнего сервера, затем снова запустите эту команду.
Если вы запустите локальный Kubernetes, настроенный с помощью Vagrant , вы заметите, что файл ~/.kube/config
настраивается автоматически после кластеры поднимаются; вы также почувствуете утешение, что скрипты, которые предоставляют кубернеты внутри vagrant, также используют эти команды для настройки вашего ~ / .kube / config .
Пожалуйста, посмотрите: подключение -to-cluster , вход в кластер .