Skip to main content

ddns_client, used with coredns/etcd

Project description

DDNS

采用以下开源项目作为核心实现:

获取公网IP接口(多个容错):

日志/指标方案支持以下:

部署方案支持以下:

其他参数支持:

  • pid

客户端采用技术:

实现方案考虑

  • coredns + /etc/hosts + python server/client
  • coredns + etcd + python client

实现方案

最终方案选择

降低对环境的耦合, 不对 /etc/hosts 进行操作(简单性能一般), 最终采用 coredns + etcd + python client 方案。

部署方案考虑

支持以下方案(平台支持: linux/amd64+arm64):

  • 二进制/systemd
  • Docker/docker-compose/docker-swarm
  • k8s

周边生态考虑

支持以下项目:

  • 参数配置

  • 日志输出:

    • 标准输出/错误
    • 日志文件(根据信号支持重新打开): logging
    • fluentd输出: fluentd-python
  • 指标输出:

  • 信号处理:

    • 重启加载日志
    • stop/quit/reopen/reload

运行流程图

读取配置文件:

配置文件

运行:

运行

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ddns_client-0.2.tar.gz (6.9 kB view hashes)

Uploaded Source

Built Distribution

ddns_client-0.2-py3-none-any.whl (19.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page