Kubernetes kube dns TLS证书验证
我使用的是KubernetesV1.5.2,并通过tls实现了api。问题是,在部署kube dns时,我在minion上收到如下消息:Kubernetes kube dns TLS证书验证,dns,kubernetes,Dns,Kubernetes,我使用的是KubernetesV1.5.2,并通过tls实现了api。问题是,在部署kube dns时,我在minion上收到如下消息: Mar 23 10:06:27 node01 journal: I0323 09:06:27.007407 1 dns.go:172] Ignoring error while waiting for service default/kubernetes: Get https://10.254.0.1:443/api/v1/namespace
Mar 23 10:06:27 node01 journal: I0323 09:06:27.007407 1 dns.go:172] Ignoring error while waiting for service default/kubernetes: Get https://10.254.0.1:443/api/v1/namespaces/default/services/kubernetes: x509: cannot validate certificate for 10.254.0.1 because it doesn't contain any IP SANs. Sleeping 1s before retrying.
我试过从另一个pod使用curl,但它在没有不安全的开关的情况下失败了,这是正常的
我知道10.254.0.1:443实际上提供来自主节点(端口6443上的api)(192.168.0.200)的证书,但如何解决它,10.254.0.1提供其有效证书
以下是clusterip api的描述:
[root@master01dns]#kubectl描述服务kubernetes
姓名:kubernetes
名称空间:默认值
标签:组件=apiserver
提供者=kubernetes
选择器:
类型:集群
IP:10.254.0.1
端口:https 443/TCP
端点:192.168.2.200:6443
会话关联:ClientIP
谢谢
Dubravko如果您使用的是IP服务,则您的API服务器证书必须将IP:10.254.0.1作为SAN 同样,如果您使用服务名
kubernetes.default
访问API,则证书必须使用此名称作为SAN
一个好的做法是请求至少具有以下SAN的证书:
- IP:(服务CIDR的第一个IP)
- DNS:kubernetes
- DNS:kubernetes.default
- DNS:kubernetes.default.svc
- DNS:kubernetes.default.svc.cluster.local
检查此util脚本以供参考:如果您正在使用服务IP,则您的API服务器证书必须将IP:10.254.0.1作为SAN 同样,如果您使用服务名
kubernetes.default
访问API,则证书必须使用此名称作为SAN
一个好的做法是请求至少具有以下SAN的证书:
- IP:(服务CIDR的第一个IP)
- DNS:kubernetes
- DNS:kubernetes.default
- DNS:kubernetes.default.svc
- DNS:kubernetes.default.svc.cluster.local
检查此util脚本以供参考:是否使用自定义SSL证书?您是如何生成它的?我正在使用SAN证书,如何生成DNS:master01、DNS:master01.lab.cs、IP地址:192.160.2.200、IP地址:10.254.0.1是的,我在问您是否自己生成了证书。您是否使用自定义SSL证书?您是如何生成的?我正在使用SAN证书,如何生成DNS:master01、DNS:master01.lab.cs、IP地址:192.160.2.200、IP地址:10.254.0.1是的,我在问您是否自己生成了证书。