当创建一个Service时,Kubernetes为其创建一个对应的DNS条目。该DNS记录的格式为:<service-name>.<namespace-name>.svc.cluster.local
。也就是说,如果在容器中只使用<service-name>
,其DNS将被解析到同名名称下得Service。
这个特点在多环境的情况下非常有用,例如将开发环境、测试环境、生产环境部署到不同的名称空间下,应用程序只需要使用<service-name>
即可进行服务发现,无需为不同的环境修改配置。如果需要跨名称空间访问服务,则必须使用完整的域名。