k8s DNS 服务发现的一个坑
按照官当文档,以及大家的实践进行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 } ] } ] }