Linux中國

使用 OctoDNS 啟用 DNS 分割權威

配置

OctoDNS 能夠讓我們重新打造我們的 DNS 工作流程。我們的區域和記錄存儲在 Git 倉庫的配置文件中。對它們的變更使用 GitHub 流,並像個站點一樣用分支部署。我們甚至可以做個 「空」 部署來預覽哪些記錄將在變更中修改。配置文件是 yaml 字典,每個區域一個,它的頂層的鍵名是記錄名稱,鍵值是 ttl、類型和類型特定的數據。例如,當包含在區域文件 github.com.yaml 中時,以下配置將創建 octodns.github.com.A 記錄。

octodns:
  type: A
  values:
    - 1.2.3.4
    - 1.2.3.5

配置的第二部分將記錄數據的源映射到 DNS 服務提供商。下面的代碼片段告訴 OctoDNS 從 config 提供程序載入區域 github.com,並將其結果同步到 dynroute53

zones:
  github.com.:
    sources:
      - config
    targets:
      - dyn
      - route53

同步

一旦我們的配置完成,OctoDNS 就可以評估當前的狀態,並建立一個計劃,其中列出將需要將目標狀態與源相匹配的一組更改。在下面的例子中,octodns.github.com 是一個新的記錄,所以所需的操作是在兩者中創建記錄。

$ octodns-sync --config-file=./config/production.yaml
...
********************************************************************************
* github.com.
********************************************************************************
* route53 (Route53Provider)
*   Create <ARecord A 60, octodns.github.com., [u&apos;1.2.3.4&apos;, &apos;1.2.3.5&apos;]>
*   Summary: Creates=1, Updates=0, Deletes=0, Existing Records=0
* dyn (DynProvider)
*   Create <ARecord A 60, octodns.github.com., [u&apos;1.2.3.4&apos;, &apos;1.2.3.5&apos;]>
*   Summary: Creates=1, Updates=0, Deletes=0, Existing Records=0
********************************************************************************
...

默認情況下 octodns-sync 處於模擬運行模式,因此不會採取任何行動。一旦我們審閱了變更,並對它們感到滿意,我們可以添加 `--doit' 標誌並再次運行命令。OctoDNS 將繼續它的處理流程,這一次將在 Route53 和 Dynect 中進行必要的更改,以便創建新的記錄。

$ octodns-sync --config-file=./config/production.yaml --doit
...

此刻,在兩個 DNS 服務提供商里我們有了相同的數據記錄,並可以輕鬆地分割我們的 DNS 請求給它們,並知道它們將提供準確的結果。當我們直接運行上面的 OctoDNS 命令時,我們的內部工作流程依賴於部署腳本和 chatops。你可以在 README 的工作流程部分中找到更多信息。

總結

我們認為大多數網站可以從分割權威中受益,並且希望用 OctoDNS,其中最大的障礙已被掃除。即使對分割權威不感興趣,OctoDNS 仍然值得一看,因為它將基礎設施即代碼的好處帶給了 DNS。

想幫助 GitHub SRE 團隊解決有趣的問題嗎?我們很樂意加入我們。在這裡申請

via: https://githubengineering.com/enabling-split-authority-dns-with-octodns/

作者:Ross McFarland 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國