我所理解的kubernetes组件

1. Kubernetes 算得上是一种操作系统吗?

算。什么是 OS,例如在物理服务器上,它用于对物理服务器硬件资源的抽象,并对进程进行调度等等。那么 Kubernetes 就是对云上资源的抽象,并对云原生微服务应用进行调度。Kubernetes 可以对公有云、私有云进行统一抽象,并实现对负载的无缝迁移和均衡,不会永远被绑定在某一个特定的云上。 OS,能屏蔽底层的复杂性,例如 Linux ,我们不用关心程序运行在哪个 CPU 核心上,OS 已经搞定了。

Kubernetes 对应用程序进行了类似的管理,无须明确对应用程序在哪个节点或存储端上进行硬编程。

2.我理解的 Kubernetes 组件的作用

2.1 主节点上的组件

2.1.1 API Server 负责集群中所有组件通信。访问它必须经过授权与认证。

2.1.2 集群存储 在控制平面中,只有集群存储是有状态的(会持久化的意思),存储集群的配置与状态。Kubernetes 底层用 etcd。etcd 认为一致性比可用性更加重要。对于所有分布式数据库,操作性的一致性至关重要。etcd 使用 Raft 一致性算法解决这个问题。

2.1.3 Controller 管理器 Controller 管理器实现了控制循环,完成集群监控与事件响应。它负责创建 controller。一般控制循环包括:工作节点 controller、终端 controller 以及副本 controller。集群监控目的是保证集群当前状态与期望状态相匹配。集群监控基础逻辑大致如下: * 获取期望状态。 * 观察当前状态。 * 判断差异。 * 变更消除差异点。

2.1.4 调度器 调度器职责是监听 API Server 来启动工作任务,并分配合适的节点。它的核心是排序系统,该系统有评分机制,将工作分配到分数最高的节点来运行任务。调度器确定可以执行任务的节点后,还会再进行前置校验,例如该节点是否仍然存在、分配的任务需要的端口当前选择的工作节点是否可以访问等,如果无法通过,该节点会被直接忽略,如果调度器最后无法找到合适的工作节点,则当前任务无法被调度,并被标记为暂停状态。需要特别注意,调度器不负责运行任务,只为任务负责分配合适的工作节点。

2.2 工作节点上的组件

2.2.1 Kubelet 工作节点的核心部分。新工作节点加入节点后,Kubelet 会被部署到新节点,然后 Kubelet 将当前节点注册到集群中。它还有一个职责,监听 API Server 分配的任务,监听到就执行该任务,并维护一个与控制平面的通信频道。

2.2.2 容器运行时 工作节点需要通过它来获取、启动、停止执行任务依赖的容器,它负责容器管理与运行逻辑。

展开阅读全文

页面更新:2024-04-02

标签:组件   节点   集群   抽象   容器   合适   分配   状态   核心   工作

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top