• 9.coredns组件详解


    1.DNS是什么?

    DNS全称是Domain Name System:域名系统,是整个互联网的电话簿,它能够将可被人理解的域名翻译成可被机器理解IP地址,使得互联网的使用者不再需要直接接触很难阅读和理解的IP地址。域名系统在现在的互联网中非常重要,因为服务器的 IP 地址可能会经常变动,如果没有了 DNS,那么可能 IP 地址一旦发生了更改,当前服务器的客户端就没有办法连接到目标的服务器了,如果我们为 IP 地址提供一个『别名』并在其发生变动时修改别名和 IP 地址的关系,那么我们就可以保证集群对外提供的服务能够相对稳定地被其他客户端访问。DNS 其实就是一个分布式的树状命名系统,它就像一个去中心化的分布式数据库,存储着从域名到 IP 地址的映射。

    2.CoreDNS是什么?

    CoreDNS 其实就是一个 DNS 服务,而 DNS 作为一种常见的服务发现手段,所以很多开源项目以及工程师都会使用 CoreDNS 为集群提供服务发现的功能,Kubernetes 就在集群中使用 CoreDNS 解决服务发现的问题。 作为一个加入 CNCF(Cloud Native Computing Foundation)的服务, CoreDNS 的实现非常简单。

    3.验证coredns

    dig.yaml

    apiVersion: v1
    kind: Pod
    metadata:
      name: dig
      namespace: default
    spec:
      containers:
      - name: dig
        image:  /dig:latest
        command:
          - sleep
          - "3600"
        imagePullPolicy: IfNotPresent
        restartPolicy: Always
    

    更新资源清单文件

    [root@master1 ~]# kubectl apply -f dig.yaml
    pod/dig configured
    

    查看默认名称空间的kubernetes服务

    [root@master1 ~]# kubectl get svc | grep kubernetes
    kubernetes          ClusterIP      10.96.0.1        443/TCP        5d13h
    

    解析dns,如有以下返回说明dns安装成功

    [root@master1 ~]# kubectl exec -it dig -- nslookup kubernetes
    Server:10.96.0.10
    Address:10.96.0.10#53
    Name:kubernetes.default.svc.cluster.local
    Address: 10.96.0.1
    

    kubernetes.default.svc.cluster.local
    服务名.名称空间.默认后缀
    在k8s中创建service之后,service默认的FQDN是..svc.cluster.local,那么k8s集群内部的服务就可以通过FQDN访问

  • 相关阅读:
    买二手房的税费详细版本
    实时推荐部分代码
    卡片推荐部分代码
    详解一下网络广告cpc、cpm、cpl、cpa、cps、cpr的计费方法是什么
    吴军硅谷来信《三板斧破四困境》
    JS实现的在线推荐逻辑
    mongo数据库时间存储的问题
    crontab 定时的陷阱
    【剑指offer】栈的压入、弹出序列
    【剑指offer】包含min函数的栈
  • 原文地址:https://www.cnblogs.com/forlive/p/15962019.html
Copyright © 2020-2023  润新知