写点什么

使用 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:04880

评论

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

OceanBase 存储层代码解读(一)引言

OceanBase 数据库

oceanbase OceanBase 开源 OceanBase 社区版 OceanBase 数据库大赛

MySQL 数据库开发入门(四):MySQL 的数据引擎

程序员小呆

MySQL MySQL 高可用 :MySQL 数据库 MySQL 数据库 java

字节跳动等10+公司面经+面试题+答案分享! 35K不是梦

程序员小呆

Java 程序员 面试 架构师 java面试

2021年阿里巴巴最新Java面试学习资料汇总:从基础到高级、框架、数据库、多线程并发知识、分布式、以及企业的面试真题

Java 编程 程序员 架构 面试

终于进了字节!记录我作为一名程序媛磕磕碰碰的三个月找工作经历

Java 程序员 架构 面试 后端

MySQL 数据库开发入门(三):Navicat 客户端的使用

程序员小呆

MySQL MySQL 高可用 MySQL 运维 :MySQL 数据库 MySQL 数据库

Alibaba高级架构师撰写的SQL笔记,不止收获SQL优化更能抓住SQL的本质

Java 架构 面试 程序人生 编程语言

无敌是多么的寂寞!这份在各大平台获百万推荐的Java核心手册称得上史上最强!

Java 架构 面试 程序人生 编程语言

MySQL 数据库开发入门(二):数据库表的创建与管理

程序员小呆

MySQL MySQL 高可用 MySQL 运维 MySQL 数据库 java

区块链技术赋能音乐作品版权保护 法院采信存证证书作为有效权属证据

CECBC

实体链接在OPPO小布助手和OGraph的实践应用

OPPO小布助手

人工智能 智能助手 nlu 语音助手 自然语言理解

GitHub爆火!阿里内部Java高并发系统设计全彩手册曝光,极致的理解!

Java 架构 面试 程序人生 编程语言

自定义 View:如何手动绘制一个头像控件

Changing Lin

10月月更

阿里大牛开源内部"JDK源码手册"一经现世,惊艳四方

Java 架构 面试 程序人生 编程语言

百度翻译团队获“2021年大数据科技传播奖”未来奖

百度大脑

人工智能

靠这份1500道面试题的资料,助我拿下7家大厂offer !其中一家是美团

程序员小呆

Java 程序员 架构师 java面试

推荐 7 个 yyds 的开源项目

开源 编程 架构 计算机

我从外包辞职了,10000小时后,拿了字节跳动的offer!

Java 程序员 架构 面试 后端

全网首发!马士兵内部共享—1658页《Java面试突击核心讲》

收到请回复

Java 程序员 面试 架构师 金九银十

Java 异常机制

码语者

Java Exception 异常机制

本以为能躺着进华为,结果陆续收到京东/滴滴/爱奇艺offer的我迷茫了

Java spring 算法 编程语言

MySQL 数据库开发入门(一):安装与常用命令

程序员小呆

流行技术限时开源!Alibaba新产“Java面试权威指南”助阵金九银十

Java 编程 程序员 架构 面试

第 15 章 -《Linux 一学就会》- LVM管理和ssm存储管理器使用

学神来啦

Linux 运维 ssm lvm linux云计算

如何做好Code Review

百度开发者中心

最佳实践 方法论 工程能力

为 Elasticsearch/Kibana 配置账号和 https(qbit)

qbit

https 安全 TLS ssl

014云原生之云数据库

穿过生命散发芬芳

云原生 10月月更

AtomSolutions与Bholdus缔结业务合作伙伴关系

Geek_c610c0

我一口气面试6家大厂,已拿下5家offer,分享经验和Java资料,其实大厂没有你想象中难!

程序员小呆

Java 程序员 面试 架构师 java面试

解读clickhouse存算分离在华为云实践

华为云开发者联盟

数据库 Clickhouse OBS 华为云 存算分离

阿里最受追捧的,中高级技术核心,助我拿下菜鸟offer,附面经

程序员小呆

Java 程序员 面试 架构师 java面试

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