编辑推荐
谷歌高级软件工程师撰写,系统展示如何使用真实世界的示例来配置CoreDNS以实现目标。
内容简介
本书介绍了CoreDNS与其他DNS服务器的区别、DNS基础理论、CoreDNS基本配置、CoreDNS管理区域数据的选项、基于DNS的服务发现的工作原理,以及如何在etcd和Kubernetes中配置CoreDNS服务发现。
此外,还讲解了如何重写查询和响应,如何监控和排查CoreDNS故障以及如何构建CoreDNS的定制版本并编写新的插件。
章节目录
版权信息
关于作者
关于封面
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 与指标、跟踪和元数据集成
云原生时代的CoreDNS学习指南是2021年由机械工业出版社华章分社出版,作者[美] 约翰·贝拉马里奇。
得书感谢您对《云原生时代的CoreDNS学习指南》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。