首页 > 其他分享 >在K8S中,体系结构有哪些不同的组成部分?

在K8S中,体系结构有哪些不同的组成部分?

时间:2024-10-26 20:58:36浏览次数:1  
标签:容器 插件 K8s 哪些 集群 Pod K8S 节点 体系结构

Kubernetes(简称K8s)的体系结构是一个复杂但高度组织化的系统,它包含多个不同的组成部分,这些部分协同工作以实现容器化应用程序的自动化部署、扩展和管理。以下是K8s体系结构的详细组成部分:

1. 控制平面(Control Plane)

控制平面是K8s集群的管理核心,负责整体的集群管理和控制。它包含以下关键组件:

  1. API Server
    • 提供Kubernetes API接口,这是集群内外与Kubernetes交互的主要方式。
    • 接收来自用户和其他组件的请求,如Pod的创建、删除、查询等,并将这些请求存储到Etcd中。
  2. Etcd
    • 一个分布式的键值存储系统,用于存储集群的配置信息、元数据和状态数据。
    • 它是K8s集群的“大脑”,确保集群状态的一致性和可靠性。
  3. Controller Manager
    • 负责监控Etcd中的资源对象状态,并根据定义的规则自动管理集群中的各种控制器。
    • 这些控制器包括副本集控制器、服务控制器、命名空间控制器等,它们确保集群中的资源对象符合预期的状态。
  4. Scheduler
    • 负责根据定义的调度策略将容器(Pod)部署到合适的节点上。
    • 它考虑节点资源的可用性和约束,以及Pod的资源需求和亲和性等因素。
2. 节点(Node)

节点是Kubernetes集群中的工作节点,负责运行容器。每个节点都包含以下组件:

  1. Kubelet
    • 每个节点上的主要“节点代理”,负责与控制平面通信。
    • 接收来自控制平面的指令,如创建、删除Pod等,并管理节点的容器运行时。
  2. 容器运行时(Container Runtime)
    • 如Docker、containerd等,用于拉取容器镜像并启动容器。
    • 它为容器提供运行时环境,包括文件系统、网络、进程等。
  3. Kube-Proxy
    • 负责维护节点上的网络规则,实现服务发现和负载均衡。
    • 它通过iptables或IPVS等机制转发流量到相应的Pod。
3. 核心对象
  1. Pod
    • K8s中的最小部署单元,包含一个或多个紧密耦合的容器。
    • Pod是K8s管理的基本单元,它提供了容器运行所需的资源和环境。
  2. Service
    • K8s中用于将容器暴露给集群外部的抽象概念。
    • 它通过定义Service资源对象来实现负载均衡和服务发现,使得集群内外的组件可以方便地访问Pod提供的服务。
  3. Volume
    • K8s通过卷(Volume)机制来实现容器的持久性存储。
    • 卷可以由Pod使用,并可以通过不同的存储插件来实现不同的存储后端,如本地磁盘、网络存储和云存储等。
4. 其他组件和概念
  1. Namespace
    • K8s提供的多租户功能,用于区分不同的项目、团队或用户。
    • 通过Namespace可以实现资源的隔离和权限管理。
  2. 标签(Labels)和选择器(Selectors)
    • 标签用于为资源对象添加元数据,选择器用于根据标签选择资源对象。
    • 它们提供了灵活的资源管理和查询机制。
  3. 网络插件
    • 如CNI(Container Network Interface)插件,用于实现K8s集群的网络功能。
    • 这些插件可以支持不同的网络模型和技术,如Flannel、Calico等。
  4. 存储插件
    • 如CSI(Container Storage Interface)插件,用于实现K8s集群的存储功能。
    • 这些插件可以支持不同的存储后端和协议,如Ceph、NFS等。

综上所述,K8s的体系结构由控制平面、节点、核心对象以及其他组件和概念组成。这些部分协同工作,共同实现了容器化应用程序的自动化部署、扩展和管理。

标签:容器,插件,K8s,哪些,集群,Pod,K8S,节点,体系结构
From: https://www.cnblogs.com/huangjiabobk/p/18504512

