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 ...
随机推荐
- 以符合人类阅读的方式打印php数组【转载】
在程序开发过程中:打印数据进行查看调试是非常频繁的:如果没有一种易于阅读的样式那是相当痛苦的: 先定义一个数组: 1 2 3 4 5 6 7 8 9 $array=array( 't0'=&g ...
- 记事本APP之Alpha报告
项目名称 记事本APP 项目版本 Alpha版本 负责人 北京航空航天大学计算机学院 Echo软件团队 联系方式 http://www.cnblogs.com/echo-buaa/ 要求发布日期 20 ...
- 【Alpha】阶段第六次Scrum Meeting
[Alpha]阶段第六次Scrum Meeting 工作情况 团队成员 今日已完成任务 明日待完成任务 刘峻辰 增加教师接口 增加上课信息接口 赵智源 构建后端测试点测试框架 构建后测试点测试框架 肖 ...
- <<梦断代码>>读后感
<梦断代码>中对软件工程所面临的种种困难与艰难的描述,即便再过5年读也许都不过时.因为正如原作者所说,书中描写的是一队人马并肩扛起代码大石,虽历经磨难仍欲将其推上山顶的故事,而正是这种故事 ...
- Task 5.1 电梯调度程序需求调研报告
1.任务概述: 1.1任务背景:试想一下,石家庄铁道大学基础教学楼的电梯配置如下:大厦有18层, 4部电梯,很多乘客使用这些电梯的日常(旅客重量:平均70公斤最大120公斤,最小45公斤).其他常量数 ...
- java 对象和基本数据类型 “==”区别
“==”比较的是地址,牢记.1.对象.integer 是对象 Integer i1 = 20; Integer i2 = 20 ; System.out.println(i1 == i2); // t ...
- 结对&团队之1715|K班取经
声明:同学请勿抄袭,追责莫要怪我: 因为暂时闲着没事,就翻阅学长学姐的博客找找灵感,个人觉得应该还有人和我一样对软工实践未来的一大段路还很天真,包括目前的结对作业和团队组队也很迷路,于是写下这篇博客提 ...
- 深入浅析JavaScript的API设计原则(转载)
一.接口的流畅性 好的接口是流畅易懂的,他主要体现如下几个方面: 1.简单 操作某个元素的css属性,下面是原生的方法: ? 1 document.querySelectorAll('#id').st ...
- scp命令与Screen服务的区别
scp:远程传输命令.(通过网络传送给其他主机,又恰好两台主机都是linux系统,便可以使用scp传输文件) 参数 作痛 -v 先是详细的连接进度 -P 指定远程主机的sshd端口号 -r 传送文件夹 ...
- Beta阶段敏捷冲刺③
1.提供当天站立式会议照片一张. 每个人的工作 (有work item 的ID),并将其记录在码云项目管理中: 1.1昨天已完成的工作. 姓名 昨天已完成的工作 徐璐琳 完善设置界面的功能 祁泽文 研 ...