码迷,mamicode.com
首页 > 其他好文 > 详细

使用ExternalDNS自动化DNS配置

时间:2018-07-17 10:33:09      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:microsoft   width   epo   团队   lin   rac   apple   微软   border   

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


使用ExternalDNS自动化DNS配置

标签:microsoft   width   epo   团队   lin   rac   apple   微软   border   

原文地址:http://blog.51cto.com/12462495/2145146

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!