定制k8s域名解析------CoreDns配置实验

这篇具有很好参考价值的文章主要介绍了定制k8s域名解析------CoreDns配置实验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

定制k8s域名解析------CoreDns配置实验

1. 需求

定制k8s域名解析------CoreDns配置实验,Linux,云原生,K8s,kubernetes,docker,linux
k8s集群内通过CoreDns互相解析service名.
同时pana.cn域为外部dns解析,需要通过指定dns服务器进行解析
再有3个服务器,需要使用A记录进行解析

2. K8s外DNS服务器

查看解析文件

tail -3 /var/named/pana.cn.zone 

解析内容

www     A       192.168.126.77
ftp     A       192.168.126.7
web     A       192.168.126.17

测试

dig www.pana.cn @192.168.126.77

定制k8s域名解析------CoreDns配置实验,Linux,云原生,K8s,kubernetes,docker,linux

3. 部署测试容器

3.1 部署测试容器

admin-deploy.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: admin-deployment
  labels:
    app: admin
spec:
  replicas: 1
  selector:
    matchLabels:
      app: admin
  template:
    metadata:
      labels:
        app: admin
    spec:
      containers:
      - name: admin
        image: qiuqin/admin_tools:latest
        imagePullPolicy: IfNotPresent

部署容器

kubectl apply -f admin-deploy.yaml 

定制k8s域名解析------CoreDns配置实验,Linux,云原生,K8s,kubernetes,docker,linux

3.2 测试解析

显然现在没有办法解析到集群外dns中的内容

kubectl exec -it admin-deployment-59b4d7746c-cv967 dig www.pana.cn

定制k8s域名解析------CoreDns配置实验,Linux,云原生,K8s,kubernetes,docker,linux

4. CoreDns配置

4.1 配置coredns configmap

kubectl edit cm -n kube-system coredns 

在Corefile下追加以下内容

    pana.cn:53 {
        errors
        cache 30
        forward . 192.168.126.77
    }

定制k8s域名解析------CoreDns配置实验,Linux,云原生,K8s,kubernetes,docker,linux
将coredns相关pod删除重建

kubectl get pods -n kube-system
kubectl delete pod coredns-857d9ff4c9-2vwj8 coredns-857d9ff4c9-hwr2n -n kube-system 
kubectl get pods -n kube-system

确认pod已更新
定制k8s域名解析------CoreDns配置实验,Linux,云原生,K8s,kubernetes,docker,linux

4.2 测试解析

可以看到现在已经可以解析到k8s集群外dns服务器中的记录了.

kubectl exec -it admin-deployment-59b4d7746c-cv967 dig www.pana.cn
kubectl exec -it admin-deployment-59b4d7746c-cv967 dig ftp.pana.cn

定制k8s域名解析------CoreDns配置实验,Linux,云原生,K8s,kubernetes,docker,linux

5. 解析单条记录

5.1 CoreDns configmap配置

测试一条记录test.aa.cc,显然现在是没法解析的

kubectl exec -it admin-deployment-59b4d7746c-cv967 dig test.aa.cc

定制k8s域名解析------CoreDns配置实验,Linux,云原生,K8s,kubernetes,docker,linux
一样修改coredns的configmap
加入hosts {} 内容,注意位置要在.:53{}中

apiVersion: v1
data:
  Corefile: |
    pana.cn:53 {
        errors
        cache 30
        forward . 192.168.126.77
    }
    .:53 {
        errors
        health {
           lameduck 5s
        }
        ready
        kubernetes cluster.local in-addr.arpa ip6.arpa {
           pods insecure
           fallthrough in-addr.arpa ip6.arpa
           ttl 30
        }
        hosts {
            10.195.1.8 test.aa.cc
            192.168.31.7 aa.bb.tt
            172.31.125.4 qiu.qin.com
        }
        prometheus :9153
        forward . /etc/resolv.conf {
           max_concurrent 1000
        }
        cache 30
        loop
        reload
        loadbalance
    }
kind: ConfigMap
metadata:
  creationTimestamp: "2024-03-10T12:21:53Z"
  name: coredns
  namespace: kube-system
  resourceVersion: "9546954"
  uid: 1fa9a51c-0c22-4d6d-9d29-00a0d147d8ed

删除pod使得coredns配置生效(生产环境切记要在低峰期执行)

kubectl delete pod -n kube-system coredns-857d9ff4c9-lnsg8 coredns-857d9ff4c9-4bnx5 

5.2 测试hosts

依次解析我们自定义的3个域名,获得了我们自定义的地址返回

kubectl exec -it admin-deployment-59b4d7746c-cv967 dig qiu.qin.com
kubectl exec -it admin-deployment-59b4d7746c-cv967 dig test.aa.cc
kubectl exec -it admin-deployment-59b4d7746c-cv967 dig aa.bb.tt

