加入收藏 | 设为首页 | 会员中心 | 我要投稿 阜新站长网 (https://www.0418zz.com.cn/)- 管理运维、AI硬件、数据集成、云备份、负载均衡!
当前位置: 首页 > 站长资讯 > 评论 > 正文

K8s服务发现组件

发布时间:2021-03-28 11:54:24 所属栏目:评论 来源:互联网
导读:承了Caddy的主要优点:其简单的配置语法,强大的基于插件的体系结构以及Go的基

承了Caddy的主要优点:其简单的配置语法,强大的基于插件的体系结构以及Go的基础。

与BIND的配置文件的语法相比,CoreDNS的Corefile(称为)非常简单。基本的基于CoreDNS的DNS服务器的Corefile通常只有几行,而且相对而言,易于阅读。

CoreDNS使用插件来提供DNS功能。因此,有一个用于缓存的插件和一个用于转发的插件,一个用于配置从文件读取区域数据的主DNS服务器的插件,以及一个插件用于配置辅助DNS服务器。不仅可以直接配置每个插件(请参阅上一段落),而且,如果不需要插件,则无需配置它,也不会执行其代码。这使CoreDNS更快,更安全。

插件也相当容易开发。这很重要,原因有两个。首先,如果您想扩展CoreDNS的功能,则可以编写自己的插件;我们将在第9章中介绍。其次,由于编写新插件不是火箭科学,因此已经开发了许多插件,并且一直在编写更多插件。您可能会发现其中一种可以提供所需的功能。

Go语言是“内存安全”的语言,这意味着它可以防止“内存访问错误”,例如缓冲区溢出和指针悬空。对于像CoreDNS这样的DNS服务器而言,这尤其重要,可以想象互联网上的任何人都可以访问。恶意行为者可能利用缓冲区溢出来使DNS服务器崩溃,甚至获得对底层操作系统(OS)的控制。实际上,在其几十年的历史中,BIND中的漏洞是由内存访问错误引起的。使用CoreDNS,您无需担心这些。不过,CoreDNS可能提供的最显着优势是其与容器基础架构和编排系统(例如etcd)进行通信的能力和Kubernetes。我们将在本书的后面部分对此进行更详细的讨论,但让我们快速浏览一下功能在这里。

CoreDNS, 容器和微服务

如果您是本书所吸引的一小部分人,那么您可能听说过容器。如果您还没有的话,可以将容器视为轻巧,高效的虚拟机(VM)。VM可以共享单个硬件平台(由虚拟机管理程序提供),而容器提供的运行环境可以在相同的OS内核下运行,但提供的隔离级别与VM相似。容器比VM小得多,可以更快地启动和停止。

容器通常用于基于微服务架构的软件中。借助微服务,应用程序(通常是一个复杂的应用程序)被分解为许多微服务。每个微服务都负责提供少量但有用且明确定义的功能。例如,一个微服务可能处理用户的身份验证,而另一个则管理那些用户的授权。总共一个应用程序可能包含数十个或数百个微服务,它们通过网络相互通信。

实际上,每个微服务可能由一个或多个容器提供。例如,身份验证服务可能实现为容器。启动和停止容器的过程如此快捷,容易,以至于应用程序或更高级别的容器协调器可能会随着对身份验证的需求的增加而动态地启动和停止其他身份验证容器。

但是,在这样的环境中,跟踪特定服务的运行位置可能会很困难。说一个支持数据库服务的容器需要与授权服务进行通信,以确定是否应允许给定用户进行特定搜索。如果正在动态启动和停止实现授权服务的容器以适应负载,我们如何获得所有正在运行的授权

(编辑:阜新站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读