侧边栏壁纸
  • 累计撰写 45 篇文章
  • 累计创建 15 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

【kubernetes】节点与组件的基本概念

Administrator
2024-11-30 / 0 评论 / 0 点赞 / 25 阅读 / 2050 字 / 正在检测是否收录...

1. Master节点

Master节点是Kubernetes集群的控制节点,在生产环境找那个不建议部署集群核心组件外的任何容器(在Kubeadm安装方式下,系统组件以容器方式运行在Master节点的宿主机上;二进制安装方式下,系统组件以守护进程的方式运行,Master节点可以不运行任何容器)。

Master节点组件包括:

  • APIServer:整个集群的控制中枢,提供集群中各个模块之间的数据交换,并将集群状态和信息存储到分布式键-值(key-value)存储系统Etcd集群中。同时,它也是集群管理、资源配额、提供完备的安全机制的入口,为集群各类资源对象提供增删改查以及watch的REST API接口。

  • Scheduler:集群Pod的调度中心,主要通过调度算法将Pod分配到最佳的Node节点。Scheduler是集群可插拔式组件,它跟踪每个节点上的资源利用率以保证工作负载不会超过可用资源,将资源供应与工作负载需求相匹配以维持系统的可靠性和稳定性,因此,Scheduler在调度的过程中需要考虑公平、资源高效利用效率等方面的问题。

  • Controller Manager:集群状态管理器,以保证Pod或其他资源达到期望值。当集群中某个Pod的副本数或其他资源因故障或错误导致无法正常运行,没有达到期望值时,CController Manager会尝试自动修复并使其达到期望状态。

  • Etcd:用于可靠地存储集群的配置数据,是一种持久型、轻量型、分布式的键-值(key-value)数据存储组件。集群的灾难恢复、状态信息存储都与其密不可分,在kubernetes高可用集群中,Etcd的高可用是至关重要的一部分。

说明:Scheduler和Controller Manager属于有状态服务,虽然部署了多个节点,但同时工作的节点只有一个。为了防止重复调度,多个节点的Scheduler和Controller Manager进行了选主工作。

2. Node节点

Node节点也被称为Worker、Node和Minion,是主要负责部署容器(工作负载)的单机(或虚拟机),集群中的每个节点都必须具有容器的Runtime(运行时)。

Node节点组件包括:

  • Kubelet:负责与Master通信协作,管理该节点上的Pod,对容器进行健康检查及监控,同时负责上报节点和节点上面Pod的状态。

  • Kube-Proxy:负责各Pod之间的通信和负载均衡,将指定的流量分发到后端正确的机器上。

  • Docker Engine:Docker引擎,负责对容器的管理。

其他组件及工具:

  • CoreDNS:用于Kubernetes集群内部Service的解析,可以让Pod把Service名称解析成Service的IP,然后通过Service的IP地址连接到对应的应用上。

  • Calico:符合CNI标准的一个网路插件,它负责给每个Pod分配一个不会重复的IP,并且把每个结点当做一个“路由器”,这样一个节点的Pod就可以通过IP地址访问其他节点的Pod。

0
博主关闭了所有页面的评论