AnyBackup
性能爆表
AnyShare
如何购买
我已是Anyshare 客户
AnyRobot
如何购买
购买 AnyRobot 订阅服务
我已是 AnyRobot 客户
一对一在线咨询
我是 AnyRobot 新客户
一对一在线咨询

爱数博客

全部 AnyBackup AnyShare AnyRobot AnyDATA AnyFabric

AnyRobot云原生Kubernetes技术架构讲解

2023-09-21 1102 0
  众所周知,AnyRobot采用云原生Kubernetes技术架构,那我们有必要了解下,Kubernetes到底是什么,包括Kubernetes的技术架构。
     在了解Kubernetes架构之前,我们有必要了解下,Kubernetes基本概念。

一:Kubernetes是什么
   Kubernetes 是Google开源的分布式容器管理平台,是为了更方便的在服务器中管理我们的容器化应用。
   Kubernetes 简称 K8S,为什么会有这个称号?因为K和S是 Kubernetes 首字母和尾字母,而K和S中间有八个字母,所以简称 K8S,加上 Kubernetes比较绕口,所以一般使用简称 K8S。
   Kubernetes 即是一款容器编排工具,也是一个全新的基于容器技术的分布式架构方案,在基于Docker的基础上,可以提供从 创建应用>应用部署>提供服务>动态伸缩>应用更新一系列服务,提高了容器集群管理的便捷性。

二、Kubernetes的基本概念及相关术语
  下图是K8S的一个集群,在这个集群中包含三台宿主机,通过这三台宿主机,我们形成了一个完整的集群,从角色划分,可以分为两种:
  •  一种是 Kubernetes Master主服务器,它是整个集群的管理者,它可以对整个集群的节点进行管理,通过主服务器向这些节点,发送创建容器、自动部署、自动发布等功能,并且所有来自外部的数据都会由 Kubernetes Master进行接收并进行分配。
  • 还有一种就是 node节点, 节点可以是一台独立的物理机也可以是一个虚拟机,在每个节点中都有一个非常重要的 K8S 独有的概念,就是Pod,Pod是K8S最重要也是最基础的概念。

  和其它技术一样,Kubernetes 也会采用一些专用的词汇,这可能会对初学者理解和掌握这项技术造成一定的障碍。为了帮助您了解 Kubernetes,我们在下面来解释一些常用术语。
  • 主机(Master): 用于控制 Kubernetes 节点的计算机。所有任务分配都来自于此。
  • 节点(Node):负责执行请求和所分配任务的计算机。由 Kubernetes 主机负责对节点进行控制。
  • 容器集(Pod):被部署在单个节点上的,且包含一个或多个容器的容器组。同一容器集中的所有容器共享同一个 IP 地址、IPC、主机名称及其它资源。容器集会将网络和存储从底层容器中抽象出来。这样,可以更加轻松地在集群中移动容器。
  • 复制控制器(Replication controller):用于控制应在集群某处运行的完全相同的容器集副本数量。
  • 服务(Service):将工作内容与容器集分离。Kubernetes 服务代理会自动将服务请求分发到正确的容器集——无论这个容器集会移到集群中的哪个位置,甚至可以被替换掉。
  • Kubelet:运行在节点上的服务,可读取容器清单(container manifest),确保指定的容器启动并运行。
  • kubectl: Kubernetes 的命令行配置工具。

三、Kubernetes整体架构
       以上讲解了Kubernetes基本概率以及Kubernetes集群组成方式,那么接下来,我们来讲解下Kubernetes技术架构。    
      通常都是通过 kubectl 对 Kubernetes 下达命令,它通过 APIServer 去调用各个进程来完成对 Node 的部署和控制。APIServer 的核心功能是对核心对象(例如:Pod,Service,RC)的增删改查操作,同时也是集群内模块之间数据交换的枢纽,它包括了常用的 API,访问(权限)控制,注册,信息存储(etcd)等功能。在它的下面我们可以看到 Scheduler,它将待调度的 Pod 绑定到 Node 上,并将绑定信息写入 etcd 中。etcd 包含在 APIServer 中,用来存储资源信息。接下来就是 Controller Manager 了,如果说 Kubernetes 是一个自动化运行的系统,那么就需要有一套管理规则来控制这套系统。Controller Manager 就是这个管理者,或者说是控制者。它包括 8 个 Controller,分别对应着副本、节点、资源、命名空间、服务等等,紧接着,Scheduler 会把 Pod 调度到 Node 上,调度完以后就由 kubelet 来管理 Node 了。kubelet 用于处理 Master 下发到 Node 的任务(即 Scheduler 的调度任务),同时管理 Pod 及 Pod 中的容器。在完成资源调度以后,kubelet 进程也会在 APIServer 上注册 Node 信息,定期向 Master 汇报 Node 信息,并通过 cAdvisor 监控容器和节点资源。由于,微服务的部署都是分布式的,所以对应的 Pod 以及容器的部署也是。为了能够方便地找到这些 Pod 或者容器,引入了 Service(kube-proxy)进程,它来负责反向代理和负载均衡的实施。

请就本文对您的益处进行评级:

标签

产品技术

相关文章

热门标签

版本发布 在线教学

拨打400

免费销售咨询热线

400 8216055

7*24 小时免费售后服务热线

400 880 1569

购买咨询

购买咨询

售后服务

售后服务

返回顶部

为了给您提供更优质的服务,请您先完善以下信息:
确认提交

扫码关注

爱数技术支持中心公众号