目前的K8S环境用 CoreDNS 来支持的,准备环境的内容应该都没有问题;
tc.clusterDomain字段没有设置,tc配置和quickstart里应该是完全一致的。
我现在发现了问题所在,在manager/member/template.go 文件的pd启动脚本 pdStartScriptTpl 中(刚刚github更新之后是在 tidb-operator/charts/tidb-cluster/templates/scripts/_start_pd.sh.tpl 文件中)这一行:
POD_NAME=${POD_NAME:-$HOSTNAME}
如果kubelet 没有给容器注入 $POD_NAME,$HOSTNAME 得到的值包含的不仅仅是容器的 hostname,后面还跟了许多svc,namespace等,导致 domain结果不正确。这行应该改为:
POD_NAME=${POD_NAME:-$(hostname)}
目前我这里修改后结果正确了。