相关文章

  • 高级java每日一道面试题-2024年10月24日-JVM篇-说一下JVM有哪些垃圾回收器?
    如果有遗漏,评论区告诉我进行补充面试官:说一下JVM有哪些垃圾回收器?我回答:1.Serial收集器特点:Serial收集器是最古老、最稳定的收集器,它使用单个线程进行垃圾收集工作。在进行垃圾回收时,它会暂停所有用户线程,即StopTheWorld(STW)。单线程工作,适合单核CPU。在年......
  • 高级java每日一道面试题-2024年10月23日-JVM篇-说一下JVM有哪些垃圾回收算法?
    如果有遗漏,评论区告诉我进行补充面试官:说一下JVM有哪些垃圾回收算法?我回答:在Java虚拟机(JVM)中,垃圾回收(GarbageCollection,GC)是一项非常重要的功能,用于自动管理应用程序的内存。JVM采用多种垃圾回收算法来决定何时以及如何回收不再使用的对象所占用的内......
  • kubernetes(k8s)简易学习
    容器与虚拟机容器为一种虚拟化技术,用来隔离运行在宿主机上的不同进程,使得进程之间、进程与操作者OS相互隔离、互不影响的技术。共享主机操作系统内核,无需虚拟化整个硬件。单个容器跑单个应用。优点:简易部署、启动快速、组合服务、易于迁移。虚拟机需要完整操作系统、虚拟化硬......
  • 股市投资有哪些要点需要注意?
    炒股自动化:申请官方API接口,散户也可以python炒股自动化(0),申请券商API接口python炒股自动化(1),量化交易接口区别Python炒股自动化(2):获取股票实时数据和历史数据Python炒股自动化(3):分析取回的实时数据和历史数据Python炒股自动化(4):通过接口向交易所发送订单Python炒股自动化(5):......
  • 【K8S系列】Kubernetes pod节点Unknown 问题及解决方案详解【已解决】
    在Kubernetes中,Pod的状态为Unknown表示无法获取Pod的当前状态。这通常意味着KubernetesAPI服务器无法与Pod所在的节点通信,或者Kubelet进程遇到问题。以下将详细介绍Unknown状态的原因、解决方案以及如何配置健康检查以提高系统的稳定性。一、Unknown状态......
  • 你了解的spring框架有哪些
    列举一些重要的Spring模块?SpringCore: 基础,可以说Spring其他所有的功能都需要依赖于该类库。主要提供IOC依赖注入功能。**SpringAspects**:该模块为与AspectJ的集成提供支持。SpringAOP :提供了面向方面的编程实现。SpringJDBC :Java数据库连接。SpringJMS :Jav......
  • Apple 新品发布会亮点有哪些 | Swift 周报 issue 61
    文章目录前言新闻和社区苹果据称正洽谈投资OpenAI英伟达也有意跟投消息称苹果公司服务部门将裁员约百人,波及AppleBooks/AppleNews等业务苹果拟9月10日举行今年最重磅新品发布会,iPhone16亮相?都有哪些看点?提案正在审查的提案Swift论坛推荐博文话题讨论关......
  • k8s 1.28.2 集群部署 NFS server 和 NFS Subdir External Provisioner
    目录前言部署NFSserver镜像准备节点打标签启动NFSserver创建pv验证创建pvc创建pod挂载验证部署NFSSubdirExternalProvisioner创建pod验证提前创建pvc的方式使用volumeClaimTemplates的方式前言NFSSubdirExternalProvisioner可以使用现有的NFS服务器......
  • iframe有哪些加载事件
    iframe的加载事件有以下几个:1、onload事件;2、onunload事件;3、onunload事件。onload事件是iframe加载完成后触发的事件。当嵌套的页面完全加载并准备好时,这个事件会被触发。开发者可以使用这个事件来执行与加载内容相关的操作,例如修改iframe的样式、内容或与其交互。一、onload......
  • 服务器操作系统有哪些
    ###服务器操作系统有哪些?服务器操作系统的选择关键在于稳定性、安全性、兼容性以及支持的服务范围。常见的服务器操作系统包括Linux、WindowsServer、Unix、macOSServer以及Solaris。这些系统各有千秋,但广泛应用于不同的业务场景中。Linux因其出色的稳定性、开源性质和灵活的......