CoreDNS

Pod DNS in kubernetes

kubernetes会给每个Pod配置DNS,比如我的环境里nginx Pod的默认DNS配置:

$ kubectl exec -it  nginx-deployment-66b6c48dd5-tg5s6 -- /bin/bash
root@nginx-deployment-66b6c48dd5-tg5s6:/# cat /etc/resolv.conf
nameserver 10.96.0.10  # kube-dns Service ClusterIP 
search rsmis.svc.cluster.local svc.cluster.local cluster.local kubernetes.dev
options ndots:5

查看ClusterIP:

$ kubectl get svc -n kube-system
NAME       TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                  AGE
kube-dns   ClusterIP   10.96.0.10   <none>        53/UDP,53/TCP,9153/TCP   32d

在kubernetes里,Service对象和Deployment对象都通过Pod的Label筛选自己管理的Pod.

而在kube-system namespace中,Service kube-dns和 Deployment coredns管理的Pod是相同的。

# kubectl get svc kube-dns -n kube-system -o yaml
apiVersion: v1
kind: Service
metadata:
  name: kube-dns
  namespace: kube-system
spec:
  # ...
# kubectl get deployment coredns -n kube-system -o yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    k8s-app: kube-dns
  name: coredns
  namespace: kube-system
spec:
  replicas: 2
  selector:
    matchLabels:
      k8s-app: kube-dns
  # ...

也就是下面两个Pod:

# kubectl get pod -l k8s-app=kube-dns -n kube-system
NAME                       READY   STATUS    RESTARTS   AGE
coredns-59d64cd4d4-64fhc   1/1     Running   1          32d
coredns-59d64cd4d4-jb9n6   1/1     Running   1          32d

原文地址:http://www.cnblogs.com/oneslide/p/16880109.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性