我正在开发一组微服务,需要保护各个服务之间的通信(使用https + TLS)。
服务部署使用Service对象,并分配了一个Cluster IP。当创建服务时,kube-dns会自动创建格式为*.cluster.local的DNS记录。问题在于,我所在的机构不允许我创建包含“local”的SN TLS证书。因此,我为服务创建的任何证书都将因SN与域名不匹配而无法通过证书验证。我想做的是向kube-dns添加一个CNAME,使用我的自定义域名(例如servicename.cluster-internal.com),返回*.cluster.local域名,然后解析到正确的ClusterIP。我将使用设置为我的自定义域的SN创建证书,这样当服务尝试握手并建立安全连接时,证书验证将不会失败。
我可以接受其他方法来完成这个任务,但我更愿意不依赖其他类型的DNS提供商或编写自己的DNS服务。
服务部署使用Service对象,并分配了一个Cluster IP。当创建服务时,kube-dns会自动创建格式为*.cluster.local的DNS记录。问题在于,我所在的机构不允许我创建包含“local”的SN TLS证书。因此,我为服务创建的任何证书都将因SN与域名不匹配而无法通过证书验证。我想做的是向kube-dns添加一个CNAME,使用我的自定义域名(例如servicename.cluster-internal.com),返回*.cluster.local域名,然后解析到正确的ClusterIP。我将使用设置为我的自定义域的SN创建证书,这样当服务尝试握手并建立安全连接时,证书验证将不会失败。
我可以接受其他方法来完成这个任务,但我更愿意不依赖其他类型的DNS提供商或编写自己的DNS服务。