先容kubernetes的功能与架构及其组件

[复制链接]
发表于 2026-2-27 13:26:33 | 显示全部楼层 |阅读模式
一、功能简介

1、服务发现和负载均衡

     Kubernetes 可以利用 DNS 名称或本身的 IP 地点公开容器, 假如进入容器的流量很大, Kubernetes 可以负载均衡并分配网络流量, 从而使摆设稳固. 常用的DNS插件为coreDNS, 用作服务发现和集群中容器通讯; 负载均衡器常利用集群内的service资源举行对外袒露服务, 同时也提供ingress插件接口对外袒露服务
  2、存储编排

    Kubernetes 答应你自动挂载你选择的存储体系, 比方当地存储、公共云提供商等. 对于集群内部的应用偶尔会须要长期化数据, 这时容器假如被删除数据也会随之消散, 以是一个稳固的外部存储集群就显得很告急了; 常见的对k8s提供存储本事的集群有: heketi + gluesterfs 、Rook + Ceph、阿里云OSS等, 共同集群内的storageclass可直接向存储集群申请存储空间  
  3、自动摆设与回滚

     你可以利用 Kubernetes 形貌已摆设容器的所需状态, 它可以以受控的速率将现实状态 更改为盼望状态. 比方, 你可以自动化 Kubernetes 来为你的摆设创建新容器, 删除现有容器并将它们的全部资源用于新容器. 控制k8s集群中容器的状态大多数时间都会接纳 yaml 资源设置清单的情势, 方便影象也易于辨认  
  4、资源隔离

     Kubernetes 答应你指定每个容器所需 CPU 和内存(RAM). 当容器指定了资源哀求时, Kubernetes 可以做出更好的决议来管理容器的资源. 这就与Linux操纵体系中的资源限额有关系了, 有些容器在吸收高并发访问的时间, 通常会无穷制的占用宿主机资源, 从而导致其他服务容器争抢不到应有的资源举行运行和服务, 从而导致大面积瘫痪  
  5、自我修复

     Kubernetes 重新启动失败的容器、更换容器、杀死不相应用户界说的 运行状态查抄的容器, 而且在准备好服务之前不将其告示给客户端. 在创建pod的时间, 只有当设置在pod中的探针全部探测正常后才会将pod毗连到集群内网络中对外举行服务, 否则将通过监控监控告警给运维职员; 同样的对于k8s中的容器会受到kubelet和kube-apiserver的双重管理, kubelet上报容器运行状态, api-server向etcd中哀求盼望状态, 比力后让其到达盼望的状态, 从而包管其功能/服务容器永世保持在线  
  6、密钥与设置管理

     Kubernetes 答应你存储和管理敏感信息, 比方暗码、OAuth 令牌和 ssh 密钥. 你可以在不重修容器镜像的环境下摆设和更新密钥和应用步调设置, 也无需在堆栈设置中袒露密钥. 对于无状态应用(exam: nginx)的设置文件, 可以利用k8s中的configmap资源举行存储, 但对于暗码和某些私密信息而言就可以利用secret资源举行存储, 从而克制频仍更改和私密信息走漏的风险
   二、kubernetes的架构及其组件



     一个 Kubernetes 集群由一组被称作节点的呆板构成。这些节点上运行 Kubernetes 所管理的容器化应用。集群具有至少一个工作节点。工作节点托管作为应用负载的组件的 Pod 。控制平面管理集群中的工作节点和 Pod 。 为集群提供故障转移和高可用性,这些控制平面一样平常跨多主机运行,集群跨多个节点运行。
   1、kube-apiserver

   API 服务器是 Kubernetes 控制面的组件, 该组件公开了 Kubernetes APIAPI 服务器是 Kubernetes 控制面的前端。Kubernetes API 服务器的告急实现是 kube-apiserver。 kube-apiserver 操持上思量了水平伸缩,也就是说,它可通过摆设多个实例举行伸缩。 你可以运行 kube-apiserver 的多个实例,并在这些实例之间均衡流量。
  2、etcd

   etcd 是兼具划一性和高可用性的键值数据库,可以作为生存 Kubernetes 全部集群数据的背景数据库。你的 Kubernetes 集群的 etcd 数据库通常须要有个备份操持。要相识 etcd 更深条理的信息,请参考 etcd 文档
  3、kube-scheduler

   控制平面组件,负责监督新创建的、未指定运行节点(node)的 Pods,选择节点让 Pod 在上面运行。调治决议思量的因素包罗单个 Pod 和 Pod 聚集的资源需求、硬件/软件/计谋束缚、亲和性和反亲和性规范、数据位置、工作负载间的干扰和末了时限。
  4、kube-controller-manager  

   运行控制器历程的控制平面组件。从逻辑上讲,每个控制器都是一个单独的历程, 但是为了低沉复杂性,它们都被编译到同一个可实验文件,并在一个历程中运行。这些控制器包罗:
  

  • 节点控制器(Node Controller):负责在节点出现故障时举行关照和相应
  • 任务控制器(Job controller):监测代表一次性任务的 Job 对象,然后创建 Pods 来运行这些任务直至完成
  • 端点控制器(Endpoints Controller):添补端点(Endpoints)对象(即参加 Service 与 Pod)
  • 服务帐户和令牌控制器(Service Account & Token Controllers):为新的定名空间创建默认帐户和 API 访问令牌
