作品简介

本书介绍了CoreDNS与其他DNS服务器的区别、DNS基础理论、CoreDNS基本配置、CoreDNS管理区域数据的选项、基于DNS的服务发现的工作原理,以及如何在etcd和Kubernetes中配置CoreDNS服务发现。此外,还讲解了如何重写查询和响应,如何监控和排查CoreDNS故障以及如何构建CoreDNS的定制版本并编写新的插件。

John Belamaric是一位经验丰富的软件工程师和架构师,拥有超过20年的软件设计和开发经验。他在Google Cloud团队工作,专注于Kubernetes和GKE。他也是CoreDNS的核心维护者,拥有三项专利,是O'Reilly出版的OpenStack Cloud Application Development一书的合著者。

Cricket Liu毕业于加州大学伯克利分校,他毕业后加入惠普,并在惠普工作了9年。在Loma Prieta由于地震将该区域的管理人员从HP Labs转移到公司办公室之后,Cricket开始管理hp.com区域,作为管理员工作了三年多,之后加入了惠普的专业服务组织,共同创立了惠普的互联网咨询项目。

Cricket于1997年离开惠普,与朋友Matt Larson成立了DNS咨询和培训公司Acme Byte&Wire。Network Solutions在2000年6月收购了Acme Byte&Wire,随后又在同一天与VeriSign合并。Cricket曾在VeriSign Global Registry Services担任了一年的DNS产品管理总监。

作品目录

  • 关于封面
  • O'Reilly Media,Inc.介绍
  • 译者序
  • 前言
  • 第1章 CoreDNS简介
  • 1.1 CoreDNS、容器和微服务
  • 1.2 CoreDNS的限制
  • 1.3 CoreDNS、Kubernetes和CNCF
  • 第2章 DNS知识回顾
  • 2.1 域名系统
  • 2.2 域名和命名空间
  • 2.3 域、委派和区域
  • 2.4 资源记录
  • 2.5 DNS服务器和权威DNS服务器
  • 2.6 解析器
  • 2.7 解析和递归
  • 2.8 缓存
  • 2.9 资源记录详解
  • 2.9.1 NAME
  • 2.9.2 TTL
  • 2.9.3 CLASS
  • 2.10 资源记录类型
  • 2.10.1 A记录
  • 2.10.2 AAAA记录
  • 2.10.3 CNAME记录
  • 2.10.4 MX记录
  • 2.10.5 NS记录
  • 2.10.6 SRV记录
  • 2.10.7 PTR记录
  • 2.10.8 SOA记录
  • 2.11 区域数据文件示例
  • 第3章 配置CoreDNS
  • 3.1 下载CoreDNS
  • 3.2 CoreDNS命令行选项
  • 3.3 Corefile语法
  • 3.3.1 环境变量
  • 3.3.2 可重用代码段
  • 3.3.3 导入
  • 3.3.4 服务器块
  • 3.3.5 查询处理
  • 3.4 插件
  • 3.4.1 根插件
  • 3.4.2 文件插件
  • 3.4.3 辅助插件
  • 3.4.4 转发插件
  • 3.4.5 缓存插件
  • 3.4.6 错误插件
  • 3.4.7 日志插件
  • 3.5 常见配置选项
  • 3.5.1 fallthrough
  • 3.5.2 tls
  • 3.5.3 transfer to
  • 3.6 DNS服务器配置示例
  • 3.6.1 缓存DNS服务器
  • 3.6.2 主DNS服务器
  • 3.6.3 辅助DNS服务器
  • 第4章 管理区域数据
  • 4.1 文件插件
  • 4.2 自动插件
  • 4.3 主机插件
  • 4.4 route53插件
  • 第5章 服务发现
  • 5.1 服务发现简介
  • 5.2 解决服务发现问题
  • 5.3 使用CoreDNS和etcd实现服务发现
  • 5.3.1 etcd插件
  • 5.3.2 其他服务发现选项
  • 5.4 服务发现和容器编排
  • 第6章 CoreDNS与Kubernetes
  • 6.1 Kubernetes基础知识
  • 6.2 Kubernetes网络
  • 6.2.1 cluster IP服务
  • 6.2.2 headless服务
  • 6.3 Kubernetes DNS规范
  • 6.4 CoreDNS集成
  • 6.5 CoreDNS默认配置
  • 6.6 存根域和联邦
  • 6.7 集群DNS部署资源
  • 6.7.1 基于角色的访问控制
  • 6.7.2 服务
  • 6.7.3 部署
  • 6.8 自动扩缩
  • 6.9 优化配置
  • 6.10 kubernetes插件
  • 6.11 CoreDNS扩展
  • 6.11.1 pod选项
  • 6.11.2 通配符查询
  • 6.11.3 Autopath和ndots:5问题
  • 6.11.4 区域传输支持
  • 6.11.5 对外公开服务
  • 6.11.6 修改可用记录
  • 第7章 操作查询和响应
  • 7.1 模板插件
  • 7.2 重写插件
  • 7.2.1 重写EDNS0选项
  • 7.2.2 多条重写规则
  • 7.3 元数据插件
  • 7.4 使用DNS安全扩展签名响应
  • 7.4.1 管理DNSSEC签名的主区域
  • 7.4.2 使用dnssec插件进行动态DNSSEC签名
  • 7.5 案例研究:Infoblox的BloxOne威胁防御
  • 7.5.1 识别用户
  • 7.5.2 应用策略
  • 第8章 监控和故障排查
  • 8.1 prometheus插件
  • 8.2 日志插件
  • 8.3 dnstap插件
  • 8.4 错误插件
  • 8.5 跟踪插件
  • 8.6 调试插件
  • 第9章 自定义构建
  • 9.1 使用外部插件编译CoreDNS
  • 9.1.1 使用Docker构建
  • 9.1.2 在工作站上构建
  • 9.1.3 修改plugin.cfg文件
  • 9.1.4 更换主程序
  • 9.2 编写自定义插件
  • 9.2.1 示例:只保留一条记录
  • 9.2.2 与指标、跟踪和元数据集成
展开全部