最終化

原始碼 首頁

啟用方式
finalize:github.com/tmeckel/coredns-finalizer

finalize - 將 CNAME 解析為其 IP 位址。

描述

此外掛程式將嘗試解析 CNAME,並僅返回產生的 A 或 AAAA 位址。如果無法解析 A 或 AAAA 記錄,則會將原始(第一個)答案返回給用戶端。

會偵測循環相依性,並記錄相應的錯誤。在這種情況下,也會將原始(第一個)答案返回給用戶端。

語法

finalize [max_depth MAX]
  • max_depth MAX 限制解析 CNAME 鏈到最終 A 或 AAAA 記錄的最大呼叫次數,可以指定一個值 > 0

    如果達到最大深度並且找不到 A 或 AAAA 記錄,則會將包含 CNAME 的原始(第一個)答案返回給用戶端。

度量

如果啟用監控(透過 prometheus 指令),則會匯出以下度量

  • coredns_finalize_request_count_total{server} - 對 finalize 外掛程式的查詢計數。

  • coredns_finalize_circular_reference_count_total{server} - 偵測到的循環參考計數。

  • coredns_finalize_dangling_cname_count_total{server} - 無法解析的 CNAME 計數。

  • coredns_finalize_maxdepth_reached_count_total{server} - 嘗試解析 CNAME 時達到最大深度的事件計數。

  • coredns_finalize_maxdepth_upstream_error_count_total{server} - 收到的上游錯誤計數。

  • coredns_finalize_request_duration_seconds{server} - 每次 CNAME 解析的持續時間。

server 標籤表示哪個伺服器處理了請求。

就緒

此外掛程式會向 ready 外掛程式報告就緒狀態。它將會立即就緒。

範例

在此組態中,我們會將所有查詢轉發到 9.9.9.9 並解析 CNAME。

. {
  forward . 9.9.9.9
  finalize
}

在此組態中,我們會將所有查詢轉發到 9.9.9.9 並解析 CNAME,最大搜尋深度為 1

. {
  forward . 9.9.9.9
  finalize max_depth 1
}