在K8S中各个组件及其作用?

Kubernetes(简称K8s)是一个强大的容器编排系统,其主要组件及其作用如下:

  1. kube-apiserver

    • 集群的主入口点,提供了RESTful API接口供用户或内部组件与集群进行交互。它负责验证和配置数据,并将所有请求持久化存储在etcd中。
  2. etcd

    • 分布式键值存储系统,用于保存集群的所有关键配置数据和状态信息。它是Kubernetes的核心数据库,保证了数据的一致性和可靠性。
  3. kube-scheduler

    • 负责决定Pod运行在哪一个Node上。根据资源需求、节点条件以及调度策略对未分配的Pod进行调度决策。
  4. kube-controller-manager

    • 运行一系列控制器,这些控制器是控制循环,持续监控集群的实际状态并将其调整到期望状态。常见的控制器包括ReplicationController(确保指定数量的Pod副本始终运行)、NamespaceController、EndpointController、NodeController等。
  5. cloud-controller-manager(可选):

    • 当部署在云环境中时,该组件负责处理与底层云平台相关的任务,如管理云提供商的负载均衡器、卷服务、路由表等。
  6. kubelet

    • 在每个工作节点(Node)上运行,作为Kubernetes与主机操作系统之间的桥梁。kubelet负责接收API服务器的指令,在本机创建、启动、停止Pod及容器,并通过cAdvisor收集节点和容器的健康状况和资源使用情况。
  7. container runtime(例如Docker、containerd或CRI-O):

    • 与kubelet协作,真正执行容器生命周期操作的低级别软件,包括镜像拉取、容器启动、停止和删除等。
  8. kube-proxy

    • 在每个Node上运行的服务代理,实现Service的网络抽象和负载均衡功能。它会根据Service定义更新iptables或IPVS规则,以实现在集群内部和外部正确地访问服务。
  9. CoreDNS 或早期版本的 kube-dns

    • 提供集群内服务发现能力的DNS服务器,将服务名解析为实际的服务IP地址,使得集群内的Pod能够通过名称访问其他服务。

综上所述,以上组件协同工作,共同构成了Kubernetes强大的容器编排和集群管理能力。

相关推荐
骂我的人都死了17 小时前
DevOps架构部署
运维·ubuntu·docker·k8s·github·devops·python3.11
青衫客361 天前
从 TLS 到 Kubernetes PKI:一条证书链如何支撑整个集群安全(问题合集)
容器·kubernetes·k8s·tls
小白不想白a5 天前
pod调度--预选阶段(重点说容忍)
k8s·运维开发
_运维那些事儿7 天前
GitLabCI-CD入门
运维·ci/cd·容器·云计算·k8s·运维开发
yumenai_8 天前
【K8s 避坑指南】2026 最新 Kubernetes v1.28 + Containerd 安装全流程(内网/离线通用版)
ubuntu·云原生·容器·kubernetes·k8s
玄德公笔记8 天前
Prometheus监控k8s的metric详解(第二版)-01-scrape 指标抓取
kubernetes·k8s·prometheus·监控·metric·scrape·k8s监控
岁岁种桃花儿11 天前
详解kubectl get replicaset命令及与kubectl get pods的核心区别
运维·nginx·容器·kubernetes·k8s
Paraverse_徐志斌12 天前
K8S HPA + KEDA 弹性伸缩消费者解决 MQ 消息积压
容器·kafka·kubernetes·k8s·linq·hpa·keda
linweidong12 天前
K8s节点保卫战:基于Node Local DNS架构的磁盘自愈系统设计
运维·docker·云原生·容器·架构·kubernetes·k8s
2301_8107463112 天前
CKA冲刺40天笔记 - day10 K8S namespace
笔记·容器·kubernetes·k8s