5、cloud-controller-manager

   云控制器管理器是指嵌入特定云的控制逻辑的 控制平面组件。 云控制器管理器使得你可以将你的集群毗连到云提供商的 API 之上, 并将与该云平台交互的组件同与你的集群交互的组件分离开来。cloud-controller-manager 仅运行特定于云平台的控制回路。 假如你在本身的环境中运行 Kubernetes,大概在当地盘算机中运行学习环境, 所摆设的环境中不须要云控制器管理器。与 kube-controller-manager 雷同,cloud-controller-manager 将多少逻辑上独立的 控制回路组合到同一个可实验文件中,供你以同一历程的方式运行。 你可以对着实验水平扩容(运行不止一个副本)以提拔性能大概增强容错本事。下面的控制器都包罗对云平台驱动的依赖:
  

  • 节点控制器(Node Controller):用于在节点克制相应后查抄云提供商以确定节点是否已被删除
  • 路由控制器(Route Controller):用于在底层云根本架构中设置路由
  • 服务控制器(Service Controller):用于创建、更新和删除云提供商负载均衡


6、Node组件

   节点组件在每个节点上运行,维护运行的 Pod 并提供 Kubernetes 运行环境。  
  7.kubelet

   一个在集群中每个节点(node)上运行的署理。 它包管容器(containers)都 运行在 Pod 中。kubelet 吸收一组通过各类机制提供给它的 PodSpecs,确保这些 PodSpecs 中形貌的容器处于运行状态且康健。 kubelet 不会管理不是由 Kubernetes 创建的容器  
  8、kube-proxy

   kube-proxy 是集群中每个节点上运行的网络署理, 实现 Kubernetes 服务(Service) 概念的一部门。kube-proxy 维护节点上的网络规则。这些网络规则答应从集群内部或外部的网络会话与 Pod 举行网络通讯。假如操纵体系提供了数据包过滤层并可用的话,kube-proxy 会通过它来实现网络规则。否则, kube-proxy 仅转发流量本身。  
  9、容器运行时(Container Runtime)

   容器运行环境是负责运行容器的软件。Kubernetes 支持容器运行时,比方 Docker、 containerd、CRI-O 以及 Kubernetes CRI (容器运行环境接口) 的其他任何实现。  
  10、插件(Addons)

   插件利用 Kubernetes 资源实现集群功能。 由于这些插件提供集群级别的功能,插件中定名空间域的资源属于 kube-system 定名空间。下面形貌浩繁插件中的几种。有关可用插件的完备列表,请拜见 插件(Addons)。
  11、DNS
   只管其他插件都并非严酷意义上的必须组件,但险些全部 Kubernetes 集群都应该 有集群 DNS, 由于许多示例都须要 DNS 服务。集群 DNS 是一个 DNS 服务器,和环境中的其他 DNS 服务器一起工作,它为 Kubernetes 服务提供 DNS 纪录。Kubernetes 启动的容器自动将此 DNS 服务器包罗在其 DNS 搜索列表中。
  12、Web 界面(仪表盘)
   Dashboard 是 Kubernetes 集群的通用的、基于 Web 的用户界面。 它利用户可以管理集群中运行的应用步调以及集群本身并举行故障扫除。
  13、容器资源监控监控
   容器资源监控监控 将关于容器的一些常见的时间序列度量值生存到一个会集的数据库中,并提供用于欣赏这些数据的界面。
  14、集群层面日志日志
   集群层面日志日志 机制负责将容器的日志日志数据 生存到一个会集的日志存储中,该存储可以或许提供搜索和欣赏接口 ELK/Loki+grafana
   


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表