定制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日
    浏览(46)
  • 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日
    浏览(29)
  • k8s集群中service的域名解析、pod的域名解析

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

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

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

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

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

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

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

    2024年02月16日
    浏览(37)
  • 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日
    浏览(38)
  • 记一次Redisson连接k8s环境Redis报UnknownHostException-域名解析错误问题解决

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

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

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

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

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

    2024年02月16日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包