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 ...
随机推荐
- 20172324《Java程序设计》第二周学习总结
20172324<Java程序设计>第2周学习总结 教材学习内容总结 了解了字符串及其拼接和转义序列的使用. Java的基本数据类型. 定义数据转换类型和实现其转换的方法. Scanner ...
- 《Spring 2之站立会议3》
<Spring 2之站立会议3> 昨天,查找了本机的端口号,并对代码作进一步的了解. 今天,对我们项目的基本框架进行了了解,即主界面和各个分界面的基本架构: 遇到的问题,虽然了解了基本框架 ...
- HDU 4281 Judges' response 状压dp+多旅行商问题
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4281 Judges' response Time Limit: 2000/1000 MS (Java ...
- Oracle 11g R2 for Win7旗舰版(64位)- 安装
1.下载Oracle 11g R2 for Windows的版本 下载地址:http://www.oracle.com/techne ...
- Arduino IDE 安装esp8266 2.4.rc2的编译环境
2.4. 版本, 有一个我需要的功能, 串口缓存, 可以修改. Serial.setRxBufferSize(1024); //修改为1024个字节. 安装步骤: 1. 需要FQ. 推荐用" ...
- grunt入门讲解5:创建插件,安装Grunt以及常见问题
创建插件 创建插件主要有以下几个步骤: (1)通过 npm install -g grunt-init 命令安装 grunt-init .(2)通过 git clone git://github.co ...
- teamcity执行jmeter脚本使用Executable with parameters方式不能正确运行解决思路
如下图是选择command Line:Executable with parameters设置启动jmeter.bat 命令如下 command Executable: D:\apache-jmet ...
- 使用Shell脚本删除/清空日志文件
话不多少,直接上代码: #!/bin/bash workdir=("/home/Tax_Punish_Ret/log_txt") #可填写多个路径, 用空格隔开 # 查找日志文件 ...
- 开源自己实现一个.net rpc框架 - Machete.Rpc
Machete.Rpc Machete.Rpc 是一个轻量级的Rpc(远程过程调用的)框架.底层代理使用了Emit提高了效率,底层通信采用DotNetty框架以提升通信的效率.目前正在逐步完善中. G ...
- NOI前训练日记
向别人学习一波,记点流水帐.17.5.29开坑. 5.29 早晨看了道据说是树状数组优化DP的题(hdu5542),然后脑补了一个复杂度500^3的meet in the middle.然后死T... ...