雲原生時代的 CoreDNS 學習指南 Learning CoreDNS Configuring DNS for Cloud Native Environments

John Belamaric,Cricket Liu

買這商品的人也買了...

商品描述

本書介紹了CoreDNS與其他DNS服務器的區別、DNS基礎理論、
CoreDNS基本配置、CoreDNS管理區域數據的選項、
基於DNS的服務發現的工作原理,以及如何在etcd和Kubernetes中配置CoreDNS服務發現。
此外,還講解瞭如何重寫查詢和響應,
如何監控和排查CoreDNS故障以及如何構建CoreDNS的定製版本並編寫新的插件。

作者簡介

Cricket Liu

Infoblox的首席DNS架構師和高級研究員。
他畢業後加入惠普,在惠普工作了9年,作為管理員管理hp.com區域。
他也是DNS諮詢和培訓公司Acme Byte & Wire的創始人。

目錄大綱

目錄
前言
第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 重寫EDNSO選項
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 與指標、跟踪和元數據集成