升级到 Newton 版本(从 Mitaka)

Designate 的 Newton 版本添加了两个新的服务 designate-producer, designate-worker。它们分别取代了 designate-zone-managerdesignate-pool-manager。在未来的周期中,旧服务将被移除,新服务将默认启用。在 Newton 版本中,您需要手动启用新服务。Designate 可以使用两种配置,因为从 Mitaka 到 Newton 之间没有破坏性更改。

破坏性更改

designate-agent 服务监听的默认端口已从 53 更改为 5358。这与我们始终在示例配置中使用的端口以及代理后端类中使用的端口相匹配。

升级代码和启用服务

为了以最小的影响启用新服务,可以按照以下步骤操作。假设您已运行所有 Mitaka Designate 服务。

  1. 部署 Newton 代码。

  2. [service:worker][service:producer] 部分添加到您的配置文件中。确保 worker 部分中的 enablednotify 均为 True

    [service:worker]
    enabled = True
    #workers = None
    #threads = 1000
    #threshold_percentage = 100
    #poll_timeout = 30
    #poll_retry_interval = 15
    #poll_max_retries = 10
    #poll_delay = 5
    notify = True
    
    [service:producer]
    #workers = None
    #threads = 1000
    # Can be any/all of: periodic_exists, delayed_notify, worker_periodic_recovery
    # None => All tasks enabled
    #enabled_tasks = None
    
    [producer_task:domain_purge]
    #interval = 3600  # 1h
    #batch_size = 100
    #time_threshold = 604800  # 7 days
    
    [producer_task:delayed_notify]
    #interval = 5
    
    [producer_task:worker_periodic_recovery]
    #interval = 120
    
  3. 停止 designate-pool-managerdesignate-zone-manager 进程。

  4. 重新启动 designate-api, designate-centraldesignate-mdns 服务。

  5. 启动 designate-producerdesignate-worker 服务。

新特性

  • designate-mdns, designate-agentdesignate-api 现在可以通过新的“listen”配置参数为每个服务绑定到多个主机:端口对。

  • 新的池调度器“attribute”过滤器,用于在池之间调度区域。可以在 [service:central] 部分的配置中,将 attribute 添加到 filters 选项的列表中来启用它。

  • 一个实验性的代理后端,用于支持 djbdns 工具中的 TinyDNS DNS 解析器。

  • 一个实验性的代理后端,用于支持 Knot DNS 2

  • 暴露了一个新的记录集 API /v2/recordsets,文档可以在 这里 找到。

  • Designate 服务现在报告运行状态。信息通过 api 暴露。

  • 来自 admin API 的配额 API 已移植到 /v2,并进行了一些更改,现在已经 稳定

弃用通知

  • designate-api 的 api_host 和 api_port 配置选项已被弃用,请使用新的组合“listen”参数代替它们。

  • designate-mdns 的 host 和 port 配置选项已被弃用,请使用新的组合“listen”参数代替它们。

  • designate-agents 的 host 和 port 配置选项已被弃用,请使用新的组合“listen”参数代替它们。

  • designate-zone-managerdesignate-pool-manager 现在已被弃用,将在未来的版本中移除。