惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
PCI Perspectives
PCI Perspectives
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V2EX - 技术
V2EX - 技术
Google DeepMind News
Google DeepMind News
量子位
博客园_首页
S
SegmentFault 最新的问题
S
Secure Thoughts
F
Full Disclosure
H
Hacker News: Front Page
博客园 - 三生石上(FineUI控件)
U
Unit 42
H
Heimdal Security Blog
N
News and Events Feed by Topic
A
About on SuperTechFans
C
CERT Recently Published Vulnerability Notes
Cyberwarzone
Cyberwarzone
Help Net Security
Help Net Security
The Hacker News
The Hacker News
L
LINUX DO - 最新话题
Application and Cybersecurity Blog
Application and Cybersecurity Blog
罗磊的独立博客
N
News | PayPal Newsroom
Spread Privacy
Spread Privacy
C
Cisco Blogs
C
CXSECURITY Database RSS Feed - CXSecurity.com
云风的 BLOG
云风的 BLOG
A
Arctic Wolf
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Simon Willison's Weblog
Simon Willison's Weblog
B
Blog
人人都是产品经理
人人都是产品经理
TaoSecurity Blog
TaoSecurity Blog
博客园 - 【当耐特】
C
Cyber Attacks, Cyber Crime and Cyber Security
P
Proofpoint News Feed
Hugging Face - Blog
Hugging Face - Blog
I
InfoQ
D
DataBreaches.Net
大猫的无限游戏
大猫的无限游戏
Apple Machine Learning Research
Apple Machine Learning Research
L
LINUX DO - 热门话题
Google Online Security Blog
Google Online Security Blog
V
Visual Studio Blog
V
Vulnerabilities – Threatpost
Know Your Adversary
Know Your Adversary
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
B
Blog RSS Feed

Discovery on CoreDNS: DNS and Service Discovery

CoreDNS and Apache APISIX open new doors for Service Discovery? Cluster DNS: CoreDNS vs Kube-DNS Scaling CoreDNS in Kubernetes Clusters Deploying Kubernetes with CoreDNS using kubeadm How Queries Are Processed in CoreDNS Custom DNS Entries For Kubernetes CoreDNS for Minikube Why CNCF for CoreDNS? CoreDNS for Kubernetes Service Discovery, Take 2 CoreDNS for Kubernetes Service Discovery
Migration from kube-dns to CoreDNS
sandeep · 2018-05-22 · via Discovery on CoreDNS: DNS and Service Discovery

CoreDNS is currently a Beta feature in Kubernetes and on course to being graduated to General Availability (GA) for Kubernetes 1.11. This means that CoreDNS will be available as a standard in Kubernetes via the installation toolkits such as kubeadm, kube-up, minikube and kops.

This document will guide you to migrating the DNS service from CoreDNS to kube-dns when using the various tools available to spin up a Kubernetes cluster.

Installing CoreDNS via Kubeadm

There is an extensive guide on how to install CoreDNS instead of kube-dns via Kubeadm available here. From Kubernetes v1.10, CoreDNS supports the translation of the kube-dns ConfigMap to CoreDNS ConfigMap. That is, if you had configured stubdomains, upstreamnameservers and federation via the kube-dns ConfigMap, it will now be translated automatically to the equivalent CoreDNS ConfigMap during when choosing to install CoreDNS using kubeadm upgrade.

Stubdomain and upstreamnameserver in kube-dns translates to the proxy in CoreDNS. The federation in kube-dns has an equivalent federation in CoreDNS.

Example ConfigMap of kube-dns.

apiVersion: v1
data:
  federations: |
    {"foo" : "foo.feddomain.com"}
  stubDomains: |
    {"abc.com" : ["1.2.3.4"], "my.cluster.local" : ["2.3.4.5"]}
  upstreamNameservers: |
    ["8.8.8.8", "8.8.4.4"]
kind: ConfigMap
metadata:
  creationTimestamp: 2018-01-22T20:21:56Z
  name: kube-dns
  namespace: kube-system

CoreDNS Corefile after translation.

   .:53 {
        errors
        health
        kubernetes cluster.local  in-addr.arpa ip6.arpa {
           upstream  8.8.8.8 8.8.4.4
           pods insecure
           fallthrough in-addr.arpa ip6.arpa
        }
        federation cluster.local {
           foo foo.feddomain.com
        }
        prometheus :9153
        proxy .  8.8.8.8 8.8.4.4
        cache 30
    }
    abc.com:53 {
        errors
        cache 30
        proxy . 1.2.3.4
    }
    my.cluster.local:53 {
        errors
        cache 30
        proxy . 2.3.4.5
    }

Installing CoreDNS via Minikube.

CoreDNS is available in the addon manager and is disabled by default.

$ minikube addons list
- kube-dns: enabled
- registry: disabled
- registry-creds: disabled
- freshpod: disabled
- addon-manager: enabled
- dashboard: enabled
- coredns: disabled
- heapster: disabled
- efk: disabled
- ingress: disabled
- default-storageclass: enabled
- storage-provisioner: enabled

To enable CoreDNS, run the following command:

NOTE: Be sure to disable kube-dns after enabling CoreDNS. Otherwise, if both CoreDNS and kube-dns are running, queries may randomly hit either CoreDNS or kube-dns.

$ minikube addons enable coredns
coredns was successfully enabled

CoreDNS in kube-up

Kube-up is another way to start a Kubernetes cluster, now mostly used for deploying Kubernetes in GCE for end-to-end (e2e) testing purposes. The environment variable ENABLE_CLUSTER_DNS (default=true) is required to install DNS service. For CoreDNS can be installed as the default DNS service, the environment variable CLUSTER_DNS_CORE_DNS needs to be set to true.

CoreDNS in Kops

Currently, Kops v1.10 is set to include CoreDNS as an option to be installed instead of kube-dns. In order to install CoreDNS in place of kube-dns, we need to specify the provider as CoreDNS in the cluster yaml configuration for Kops.

spec:
  kubeDNS:
    provider: CoreDNS

This will install CoreDNS instead of kube-dns.

Installing CoreDNS via other methods

For users keen to install CoreDNS in place of kube-dns but who are not using kubeadm, minikube, kube-up, or kops, there are instructions in the CoreDNS deployment repository, which will help you to migrate from kube-dns to CoreDNS. Users should delete the kube-dns deployment after deploying CoreDNS. Otherwise, if both CoreDNS and kube-dns are running, queries may randomly hit either CoreDNS or kube-dns.