我已经使用 ansible 安装程序安装了带有 Docker 的 OpenShift3 和 Kubernetes。 安装后,我想在我的主机上创建我的 docker 注册,但出现以下错误(我读到它与 SSL 有关,但我找不到解决方案): 命令(来自示例):
[root@ip-10-0-0-x centos]# export CURL_CA_BUNDLE=`pwd`/openshift.local.config/master/ca.crt
[root@ip-10-0-0-x centos]# sudo chmod a+rwX openshift.local.config/master/admin.kubeconfig
[root@ip-10-0-0-x centos]# sudo chmod +r openshift.local.config/master/openshift-registry.kubeconfig
[root@ip-10-0-0-x centos]# oadm registry --create --credentials=openshift.local.config/master/openshift-registry.kubeconfig --config=openshift.local.config/master/admin.kubeconfig
错误:
error: error getting client: couldn't read version from server: Get https://10.0.0.x:8443/api: x509: cannot validate certificate for 10.0.0.x because it doesn't contain any IP SANs
附加信息
[root@ip-10-0-0-x centos]# kubectl version
Client Version: version.Info{Major:"", Minor:"", GitVersion:"v1.1.0-alpha.0-1605-g44c91b1", GitCommit:"44c91b1", GitTreeState:"not a git tree"}
Server Version: version.Info{Major:"", Minor:"", GitVersion:"v1.1.0-alpha.0-1605-g44c91b1", GitCommit:"44c91b1", GitTreeState:"not a git tree"}
[root@ip-10-0-0-191 centos]# oc get services
NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE
kubernetes 172.30.0.1 <none> 443/TCP <none> 1d
[root@ip-10-0-0-x centos]# kubernetes apiserver
F0924 12:15:13.674745 75545 server.go:223] No --service-cluster-ip-range specified
最佳答案
Ansible 安装程序应该 为您生成证书中具有正确 IP 的证书。您的本地 kubeconfig 文件(oadm 用于连接到服务器的文件)应该是由 Ansible 安装程序生成的——您能证实是这样吗?该文件位于 ~/.kube/config - 它是否指向 Ansible 安装程序使用的系统?您使用的是用于 OpenShift 的 IaaS、部署到本地机器还是 Vagrant?
关于ssl - 无法验证 ip 的证书,因为它不包含任何 IP SAN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32823237/