kubernetes中coredns组件的高级用法
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,通过coredns实现内外流量分离场景旧业务固定了域名,无法通过内部service直接访问服务需要实现内部流量和外部流量自动拆分实现通过coredns的rewrite功能实现以上能力,如以下内部访问t
千家信息网最后更新 2025年02月02日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 loss
kubernetes内部实现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安全错误
数据库的锁怎样保障安全
用u8登入数据库
网络技术所用到的单词
浙江电脑软件开发需要学什么
美国服务器国内网监管吗
服务器选择什么虚拟机
为什么说数学好学软件开发
战地4无法加入服务器
尊云服务器好吗
linux和数据库关系图
法制日报评论网络安全周
网络安全宣传日照片
海康威视的服务器怎么设置
通过wps访问sas数据库
渠道服务器
审理软件开发合同纠纷
微软把服务器放海里怎么充电
精英网络技术服务原则
增加中继服务器
一张底图数据库技术标
数据库加密的主要方式
网络安全与国家安全
网络安全质量管理制度
美国服务器国内网监管吗
珠海模具公司erp软件开发
网络安全周标准
山西居家智慧养老软件开发
中化能源互联网科技姜新宇
湖大网络安全系
数据库设置自动创建时间
天津filecoin服务器