CoreDNS配置etcd作为后端
配置说明
官方有使用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/coredns与coredns.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作为后端的更多相关文章
- CoreDNS配置kubernetes作为后端
概述 coredns之所以如此名声大噪,就是因为从kubernetes1.9开始引入,作为kubernetes内部服务发现的默认dns.毫无疑问kubernetes是coredns的后端之一,所以我们 ...
- 使用docker配置etcd集群
docker配置etcd集群与直接部署etcd集群在配置上并没有什么太大差别. 我这里直接使用docker-compose来实现容器化的etcd部署 环境如下: HostName IP etcd1 1 ...
- K8s 系列(三) - 如何配置 etcd https 证书?
在 K8s 中,kube-apiserver 使用 etcd 对 REST object 资源进行持久化存储,本文介绍如何配置生成自签 https 证书,搭建 etcd 集群给 apiserver 使 ...
- windows server,nginx安装,配置,运行nodeJS后端的web项目的实现,以及错误分析及解决方法
一.安装nginx 下载windows版nginx (http://nginx.org/download/nginx-1.12.2.zip),之后解压到需要放置的位置(C:\nginx) 二.将Ngi ...
- 配置nginx到后端服务器负载均衡
nginx和haproxy一样也可以做前端请求分发实现负载均衡效果,比如一个tomcat服务如果并发过高会导致处理很慢,新来的请求就会排队,到一定程度时请求就可能会返回错误或者拒绝服务,所以通过负载均 ...
- Cinder配置多Ceph后端步骤
1. 检查cinder当前backend配置 使用cinder service-list,查看cinder-volume服务的Host字段格式. 旧版格式: 新版格式: 旧版中Host字段是cinde ...
- 【Linux】【Services】【SaaS】Docker+kubernetes(5. 安装和配置ETCD集群)
1. 简介: 1.1. ETCD是kubernetes和openstack都用到的组件,需要首先装好 1.2. 官方网站:https://coreos.com/etcd/ 1.3. ETCD的作用: ...
- 一、配置etcd数据库
etcd服务作为Kubernetes集群的主数据库,在安装Kubernetes各服务之前需要首先安装和启动. 1. 安装etcd yum -y install etcd 2. 修改etcd配置文件 ...
- [k8s]k8s配置nfs做后端存储&配置多nginx共享存储&&statefulset配置
所有节点安装nfs yum install nfs-utils rpcbind -y mkdir -p /ifs/kubernetes echo "/ifs/kubernetes 192.1 ...
随机推荐
- decode 函数及其用法
http://blog.csdn.net/oscar999/article/details/18399177
- Visual Studio AI配置环境
参考链接:http://www.cnblogs.com/ms-uap/p/9123033.html 背景: 1.能联网的电脑:Win7 64 SP1 2.鼠标.键盘.显示器好使 3.已安装VS2010 ...
- 20135234mqy-——信息安全系统设计基础第六周学习总结
处理器体系结构 4.1 Y86指令集体系结构 4.1.1程序员可见状态 Y86程序中的每条指令都会读取或修改处理器状态的某些部分,称为程序员可见状态. 4.1.2 Y86指令 4个指令:irmovl, ...
- 实验二 Java面向对象程序设计 20135321
课程:Java程序设计 班级:1353 姓名:余佳源 学号:20135321 成绩: 指导教师:娄嘉鹏 实验日期:2015-5-8 实验密级: ...
- 第二阶段Sprint冲刺会议7
进展:试着把视频录制功能加到时间提醒中,但是整合没有成功,今天没有进展.
- Task 6.2冲刺会议十 /2015-5-23
今天是第一个冲刺阶段的最后一天,主要把做出来的程序进行了初步的测试,在一台笔记本上运行程序,摄像头可以工作也能听到声音和麦克多的运转也还可以,两台计算机同时在一个局域网中通信的时候也可以实现.不过后续 ...
- JavaBean 与 EJB 的区别
JavaBean在一般情况下指的是实体类,在大部分情况下和POJO是同义词,基本构成就是一些字段和与之对应的 setter.getter方法,如果一个JavaBean需要在不同的JVM的进程中进行传递 ...
- C51中的关键字data,idata,xdata,pdata,bdata
写在最前面的话:官方网站的解答是最可信的.英语不错的必看.http://www.keil.com/support/man/docs/c51/c51_le_memtypes.htm 下面转载几篇中文的, ...
- Linux基础五(系统管理)
Linux 系统管理 1. 进程管理 1.1 进程管理简介 进程的简介: 一个程序在运行的时候会占用系统的资源,即系统分配资源给某个程序使用,进程就是正在运行中的某个程序或者命令.进程又可以细分为线程 ...
- 实测 | 转型微服务,这4大工具谁是API网关性能最优?
转自:http://www.servicemesh.cn/?/article/45 作者:Turgay Çelik 翻译:钟毅(Drew Zhong) 原文:Comparing API Gateway ...