kubernetes中coredns组件的高级用法
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,通过coredns实现内外流量分离场景旧业务固定了域名,无法通过内部service直接访问服务需要实现内部流量和外部流量自动拆分实现通过coredns的rewrite功能实现以上能力,如以下内部访问t
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
数据库安全市场分析
深圳天思软件开发有限公司
上海康柏特网络技术有限公司
网络安全要树立正确的
2018年网络安全共计事件
为了网络安全请一键登录
漳州财务软件开发费用
影响网络安全的常见因素有
网络通信服务器
黄浦区简单软件开发服务价格
苏州安卓软件开发价钱
千盈服务器
梅州数字软件开发批发价格
数据库表设置自动递增
删除数据库时提示需要管理员权限
数据库访问管理系统
三峡工行网络安全知识
宁波海曙区财务软件开发价格
带外服务器
云主机数据库受限
以网络安全为主题的轻音乐
继续教育网络安全知识读书笔记
数据库如何删除表格
服务器显卡和家用pc一样吗
国产数据库如何惊险逆袭
QGIS没有数据库菜单
速达数据库密码找回
软件开发术语 保护
包头老男孩互联网科技有限公司
广东专业的企业管理软件开发教程