配置说明

官方有使用etcd插件的详细说明,地址如下:https://coredns.io/plugins/etcd/

需要特别说明的是,目前coredns只支持etcd v2版本的api

这里直接摘出用法示例:

etcd [ZONES...] {
stubzones
fallthrough [ZONES...]
path PATH
endpoint ENDPOINT...
upstream [ADDRESS...]
tls CERT KEY CACERT
}

常用参数说明:

  • ZONES :经过授权的区域,可以为空
  • stubzones:启用存根区域功能。stubzone仅在位于指定的第一个区域下方的etcd树中完成。
  • fallthrough:如果区域匹配但不能生成记录,则将请求传递给下一个插件
  • path:etcd里面的路径 默认为"/skydns",以后所有的dns记录就是存储在该存根路径底下
  • endpoint:etcd访问地址,默认http://localhost:2397

示例

添加dns解析

etcd配置示例:

etcd {
stubzones
path /skydns
endpoint http://10.1.61.129:2379
upstream /etc/resolv.conf
}

那么我们往etcd中添加如下记录:

curl -XPUT http://10.1.61.129:2379/v2/keys/skydns/com/test/dynamic/coredns -d value='{"host":"10.1.61.134"}'

通过coredns解析coredns.dynamic.test.com可以返回10.1.61.134,可以看出,com/test/dynamic/corednscoredns.dynamic.test.com正好相反

添加指定dns解析

etcd配置示例

etcd test.com{
stubzones
path /skydns
endpoint http://10.1.61.129:2379
upstream /etc/resolv.conf
}

