首页 > 其他分享 >k8s的五大组件

k8s的五大组件

时间:2025-01-18 18:42:57浏览次数:1  
标签:状态 Kubernetes Server API 集群 组件 五大 k8s 节点

Kubernetes 核心组件及其功能

Kubernetes(K8s)是一个强大的容器编排平台,能够自动化容器化应用程序的部署、扩展和管理。其架构由多个组件协作完成,以下是 Kubernetes 的五大核心组件及其功能。

1. API Server (kube-apiserver)

  • 作用:Kubernetes 的所有请求都会通过 API Server,它是集群的入口点。
  • 功能
    • 管理集群的状态:API Server 是集群内所有组件之间交互的中心,它负责暴露集群 API,处理所有与 Kubernetes 相关的请求,并确保请求对集群状态的一致性。
    • 提供 REST API:所有与 Kubernetes 集群交互的操作都是通过 REST API 完成的。API Server 接收请求(如创建、更新、删除 Pod、Service 等资源),并将这些请求转发到相关组件或存储系统。
    • 认证与授权:API Server 负责认证(验证用户身份)和授权(检查用户是否有权限)请求。
    • 集群配置:所有的资源对象(如 Pod、Service 等)都会通过 API Server 存储到 etcd 中。

2. Controller Manager (kube-controller-manager)

  • 作用:控制器管理器是 Kubernetes 控制循环的核心,确保集群状态与期望状态一致。
  • 功能
    • 控制器:控制器是一个控制循环,它不断监视集群资源,确保集群的实际状态与用户期望的状态保持一致。例如,ReplicaSet 控制器会确保指定数量的副本 Pods 始终在运行。
    • 多种控制器:kube-controller-manager 运行多个控制器,如 ReplicaSet、Deployment、Job、DaemonSet 等,每个控制器有不同的功能。
    • 集群管理:控制器根据集群的当前状态和期望状态做出调整,自动调整资源和调度策略。

3. Etcd

  • 作用:etcd 是一个高可用的键值存储系统,用于存储 Kubernetes 集群的所有配置信息和状态数据。
  • 功能
    • 存储集群状态:所有的 Kubernetes 配置、资源对象、集群状态数据都存储在 etcd 中,etcd 是集群的持久化存储系统。
    • 高一致性和强一致性:etcd 确保了存储数据的一致性,所有组件都通过 etcd 获取配置信息,并根据其状态作出调整。
    • 高可用:etcd 集群是分布式的,通过多节点保证高可用性,防止单点故障。

4. Scheduler (kube-scheduler)

  • 作用:调度器负责将 Pods 分配到集群中的具体节点上。
  • 功能
    • 调度决策:Scheduler 通过检查每个节点的资源(CPU、内存等)以及 Pod 的要求(如节点选择器、亲和性等),决定哪些节点适合运行特定的 Pod。
    • 优先级和策略:Scheduler 会根据不同的调度策略(如资源需求、亲和性、反亲和性等)决定 Pod 的部署位置。
    • 调度延迟:一旦有新的 Pod 需要调度,调度器会基于集群的当前状态(包括资源分配、节点健康等)做出调度决策。

5. Kubelet (kubelet)

  • 作用:Kubelet 是每个节点上的主要代理,负责确保容器在节点上正确运行。
  • 功能
    • 容器管理:Kubelet 会根据 Pod 定义,确保每个容器在其节点上正确启动和运行。它会定期向 API Server 报告容器的状态。
    • 健康检查:Kubelet 会根据健康检查和就绪探针(liveness probes 和 readiness probes)来决定容器是否需要重启或杀死。
    • Pod 管理:Kubelet 负责在本地节点上启动、停止和维护 Pod,确保 Pod 的状态与期望状态一致。
    • 与控制平面通信:Kubelet 向 API Server 报告节点的状态,并根据 API Server 的命令执行操作。

组件 功能
API Server 处理所有客户端请求,提供 REST API 接口,验证和授权请求,管理集群的状态和资源。
Controller Manager 运行控制器来确保集群的实际状态与期望状态一致,管理 ReplicaSet、Deployment 等控制器。
Etcd 存储 Kubernetes 配置和集群状态数据,确保所有配置信息的一致性和可靠性。
Scheduler 负责将 Pods 分配到集群中合适的节点,根据资源需求和调度策略进行决策。
Kubelet 负责在节点上运行容器,保证容器按预期启动并运行,执行健康检查,报告节点状态给 API Server。