定制k8s域名解析------CoreDns配置实验,Linux,云原生,K8s,kubernetes,docker,linux
解析pana.cn域也是正常的
定制k8s域名解析------CoreDns配置实验,Linux,云原生,K8s,kubernetes,docker,linux
至此定制k8s域名解析------CoreDns配置实验完成文章来源地址https://www.toymoban.com/news/detail-854956.html

到了这里,关于定制k8s域名解析------CoreDns配置实验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • k8s kubelet coredns ubuntu修改dns配置文件读取路径

    coredns 服务默认使用节点上的dns配置,由于在 Ubuntu18 及以上版本,默认是启用 systemd-resolved 服务的,且配置nameserver配置文件默认为 /run/systemd/resolve/resolv.conf , 且kubelet默认的dns文件读取也是该文件。因不习惯使用该服务来管理dns配置,所以需要修改kubelet的默认读取dns的文件

    2024年02月15日
    浏览(11)
  • k8s内部域名解析

    1、创建busybox容器,检查域名解析 2、检查域名解析服务 同命名空间解析,可以省略命名空间后缀? 3、通过标签查询到后端的pod信息 [root@master01 demo]# kubectl get pod -l k8s-app=kube-dns -n kube-system -o wide #通过标签查到主机信息 4、跨命名空间解析,需要添加命名空间。

    2024年02月12日
    浏览(5)
  • k8s集群中service的域名解析、pod的域名解析

    在k8s集群中,service和pod都可以通过域名的形式进行相互通信,换句话说,在k8s集群内,通过service和pod的域名,可以直接访问内部应用,不必在通过service ip地址进行通信,一般的,我们创建service的时候不建议指定service的clusterIP,而是让k8s自动为service分配一个clusterIP,这样,

    2024年02月01日
    浏览(7)
  • k8s 系列之 CoreDNS 解读

    k8s 系列之 CoreDNS 解读

    kuberntes 中的 pod 基于 service 域名解析后,再负载均衡分发到 service 后端的各个 pod 服务中,如果没有 DNS 解析,则无法查到各个服务对应的 service 服务 基于环境变量的方式 基于内部域名的方式 DNS策略,在Pod,Deployment RC等资源设置 dnsPolicy None 用于想要自定义 DNS 配置的场景,

    2024年02月06日
    浏览(6)
  • k8s1.20集群域名与集群ip解析详解及使用案例

    目录 一.k8s中的域名解析浅析 1.单机 2.k8s的容器中 二.k8s不同版本对应的dns域名服务组件

    2024年02月09日
    浏览(10)
  • k8s配置hosts域名的几种方式

    很多时候, pod 里面的容器服务会使用到了内网的域名进行访问,我们会很自然的想到去配置 /etc/hosts 文件。 其实有几种方式可以去配置hosts的,本文来讲讲。 参考例子:https://www.jianshu.com/p/3e6564edbe74 我们可以在 Deployment 资源类型的文件里配置 hostAlias 标签,例子如下: 参考

    2024年02月16日
    浏览(9)
  • 19-k8s的附加组件-coreDNS组件

    19-k8s的附加组件-coreDNS组件

            coreDNS组件:就是将svc资源的名称解析成ClusterIP;         kubeadm部署的k8s集群自带coreDNS组件,二进制部署需要自己手动部署; [root@k8s231 ~]# kubectl get pods -o wide -A     k8s系统中安装了coreDNS组件后,会有一个coreDNS开头的pod资源;         查看kubelet的配置文件中,可以

    2024年02月21日
    浏览(7)
  • 记一次Redisson连接k8s环境Redis报UnknownHostException-域名解析错误问题解决

    记一次Redisson连接k8s环境Redis报UnknownHostException-域名解析错误问题解决

    一直听说Redisson分布式锁好用,终于在项目上使用了!在本地测试完毕,一上测试环境,运维就反馈服务没起来,拉日志一看,是以下报错 主要报错信息是 于是乎,上github看了一下,发现这还是一个比较热门dns解析失败的问题,好多人都遇到了同样的问题。想着开源项目,这

    2024年02月04日
    浏览(10)
  • 2022学习0616【K8S coredns日志报错】

    2022学习0616【K8S coredns日志报错】

    之前搭建K8S master+worker节点时一直没在意这个问题, 两个coredns日志一直报错,不过派到worker上的app都运行正常,收扩容也正常,感觉通信没问题,就没管。 不过最近在每个节点都部署了filebeat的daemonset,用来收集nginx的日志,发送过程中发现master发送正常,可是worker上的fil

    2024年02月16日
    浏览(10)
  • k8s的coreDNS添加自定义hosts

    k8s的coreDNS添加自定义hosts

    1.ack的hosts不会继承宿主机的hosts,而工作中有一个域名默认是走内网解析,内网被限制访问了,只能在coreDNS中加一个hosts解析域名 2.编辑configmap (coredns) kubectl edit configmap -n kube-system coredns 增加hosts节点 3.使用命令行添加过程中一直报错无法添加,后来通过图形界面添加了

    2024年04月12日
    浏览(7)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包