Kubernetes 架构核心点总结

      最后更新:2022-05-10 12:46:22 手机定位技术交流文章

      目录:

      一个目标:容器操作

      两地三中心

      四层服务发现

      五种Pod共享资源

      六个CNI常用插件

      七层负载均衡

      八种隔离维度

      九个网络模型原则

      1个目标;3个枢纽;4层服务发现;5个波德共享资源;6个CNI通用插件;7层负载平衡;8个孤立维度;9个网络模式原则;10类IP地址;100级产品系列;多级物理学机器;10 00级包装;和10亿等量的包装。有10亿K8:1亿个每日服务地点。

      一个目标:容器操作

      Kubernetes(k8s)是使集装箱活动自动化的开放源码系统,如部署、发送和节点间集群增长。

      具体功能:

      容器的部署和复制是自动化的。

      实际弹性冷凝器尺寸。

      包装安排井井有条,集装箱之间的负载平衡得以实现。

      时间表:集装箱在运行的计算机是哪台?

      组成:

      Kubectl:客户指令行工具,作为系统的业务切入点。

      Kube-apiserver:提供接口,其形式为REST API服务,作为控制进入整个系统的手段。

      kube- controller-manger: 处理全系统的后台活动,例如节点状态、 Pod 号、 Pods 和 Service 连接等。

      Kube- 调度器: 管理节点资源, 从 bube- piserver 获得建立 Pods 的任务, 并将其分配到特定节点 。

      等:负责节点之间的服务发现和配置共享。

      kube- proxy: 运行于每个计算节点, 并负责 Pod 网络代理。 作为一项策略, 时间可以从 etd 收集服务信息 。

      Kubelet: 在每个计算节点上运行,并作为代理人运作,接受分配给节点的Pods工作,管理包装,周期性地获得容器状态,并返回Kube-aperver。

      DNS: 可选的 DNS 服务,为每个服务对象生成 DNS 条目,使所有 Pod 都能通过 DNS 获取服务。

      K8 的结构如下图所示:


      两地三中心

      三个中心包括地方生产中心、地方灾难中心和场外灾害中心。


      该项目受Zookeper和Doozer的启发,具有所有功能和以下四个特点:

      简单 : 使用卷轴命令可以由基于 http+json 的 API 简单化 。

      可选的SSL客户端安全认证技术。

      每个例子每秒需要一千字。

      使用拉特技术实现全面分配。

      四层服务发现

      让我们首先用一个图形来解释七层协议:


      K8提供了完成服务调查结果的两种方法:

      可变环境: 在建造波德时,Kubalet 将所有相关的服务环境变量从组群输入 Pod 。需要注意的是,您可以使用它作为工具,将 Pod 中的环境变量注入服务。这意味着必须在《波德》之前建立塞尔维亚。这一点,这一技术几乎使这项服务无法使用。

      例如,一个服务名称是再设计主管服务,与ClosterIP相对应:港口:6379,有关环境变量是:


      DNS:集群内的服务发现可以通过迅速创建KubeDNS作为集群附加件来实现。

      其中一种制度以TCP为基础,而DNS通常以UDP为基础,两者都以四级协议为基础。

      五种Pod共享资源

      K8s公司最基本的业务单位是Pod公司。包括一个或一个以上紧密相连的集装箱,集装箱化环境可能将波德作为应用层的“逻辑主机”;波德的许多包装应用软件往往紧密相连。在节点上,波德是形成、开始或删除的;每个波德人运行一个特定的音量上升音量。因此,它们的通信和数据共享效率更高。在将一系列密切连通的服务流程纳入同一波德时,可以充分利用这一能力。

      同一个Pod的集装箱只能通过当地主机相互通讯。

      下列资源由一个波德的所有集装箱分享:

      PID 名称空间: Pod 中的各种应用程序可以查看其他应用程序的程序代号 。

      Pod的几个集装箱由于网络名称空间,可以进入同样的IP和港口范围。

      IPC 命名空间:波德的几个集装箱可以通过系统V IPC或POSIX 信息队列相互通讯。

      UTS命名空间:在Pod的若干集装箱共用主机名称。

      容量:波德的每个集装箱都可以进入波德界定的容量。

      复制控制器管理 Pod 的生命周期; 它由模板指定, 然后指定给节点, 当 Pod 包含容器时终止 。

      Kubernetes为每个 Pod 创建了独特的网络设置, 其中包括为每个 Pod 指定IP 地址, 并使用 Pod 名称作为黄金时代的通信主机名 。

      六个CNI常用插件

      CNI(集装箱网络接口)的网络界面,它汇集了Linux集装箱网络配置的标准和银行。根据这些标准和储存库,用户必须创建自己的集装箱网络插件。CNI仅侧重于集装箱网络连接和拆卸集装箱期间的资源释放。提供一套框架,因此,CNNI可以处理广泛的网络模型。并且容易实现。

      下面的图示描述了六个最常用的 CNI 插件:


      七层负载均衡

      就服务器之间的通信而言,必须首先增加负载平衡。

      因特网数据中心(又称数据中心或机房)是服务器所在地,国际数据中心网络是服务器之间通信的链接。


      有很多网络设备,它们用来做什么?

      路由器、开关和MGW/NAT是网络装置,根据性能以及内部和外部网络发挥各种功能。

      内联网接入开关,又称TOR(轨道顶端),是服务器的网络接入装置,每个内部网络接入开关都有40-48个服务器,通过网络段与服务器连接,其中24个是服务器网络段的掩码。

      核心内部网络开关:在国际数据中心,该开关负责内部网络接入开关的交通转运和转运。

      MGW/NAT:MGW或LVS用于负载平衡,而NAT用于网络内部设备与外部网络连接时的地址转换。

      外部净核心路由器使用静态互联操作员或BGP与美国外联网平台连接。

      让我们从层负载平衡开始:

      第二层负载平衡:基于MAC地址的第二层负载平衡。

      三个层次的负载平衡: 负载平衡取决于 IP 地址 。

      负载平衡有四层:负载平衡取决于 IP+ 端口。

      负载平衡分为七层:负载平衡取决于诸如 URL 等应用层信息。

      下图显示4至7级负载平衡的差额:


      发现前四级服务主要使用 k8s 的 原始 kube- proxy 模式。K8主要通过节点港获得服务。通过连接一个端口 与仆人主机,你可以随后,Pod的要求被发出,并均衡地装载。然而,这一技术有以下缺陷:

      如果每项服务附属于节点港口,东道方必须开放外部港口,以进行服务呼叫和管理不善。

      许多企业所要求的防火墙限制无法实施。

      最佳方法是使用外部负载均分法。绑定固定的端口,比如80,这篇文章是全球之声在线特稿的一部分。恩金克斯是解决这一问题的极好办法。但问题是,如果人们想参加这项服务,他们就必须这样做。如何更改 Nginx 配置并且加载这些配置?入侵是Kubernetes提供的解决办法。该课程分为七级。

      八种隔离维度

      K8s组群的这一侧需要类似的发送机制,以便从上到下从厚到罚款进行自上到底的分离。

      九个网络模型原则

      K8s网络模式基于四个基本理念:三个网络要求原则、一个建筑原则和一个知识产权原则。

      每个Pod都有自己的IP地址,所有Pod都假定居住在一个平坦的、可直接进入的网络空间中,无论它们是否在同一节点运作,都可以通过Pod IP进入。

      在 K8 中, Pod 的 IP 是最小的粒子大小 IP。 在同一 Pod 中的所有容器都共享一个网络堆叠, 称为 IP- per- Pod 模式 。

      来自 docker0 的 Pod 实际 IP 分布

      Pod的内部IP地址和港口与外部世界是一致的。

      同一波德内部的各种集装箱共享网络,与同一VM内部的不同流程一样,通过当地东道方进入彼此的港口。

      在港口分配、域名划分、服务发现、负载平衡、应用配置等方面,IP-per-Pod方法可被视为独立的VM或虚拟机器。

      在非NT状态下,所有容器都可以相互作用。

      在不同的NAT设置下,所有节点都可以与所有容器的心痛相匹配,反之亦然。

      集装箱的地址与其他集装箱使用的地址相同。

      要符合下面的架构:


      知识产权概念取自以上结构,从组群的外部到组群的内部。


      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/24395.html

          热门文章

          文章分类