Невозможно подключиться к серверу: x509: сертификат действителен для - PullRequest
0 голосов
/ 21 октября 2018

ОС: Mac OS 10.13.6 Terminal

Kubectl для удаленного доступа

Когда я выполняю команду с параметром --insecure-skip-tls-verify, она работает нормально.

dev-env at balabimac in ~/kthw
$ kubectl --insecure-skip-tls-verify --context=kubernetes-me get pods
No resources found.
dev-env at balabimac in ~/kthw
$ kubectl --insecure-skip-tls-verify --context=kubernetes-me get nodes
NAME                        STATUS     ROLES    AGE   VERSION
balab29123.mylabserver.com   NotReady   <none>   4h    v1.10.2
balab29124.mylabserver.com   NotReady   <none>   4h    v1.10.2
dev-env at balabimac in ~/kthw
$ kubectl --insecure-skip-tls-verify --context=kubernetes-me version
Client Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.0", GitCommit:"0ed33881dc4355495f623c6f22e7dd0b7632b7c0", GitTreeState:"clean", BuildDate:"2018-09-28T15:20:58Z", GoVersion:"go1.11", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.2", GitCommit:"81753b10df112992bf51bbc2c2f85208aad78335", GitTreeState:"clean", BuildDate:"2018-04-27T09:10:24Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

Но я не могу получить доступ с помощью приведенной ниже команды, я застрял.

dev-env at balabimac in ~/kthw
$ kubectl config use-context kubernetes-me
Switched to context "kubernetes-me".
dev-env at balabimac in ~/kthw
$ kubectl get pods
Unable to connect to the server: x509: certificate is valid for balab29121.mylabserver.com, balab29122.mylabserver.com, balab29126.mylabserver.com, 127.0.0.1.localhost, kubernetes.default, not localhost
dev-env at balabimac in ~/kthw
$ kubectl get nodes
Unable to connect to the server: x509: certificate is valid for balab29121.mylabserver.com, balab29122.mylabserver.com, balab29126.mylabserver.com, 127.0.0.1.localhost, kubernetes.default, not localhost
dev-env at balabimac in ~/kthw

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Похоже, что когда вы сгенерировали сертификат сервера API kubernetes, вместо 127.0.0.1, localhost вместо *1003* 127.0.0.1 вы ставите 127.0.0.1.Просто небольшая опечатка, но в результате сертификат не подписан должным образом для localhost, что приведет к этой ошибке при попытке подключения.Повторно сгенерируйте сертификат сервера API Kube с правильными значениями.Затем скопируйте файлы сертификата на управляющие узлы и поместите файлы в правильное место, заменив старые файлы.

dev-env at balabimac in ~/kthw 
$ kubectl get pods Unable to connect to the server: x509: certificate is valid for balab29121.mylabserver.com, balab29122.mylabserver.com, balab29126.mylabserver.com, **127.0.0.1.localhost**, kubernetes.default, not localhost
0 голосов
/ 23 октября 2018

Решение состоит в том, чтобы дать kubelet сертификат обслуживания, подписанный --kubelet-Certificate Authority [1].Если кубелету не выдан обслуживающий сертификат, в настоящее время он генерирует самоподписанный сертификат.

[1] https://kubernetes.io/docs/tasks/tls/managing-tls-in-a-cluster/#requesting-a-certificate

...