标签:状态,Kubernetes,Server,API,集群,组件,五大,k8s,节点
From: https://www.cnblogs.com/leojazz/p/18678715

相关文章

  • k8s集成MinIo
    本篇文章分享一下在k8s怎么集成 minio做存储,并实现PersistentVolume(PV)、PersistentVolumeClaim(PVC)、动态存储卷StorageClass,以及演示让pod使用这些存储卷的完整流程。一、理论1、PV概念PV是对K8S存储资源的抽象,PV一般由运维人员创建和配置,供容器申请使用。没有PV......
  • Vue.js组件开发-实现后端返回二进制文件在浏览器自动下载
    在Vue.js组件开发中,若需实现从后端获取二进制文件并触发浏览器自动下载,可以利用axios(或其他HTTP客户端库)来向后端发送请求,随后利用Blob对象及URL.createObjectURL方法生成一个可供下载的链接,最后通过创建一个隐藏的<a>元素或利用window.location来启动下载。步骤‌1.发送请求......
  • Kubernetes (K8s) 权限管理指南
    1.引言Kubernetes(K8s)作为当今最流行的容器编排平台,其安全性至关重要。本指南旨在全面介绍K8s的权限管理机制,帮助具有一定基础的读者深入理解并掌握这一关键领域。©ivwdcwso(ID:u012172506)2.Kubernetes安全模型概述K8s的安全模型主要包括三个阶段:认证(......
  • Kubernetes(k8s)和Docker Compose本质区别
    Kubernetes(简称k8s)和DockerCompose是容器编排领域的两大重要工具,虽然它们都用于管理和编排容器化应用,但在设计目标、功能特性、使用场景和复杂度上存在显著差异。以下将从多个方面详细探讨Kubernetes和DockerCompose的本质区别。一、设计目标与应用场景1.KubernetesK......
  • 对于 Blazor 组件虚拟化支持flex-wrap: wrap与网格布局的研究 [三]
    接上篇文章对于Blazor组件虚拟化支持flex-wrap:wrap与网格布局的研究[二]监控元素的宽度变化动态计算为了监控id="div-test"元素的宽度变化,你可以使用ResizeObserverAPI。以下是如何实现的步骤:在App.razor或_Host.cshtml或wwwroot/index.html文件中添加一个Ja......
  • 对于 Blazor 组件虚拟化支持flex-wrap: wrap与网格布局的研究 [二]
    接上篇文章对于Blazor组件虚拟化支持flex-wrap:wrap与网格布局的研究[一]自适应可以试封装成组件,公开itemsPerRow和itemsHeight等参数,配合查询父元素/屏幕宽度,就能自适应调节了.在Blazor组件中使用JavaScript互操作来查询id="div-test"元素的渲染宽度。以......
  • 对于 Blazor 组件虚拟化支持flex-wrap: wrap与网格布局的研究
    接上篇文章Blazor通过组件虚拟化提高性能问题我想使用虚拟化来呈现项目。我使用的是弹性布局,flex-wrap:wrap当宽度完全用完时,我会将这些项目包裹起来()。第一个项目将按预期呈现(只要您没有触摸滚动条)。开始滚动时,所有项目都会闪烁,并且控件不再可用。<PageTitle>Virtualized......
  • Blazor 通过组件虚拟化提高性能
    了解组件虚拟化如何优化Blazor应用程序的渲染性能.介绍在使用数据驱动的应用程序时,我们迟早要在列表中呈现数量多得令人难以忍受的项目。作为开发人员,我们总是希望用户界面尽可能清晰,并且只包含执行特定操作所需的数据。但是,如果产品所有者要求呈现10000或100000个项目怎......
  • 云原生&K8S&confing泄露&etcd&proxy
    一、Etcd未授权访问攻击port:2379;默认通过证书认证,主要存放节点的数据,如一些token证书。第一种情况:没有配置--client-cert-path参数打开证书验证(或者改为false),暴露外Etcd服务存在未授权访问风险;暴露外部可以访问,直接未授权访问获取secrets和token利用;第二种在打开证书......
  • 【k8s面试题2025】1、练气期
    主要通过呼吸吐纳等方法,将外界的天地灵气吸入体内,初步改造身体,使身体素质远超常人。文章目录docker和虚拟机的不同Kubernetes和docker的关系Kube-proxyIPVS和iptables的异同蓝绿发布Kubernetes中常见的数据持久化方式关于Dockerfile中`COPY`和`ADD`指令......