那么就必须添加/com/test/*/*的域名才能访问

curl -XPUT http://10.1.61.129:2379/v2/keys/skydns/com/test/dynamic/www -d value='{"host":"10.1.61.133"}'

单个域名对应多个ip:

curl -XPUT http://10.1.61.129:2379/v2/keys/skydns/com/test/www/ttggxuxp -d value='{"host":"10.1.61.134"}'

curl -XPUT http://10.1.61.129:2379/v2/keys/skydns/com/test/www/jzlnykyj -d value='{"host":"10.1.61.135"}'

这样,解析www.test.com得到的结果就是10.1.61.135和10.1.61.134

反向解析

coredns是支持反向解析的。如果要添加172.0.0.0/24的反向,则需要将zone 0.0.172.in-addr.arpa添加到区域列表中。如果需要添加172.16.80.0/8的反向,则需要将zone 172.in-addr.arpai添加到区域列表中。

下面是将10.1.61.135/8指向breeze.test.com,Corefile配置:

.:53 {
etcd test.com 10.in-addr.arpa {
stubzones
path /skydns
endpoint http://10.1.61.129:2379
upstream /etc/resolv.conf
}
log
errors
proxy . /etc/resolv.conf
}

向etcd中添加记录如下:

curl -XPUT http://10.1.61.129:2379/v2/keys/skydns/arpa/in-addr/10/1/61/135 -d value='{"host":"breeze.test.com"}'

最后再贴一个完整的etcd的配置示例:

.:53 {
etcd wh04 test2.com {
stubzones
path /coredns
endpoint http://10.1.61.129:2379
upstream /etc/resolv.conf
fallthrough
}
health
log
errors
prometheus :9153
proxy . /etc/resolv.conf
cache 30
reload 10s
}
test.com {
etcd {
stubzones
path /coredns
endpoint http://127.0.0.1:2379
upstream /etc/resolv.conf
}
health :8081
log
errors
prometheus :9253
proxy . /etc/resolv.conf
cache 30
relaod 10s
}

CoreDNS配置etcd作为后端的更多相关文章

  1. CoreDNS配置kubernetes作为后端

    概述 coredns之所以如此名声大噪,就是因为从kubernetes1.9开始引入,作为kubernetes内部服务发现的默认dns.毫无疑问kubernetes是coredns的后端之一,所以我们 ...

  2. 使用docker配置etcd集群

    docker配置etcd集群与直接部署etcd集群在配置上并没有什么太大差别. 我这里直接使用docker-compose来实现容器化的etcd部署 环境如下: HostName IP etcd1 1 ...

  3. K8s 系列(三) - 如何配置 etcd https 证书?

    在 K8s 中,kube-apiserver 使用 etcd 对 REST object 资源进行持久化存储,本文介绍如何配置生成自签 https 证书,搭建 etcd 集群给 apiserver 使 ...

  4. windows server,nginx安装,配置,运行nodeJS后端的web项目的实现,以及错误分析及解决方法

    一.安装nginx 下载windows版nginx (http://nginx.org/download/nginx-1.12.2.zip),之后解压到需要放置的位置(C:\nginx) 二.将Ngi ...

  5. 配置nginx到后端服务器负载均衡

    nginx和haproxy一样也可以做前端请求分发实现负载均衡效果,比如一个tomcat服务如果并发过高会导致处理很慢,新来的请求就会排队,到一定程度时请求就可能会返回错误或者拒绝服务,所以通过负载均 ...

  6. Cinder配置多Ceph后端步骤

    1. 检查cinder当前backend配置 使用cinder service-list,查看cinder-volume服务的Host字段格式. 旧版格式: 新版格式: 旧版中Host字段是cinde ...

  7. 【Linux】【Services】【SaaS】Docker+kubernetes(5. 安装和配置ETCD集群)

    1. 简介: 1.1. ETCD是kubernetes和openstack都用到的组件,需要首先装好 1.2. 官方网站:https://coreos.com/etcd/ 1.3. ETCD的作用: ...

  8. 一、配置etcd数据库

      etcd服务作为Kubernetes集群的主数据库,在安装Kubernetes各服务之前需要首先安装和启动. 1. 安装etcd yum -y install etcd 2. 修改etcd配置文件 ...

  9. [k8s]k8s配置nfs做后端存储&配置多nginx共享存储&&statefulset配置

    所有节点安装nfs yum install nfs-utils rpcbind -y mkdir -p /ifs/kubernetes echo "/ifs/kubernetes 192.1 ...

随机推荐

  1. decode 函数及其用法

    http://blog.csdn.net/oscar999/article/details/18399177

  2. Visual Studio AI配置环境

    参考链接:http://www.cnblogs.com/ms-uap/p/9123033.html 背景: 1.能联网的电脑:Win7 64 SP1 2.鼠标.键盘.显示器好使 3.已安装VS2010 ...

  3. 20135234mqy-——信息安全系统设计基础第六周学习总结

    处理器体系结构 4.1 Y86指令集体系结构 4.1.1程序员可见状态 Y86程序中的每条指令都会读取或修改处理器状态的某些部分,称为程序员可见状态. 4.1.2 Y86指令 4个指令:irmovl, ...

  4. 实验二 Java面向对象程序设计 20135321

    课程:Java程序设计   班级:1353    姓名:余佳源  学号:20135321 成绩:             指导教师:娄嘉鹏      实验日期:2015-5-8 实验密级:       ...

  5. 第二阶段Sprint冲刺会议7

    进展:试着把视频录制功能加到时间提醒中,但是整合没有成功,今天没有进展.

  6. Task 6.2冲刺会议十 /2015-5-23

    今天是第一个冲刺阶段的最后一天,主要把做出来的程序进行了初步的测试,在一台笔记本上运行程序,摄像头可以工作也能听到声音和麦克多的运转也还可以,两台计算机同时在一个局域网中通信的时候也可以实现.不过后续 ...

  7. JavaBean 与 EJB 的区别

    JavaBean在一般情况下指的是实体类,在大部分情况下和POJO是同义词,基本构成就是一些字段和与之对应的 setter.getter方法,如果一个JavaBean需要在不同的JVM的进程中进行传递 ...

  8. C51中的关键字data,idata,xdata,pdata,bdata

    写在最前面的话:官方网站的解答是最可信的.英语不错的必看.http://www.keil.com/support/man/docs/c51/c51_le_memtypes.htm 下面转载几篇中文的, ...

  9. Linux基础五(系统管理)

    Linux 系统管理 1. 进程管理 1.1 进程管理简介 进程的简介: 一个程序在运行的时候会占用系统的资源,即系统分配资源给某个程序使用,进程就是正在运行中的某个程序或者命令.进程又可以细分为线程 ...

  10. 实测 | 转型微服务,这4大工具谁是API网关性能最优?

    转自:http://www.servicemesh.cn/?/article/45 作者:Turgay Çelik 翻译:钟毅(Drew Zhong) 原文:Comparing API Gateway ...