写点什么

使用 ExternalDNS 自动化 DNS 配置

  • 2020-04-15
  • 本文字数:1307 字

    阅读完需:约 4 分钟

使用ExternalDNS自动化DNS配置

Kubernetes 社区的生态繁荣和该领域技术的快速茁壮发展,已经是众所周知。Kubernetes 领域有太多强大的、创新的技术产品,而最近引起我注意的项目是 ExternalDNS。这是在近期的 POC 期间客户主动咨询起来的,我承诺客户会尝试一下 ExternalDNS 子项目,且使用后发现它真的令人印象深刻。

ExternalDNS 子项目

ExternalDNS 子项目(孵化器流程已被弃用)是由 sig-network 赞助并由 Tim Hockin 倡导的,旨在自动配置云 DNS 提供商。这很重要,因为它进一步支持基础架构自动化,用户可以在应用程序部署的同时直接完成 DNS 配置。


传统企业部署模型,通常是由多个孤立业务单元,来处理部署过程的不同部分。但带有 ExternalDNS 的 Kubernetes 不同于传统企业部署模型,它可以自动完成此过程的这一部分工作。有时候有可能会出现这种不好的情况:一部分软件已准备就绪,但它却必须等待另一个业务部门手动配置 DNS。而有了 ExternalDNS,这一潜在问题就被解决了。


通过 ExternalDNS,组织团队可实现自动化和共同责任协作,而这将避免手动配置的错误,并使各方都能够更有效地将其产品推向市场。

AKS 上的 ExternalDNS 配置和部署

我曾作为软件开发人员在.NET 领域有过多年的工作经验。微软开发人员社区在我心中一直有一个特殊的位置,过去几年以来我参加过不少费城地区的 Azure 用户 meetup,分享如何通过 ACS(Azure Container Service)和 AKS(Azure Kubernetes Service)使用 Kubernetes on Azure。恰巧的是,向我咨询 ExternalDNS 的用户也正是在选择了 Azure 作为其 IaaS 产品。


下文是我准备的在 AKS 集群上启动 ExternalDNS 的分步说明和帮助程序代码。 即使您使用的是其他公有云上的托管的 Kubernetes,本教程依然适用

先决条件

登录 Azure AD,必要情况下请设置订阅。

先决几点注意事项

1、请注意,本文档中的外部模板文件使用了许多可选设置。


2、它也在 debug 级别日志中,因此您也可以自行进行 troubleshooting。

在 Azure AKS 或 Azure IaaS 上设置 ExternalDNS

1、创建 Azure DNS 记录



2、根据您的注册商的需要委派 DNS


3、创建服务主体以代表 Kubernetes 行事



4、创建你的云提供商配置



5、使用云提供商配置来创建一个 Kubernetes 秘钥。



6、如果你使用的是 Rancher 配置的 Azure IaaS Backed Clusters,从集群中删除 ingress controller。



注意:如果您是使用 Rancher 中的 AKS 配置的集群,则不会提供 ingress controller。


7、安装 nginx ingress controller 并为 ExternalDNS 配置它。创建 ingress-nginx 部署和服务。



8、由于在基于 Rancher 的 Kubernetes 集群上默认启用了 RBAC,因此可以从下面的脚本创建名为 externaldns.yaml 的 yaml 文件,或者使用此 repo 中的 externaldns-template.yaml 文件。







验证





1、以与部署 ExternalDNS 相同的方式在 ingress 中创建 nginx 服务



2、创建 nginx-ingress controller



3、稍等几分钟


4、检查一下是否已有 record 被创建出来




5、检查日志






您还可以在 ExternalDNS 的 repo 中了解更多信息:


https://github.com/kubernetes-incubator/external-dns


如希望对原文中的代码有更深入的了解,请猛戳这里:


https://github.com/JasonvanBrackel/kubernetes-external-dns-in-rancher#prerequisites


2020-04-15 23:041159

评论

发布
暂无评论
发现更多内容

521的祝福-北爱的回忆

数据一哥

520单身福利 520 单身福利

内卷是必然

ES_her0

5月日更

华仔训练营模块4作业

方堃

Node.js使用数据库LevelDB:超高性能kv存储引擎

devpoint

nodejs leveldb

C#常用特性和快捷键

fox

520单身福利

“产学合作,协同育人”——安谋中国集成电路人才发展趋势沙龙圆满举行

脑极体

架构学习笔记:架构设计3原则

风翱

架构 5月日更

Flink的分布式缓存

大数据技术指南

flink 5月日更

人工智能--野人过河

空城机

Java 算法 5月日更 大学笔记

520有感而发

yu

520 单身福利

学习笔记之:05 | 数组:一秒钟,定义 1000 个变量

Nydia

学习

智慧公安微警务APP搭建,公安信息化建设

中国数字货币释放利好消息!

CECBC

关于爱情的碎碎念

穿过生命散发芬芳

520单身福利

翻译:谁将在AI中赚钱?by Simon Greenman John 易筋 ARTS 打卡 Week 48

John(易筋)

ARTS 打卡计划

阿里专家离职带出来的Java面试全秘籍,我看了三个月,就收到了京东的offer

Java 程序员 架构 面试 计算机

区块链专家与媒体面对面 | “区块链让数据产生价值”

CECBC

Docker 入门

飞跃

可以学习一下安全方面的知识

escray

学习 极客时间 安全 5月日更 安全攻防技能30讲

分布式锁

邱学喆

分布式锁 redis分布式锁 zookeeper分布式锁

活性炭能去甲醛吗?

小天同学

科普 5月日更 活性炭

多线程 VS 多进程(三)

若尘

多线程 Python编程 5月日更

波特五力模型

石云升

创业 战略 职场经验 5月日更

数据仓库如何确定主题域?

数据社

数据仓库 5月日更

5分钟速读之Rust权威指南(七)

wzx

rust

工业互联网平台赋能需充分挖掘数据价值

Mac电脑:安装cnpm(补充步骤)

三掌柜

5月日更

未来每个人的生活可能都会离不开区块链

CECBC

显示器的未知之海:从电脑窗口到数字世界的Mate级探险

脑极体

Docker 镜像和容器

飞跃

Docker 520 单身福利

后台开发:核心技术与应用实践 — C++

奔着腾讯去

c++ 面向对象 服务器开发 C++后台开发

使用ExternalDNS自动化DNS配置_文化 & 方法_Rancher_InfoQ精选文章