kubernetes中coredns组件的高级用法
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,通过coredns实现内外流量分离场景旧业务固定了域名,无法通过内部service直接访问服务需要实现内部流量和外部流量自动拆分实现通过coredns的rewrite功能实现以上能力,如以下内部访问t
千家信息网最后更新 2026年11月01日kubernetes中coredns组件的高级用法
通过coredns实现内外流量分离
场景
- 旧业务固定了域名,无法通过内部service直接访问服务
- 需要实现内部流量和外部流量自动拆分
实现
- 通过coredns的rewrite功能实现以上能力,如以下内部访问
tenant.msa.chinamcloud.com域名时,会将流量转发到tenantapi.yunjiao.svc.cluster.local域名,实现内外域名访问一致。 - 部分版本nginx配置时候可能遇见无法访问的情况
[root@k8s-master1 ingress]# cat coredns.yamlapiVersion: v1data: Corefile: | .:53 { errors health rewrite name tenant.msa.chinamcloud.com tenantapi.yunjiao.svc.cluster.local rewrite name console.msa.chinamcloud.com console.yunjiao.svc.cluster.local rewrite name user.msa.chinamcloud.com userapi.yunjiao.svc.cluster.local rewrite name lims.msa.chinamcloud.com lims.yunjiao.svc.cluster.local rewrite name labapp.msa.chinamcloud.com limsapp.yunjiao.svc.cluster.local 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: ConfigMapmetadata: creationTimestamp: "2019-04-02T04:57:19Z" name: coredns namespace: kube-system resourceVersion: "197" selfLink: /api/v1/namespaces/kube-system/configmaps/coredns uid: cb686453-5503-11e9-8ea6-005056be93f5检查
[root@k8s-master1 ingress]# kubectl run -it --rm --restart=Never --image=infoblox/dnstools:latest dnstoolsIf you don't see a command prompt, try pressing enter.dnstools# ping tenant.msa.chinamcloud.comPING tenant.msa.chinamcloud.com (10.98.220.54): 56 data bytes^C--- tenant.msa.chinamcloud.com ping statistics ---4 packets transmitted, 0 packets received, 100% packet losskubernetes内部实现hosts功能
coredns配置参考文档
场景
- 通过kubernetes的coredns实现子域名解析
- 实现kubernetes内部 hosts绑定功能
实现
创建pod时声明hosts(不推荐)
[root@k8s-master-1 coredns]# kubectl explain pods.spec.hostAliasesKIND: PodVERSION: v1RESOURCE: hostAliases <[]Object>DESCRIPTION: HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods. HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file.FIELDS: hostnames <[]string> Hostnames for the above IP address. ip IP address of the host file entry.[root@k8s-master-1 coredns]# coredns的hosts特性声明
hosts 字段部分指明了三个域名的解析地址
[root@k8s-master-1 coredns]# cat coredns-cm.yamlapiVersion: v1data: Corefile: | .:53 { errors health hosts { 100.64.139.66 minio.chinamcloud.com 100.64.139.66 registry.chinamcloud.com 100.64.139.66 gitlab.chinamcloud.com fallthrough } 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: ConfigMapmetadata: name: coredns namespace: kube-system根据域名指定上游dns服务器
sobeydemo.com 字段指明了解析该域名的dns服务器地址
[root@k8s-master-1 coredns]# cat coredns-cm.yamlapiVersion: v1data: 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 } sobeydemo.com { forward . 100.64.134.250:53 }kind: ConfigMapmetadata: name: coredns namespace: kube-system检查
[root@k8s-master-1 coredns]# kubectl run -it --rm --restart=Never --image=infoblox/dnstools:latest dnstoolsIf you don't see a command prompt, try pressing enter.dnstools# host 0DJ01YUR.sobeydemo.com0DJ01YUR.sobeydemo.com has address 100.64.148.1160DJ01YUR.sobeydemo.com has IPv6 address 2002:6440:9474::6440:9474dnstools# host minio.chinamcloud.comminio.chinamcloud.com has address 100.64.139.66Host minio.chinamcloud.com not found: 3(NXDOMAIN)Host minio.chinamcloud.com not found: 3(NXDOMAIN)dnstools#
域名
流量
功能
服务
地址
场景
字段
明了
服务器
部分
检查
配置
一致
三个
业务
情况
文档
时候
版本
特性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技股
什么是科技互联网
北京路客互联网科技有限公司
厦门中拓互联网络科技有限公司
汇久创客互联网科技
互联网金融科技委员会
北京三清互联网科技
互联网科技博主是什么意思
互联网科技寓意
宝灵互联网科技有限公司
民营互联网公司国防科技
天津腾达互联网科技有限公司
徐州市互联网科技有限公司
互联网金融科技元年
银行科技岗属于互联网吗
抖集互联网科技技术咨询
普陀区互联网教育科技管理办法
长沙易易互联网科技有限公司
河南商务圈互联网科技有限公司
中国主要互联网科技公司
手磨咖啡
科技金融是不是互联网金融
科技互联网技术
互联网公司 科技公司
互联网科技与管理
厦门比较好的科技互联网公司
互联网公司高科技产品
浙南科技城互联网大厦招聘
半导体行业属于互联网高科技类吗
互联网科技和医药行业