配置coredns解析公网域名
#查看当前的配置kubectl get configmap coredns-n kube-system -o yaml#以下是配置项apiVersion: v1data:Corefile: |.:53 {errorshealthkubernetes cluster.local in-addr.arpa ip6.arpa {pods insecureupstream
·
#查看当前的配置
kubectl get configmap coredns -n kube-system -o yaml
#以下是配置项
apiVersion: v1
data:
Corefile: |
.:53 {
errors
health
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
upstream
fallthrough in-addr.arpa ip6.arpa
}
prometheus :9153
forward . /etc/resolv.conf
cache 30
loop
reload
loadbalance
}
kind: ConfigMap
metadata:
creationTimestamp: "2019-12-20T06:50:24Z"
name: coredns
namespace: kube-system
resourceVersion: "188"
selfLink: /api/v1/namespaces/kube-system/configmaps/coredns
uid: ffbf8850-22f4-11ea-a5a3-5254008afee6
- error: 错误记录到stdout
- health:CoreDNS的运行状况报告为http:// localhost:8080 / health
- kubernetes:CoreDNS将根据Kubernetes服务和pod的IP回复DNS查询
- prometheus:CoreDNS的度量标准可以在http://localhost:9153/Prometheus格式的指标中找到
- proxy:任何不在Kubernetes集群域内的查询都将转发到预定义的解析器(/etc/resolv.conf)
- cache:启用前端缓存
- loop:检测简单的转发循环,如果找到循环则停止CoreDNS进程
- reload:允许自动重新加载已更改的Corefile。编辑ConfigMap配置后,请等待两分钟以使更改生效
- loadbalance:这是一个循环DNS负载均衡器,可以在答案中随机化A,AAAA和MX记录的顺序
解决办法
- 可以将 forward . /etc/resolv.conf 改成 forward . 192.168.1.1(此处为dns域名)
- 第二种 增加corefile配置 跟第一种类似 这个相当于指定对应的域名解析
baidu.com:53 {
errors
cache 30
proxy . 10.150.0.1
}
- 第三种 在.:53中增加hosts配置
# 省略了”FILE“,"ZONES"等字段
hosts {
# 1个hostname映射1个ip;
# 虽然格式"172.30.200.21 172.30.200.22 172.30.200.23 kubenode1"可以正常下发configmap资源,但只有第一个ip生效
172.30.200.21 kubenode1
172.30.200.22 kubenode2
172.30.200.23 kubenode3
fallthrough
}
- 第四种 修改物理机上/etc/resolv.conf 并重启coredns

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)