k8s DNS 服务发现的一个坑

时间:2024-06-11 12:33:44

按照官当文档,以及大家的实践进行k8s dns 服务发现搭建还是比较简单的,但是会有一个因为系统默认dns 配置造成的一个问题

1. linux  默认dns 配置在 /etc/resolv.conf

一般来只会有几个简单的配置信息

比如:  nameserver XXXXXXXXX

但是今天在阿里云服务器上进行按照的时候出现了进行dns 解析测试的pod 能够解析,但是 自己创建的pod 不能使用

很是困惑,

阿里云dns 的配置如下:

options timeout:1 attempts:1 rotate
nameserver XXXXXX
nameserver XXXXXX

问题就出在 optinons 上注释即可

2. 解决之后每个pod 直接可以进行dns service 发现使用

备注: 一个mysql 后端暴露service的处理,方便进行管理

service

{
"kind": "Service",
"apiVersion": "v1",
"metadata": {
"name": "my-service"
},
"spec": {
"ports": [
{
"protocol": "TCP",
"port": 3306,
"targetPort": 3306
}
]
}
}

  

 endpoint

{
"kind": "Endpoints",
"apiVersion": "v1",
"metadata": {
"name": "my-service"
},
"subsets": [
{
"addresses": [
{ "ip": "XXXXXXXX" }
],
"ports": [
{ "port": 3306 }
]
}
]
}