(转)CoreDNS介绍
转:https://www.colabug.com/4171614.html
本文介绍 CoreDNS 相关配置以及验证方法,实验环境为 Kubernetes 1.11,搭建方法参考 kubeadm安装kubernetes V1.11.1 集群
busybox 的槽点
开始之前先吐槽一下busybox中的 nslookup 命令。这个命令应该是实现的不是很完全,导致我在测试DNS的成功,得到了错误的信息。先来看一下
[root@devops-101 ~]# kubectl run busybox1 --rm -it --image=docker.io/busybox /bin/sh
If you don't see a command prompt, try pressing enter.
/ # nslookup kubernetes.default
Server: 172.17.0.10
Address: 172.17.0.10:53 ** server can't find kubernetes.default: NXDOMAIN *** Can't find kubernetes.default: No answer
看起来像是DNS没有响应,慢着,使用带nslookup的alphine试一下。
[root@devops-101 ~]# kubectl run dig --rm -it --image=docker.io/azukiapp/dig /bin/sh
If you don't see a command prompt, try pressing enter.
/ # dig @172.17.0.10 kubernetes.default.svc.cluster.local +noall +answer ; <> DiG 9.10.3-P3 <> @172.17.0.10 kubernetes.default.svc.cluster.local +noall +answer
; (1 server found)
;; global options: +cmd
kubernetes.default.svc.cluster.local. 5 IN A 172.17.0.1
/ # nslookup kubernetes.default
Server: 172.17.0.10
Address: 172.17.0.10#53 Name: kubernetes.default.svc.cluster.local
Address: 172.17.0.1 / # nslookup www.baidu.com
Server: 172.17.0.10
Address: 172.17.0.10#53 Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 220.181.112.244
Name: www.a.shifen.com
Address: 220.181.111.188 / # nslookup kubernetes.default
Server: 172.17.0.10
Address: 172.17.0.10#53 Name: kubernetes.default.svc.cluster.local
Address: 172.17.0.1
好好的啊!就是这个原因,busybox坑了我好几天。
CoreDNS
CoreDNS在Kubernetes1.11版本已经做为GA功能释放,成为Kubernetes默认的DNS服务替代了Ku be-DNS,目前是kubeadm、kube-up、minikube和kops安装工具的默认选项。
Stubdomain and upstreamnameserver in kube-dns translates to the proxy in CoreDNS. The federation in kube-dns has an equivalent federation in CoreDNS.
配置文件
使用kubeadm安装CoreDNS,会使用ConfigMap做为配置文件。这份配置文件,会默认使用宿主机的DNS服务器地址。
[root@devops-101 ~]# kubectl -n kube-system get configmap coredns -oyaml
apiVersion: v1
data:
Corefile: |
.:53 {
errors
health
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
upstream
fallthrough in-addr.arpa ip6.arpa
}
prometheus :9153
proxy . /etc/resolv.conf
cache 30
reload
}
kind: ConfigMap
metadata:
creationTimestamp: 2018-08-20T07:01:55Z
name: coredns
namespace: kube-system
resourceVersion: "193"
selfLink: /api/v1/namespaces/kube-system/configmaps/coredns
uid: ec72baa4-a446-11e8-ac92-080027b7c4e9
配置文件各项目的含义
名称|含义
---|---
errors|错误会被记录到标准输出
health|可以通过http://localhost:8080/health查看健康状况
kubernetes|根据服务的IP响应DNS查询请求,kubeadm的 Cluster Domain 和 Service CIDR 默认为 cluster.local 和 10.95.0.0/12 ,可以通过 --service-dns-domain 和 --service-cidr 参数配置。
prometheus|可以通过http://localhost:9153/metrics获取prometheus格式的监控数据
proxy|本地无法解析后,向上级地址进行查询,默认使用宿主机的 /etc/resolv.conf 配置
cache|缓存时间
检查COreDNS运行状况
检查Pod状态
[root@devops-101 ~]# kubectl -n kube-system get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
coredns-78fcdf6894-52gp9 1/1 Running 4 4h 172.16.0.11 devops-101
coredns-78fcdf6894-mkvqn 1/1 Running 4 4h 172.16.0.10 devops-101
etcd-devops-101 1/1 Running 4 3h 192.168.0.101 devops-101
检查部署
[root@devops-101 ~]# kubectl -n kube-system get deployments
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
coredns 2 2 2 2 4h
验证可以采用本文刚开始部分提到的方法。
(转)CoreDNS介绍的更多相关文章
- CoreDNS介绍
本文介绍 CoreDNS 相关配置以及验证方法,实验环境为 Kubernetes 1.11,搭建方法参考kubeadm安装kubernetes V1.11.1 集群 busybox 的槽点 开始之前先 ...
- 【手打】coredns单台使用
目录: coredns介绍 coredns安装 corendns配置 coredns介绍 CoreDNS 其实就是一个 DNS 服务,而 DNS 作为一种常见的服务发现手段,所以很多开源项目以及工程师 ...
- Consul学习笔记(详细)
常见的注册中心: Netflix Eureka Alibaba Nacos HashiCorp Consul Apache Zookeeper CoreOS Etcd CNCF CoreDNS 介绍 ...
- Kubernetes系列之Coredns and Dashboard介绍篇
本次系列使用的所需部署包版本都使用的目前最新的或最新稳定版,安装包地址请到公众号内回复[K8s实战]获取 介绍 项目地址:https://github.com/coredns/coredns Core ...
- kubernetes之监控Prometheus实战--prometheus介绍--获取监控(一)
Prometheus介绍 Prometheus是一个最初在SoundCloud上构建的开源监控系统 .它现在是一个独立的开源项目,为了强调这一点,并说明项目的治理结构,Prometheus 于2016 ...
- Kubernetes系列之Helm介绍篇
本次系列使用的所需部署包版本都使用的目前最新的或最新稳定版,安装包地址请到公众号内回复[K8s实战]获取 介绍 Helm 是 Deis 开发的一个用于 Kubernetes 应用的包管理工具,主要用来 ...
- 二进制搭建kubernetes多master集群【开篇、集群环境和功能介绍】
本文主要说明kubernetes集群使用组建的版本和功能介绍.. 一.组件版本 Kubernetes 1.12.3 Docker 18.06.1-ce Etcd 3.3.10 Flanneld 0.1 ...
- Elastic Beats介绍
需要学习的地方:概念,用法,模块使用 Elastic Beats介绍 Elastic Stack传统上由三个主要组件(Elasticsearch,Logstash和Kibana)组成,早已脱离了这种组 ...
- kubernetes之coredns玩法
一.概述 新版本的kubernetes默认使用了coredns,这里就不赘述了.直达车:https://coredns.io/.https://kubernetes.io/docs/tasks/adm ...
随机推荐
- 利用python+tkinter做一个简单的智能电视遥控器
要通过python实现遥控器功能分两步: 第一步:开发图形化界面,以暴风TV的遥控器按钮为例 第二步:使PC端给电视发送相应指令(此步骤需要打开电视的adb开关) 现在就开始第一步操作实现遥控器功能, ...
- 2 Vue.js基础
1 简易计算器 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- 应用安全 - 安全设备 - WAF原理/检测/绕过
原理 基于Cookie值 Citrix Netscaler(2013年使用广泛) “Citrix Netscaler”会在HTTP返回头部Cookie位置加入“ns_af”的值,可以以此判断为Citr ...
- g50打开无线设置 fn+f7
- SpringBoot官方文档学习(二)使用Spring Boot构建系统
强烈建议您选择一个支持依赖关系管理并且可以使用发布到“ Maven Central”仓库的构建系统.我们建议您选择Maven或Gradle.其他构建系统(例如,Ant)也可以和Spring Boot一 ...
- 【CF321E】+【bzoj5311】贞鱼
决策单调性 + WQS二分 我们首先列出转移式: \(f[i]=Min(f[j]+Sum[j+1 , i])\) 首先我们考虑如果让一段区间的小鱼在一起的代价怎么预处理,我们可以对于一个上三角矩阵求个 ...
- python学习三十九天filter() map()用法及lambda搭配使用
python函数中的 filter() map() 前者是过滤的,后者是映射关系,需要与函数搭配使用,这时候匿名函数派上用场了,用简单的表达式就可以显示比较复杂的功能 1,python函数 filte ...
- JavaScript深入之从原型到原型链(转载)
构造函数创建对象 我们先使用构造函数创建一个对象: function Person() { } var person = new Person(); person.name = 'Kevin'; co ...
- 学Python的第四天
第四天啦,今天依旧代码少的啃树皮.... 但是作业留的有了幼儿园的水准!!!让小编我看到了希望.... #!/usr/bin/env python # -*- coding:utf8 -*- impo ...
- js函数总结
最近要经常写一些Js代码,总看到同事能使用js高级函数写出比较简洁的js代码,挺羡慕的,于是就花了一些专门时间来学习. forEach.map.reduce 我就不喜欢一上来就给出语法来,先来一个例子 ...