K8s所有的组件及其作用

1. 主要组件

1.1 控制平面组件
  • API Server:

    • 提供Kubernetes API的入口,与各个组件通信。
    • 负责请求的验证和转发。
  • etcd:

    • 分布式键值存储,存储集群的所有数据,包括配置信息和集群状态。
    • 本质上作为K8s的数据库。
  • Scheduler:

    • 监控新创建的Pods,并根据资源需求、优先级和调度策略将其分配到合适的Node上。
  • Controller Manager:

    • 负责管理控制循环的控制器,例如:
      • Replication Controller:确保指定数量的Pod副本在运行。
      • Node Controller:管理Node的状态。
      • Endpoint Controller:为服务创建和更新Endpoints。
1.2 工作节点组件
  • Kubelet:

    • Node上运行的代理,负责管理Pod的生命周期,确保它们按照定义的状态运行。
  • Kube-Proxy:

    • 负责服务的网络通信,维护网络规则以允许Pod与其他服务通信。
  • Container Runtime:

    • 负责实际运行容器的底层技术,例如Docker、containerd等。

2. 应用层组件

2.1 存储与网络
  • Persistent Volumes (PV) & Persistent Volume Claims (PVC):

    • PV是集群的存储资源,PVC是用户对存储资源的请求。
  • Ingress Controller:

    • 负责根据Ingress规则管理外部流量,常见的有Nginx、Traefik等。
2.2 资源管理
  • Pods:

    • K8s中的基本部署单位,可以包含一个或多个容器。
  • Replication Controller/ReplicaSet:

    • 确保所需数量的Pod副本始终可用。
  • Deployment:

    • 用于管理Pod和ReplicaSet的声明式更新,支持滚动升级和回滚。
  • StatefulSet:

    • 专为有状态服务设计,管理有状态的应用程序,例如数据库。
  • DaemonSet:

    • 确保在集群的每个Node上运行Pod实例,适合守护进程。
  • Job/CronJob:

    • Job用于一次性任务调度,CronJob用于定期任务调度。

3. 其他组件

  • ConfigMap & Secret:

    • 分别用于管理应用配置和敏感信息(如密码)。
  • Service:

    • 定义一组Pod的访问策略,可以实现负载均衡。
  • Network Policies:

    • 定义Pod间的网络通信策略,增加网络安全性。

4. 监控与管理工具

  • kubectl:

    • 命令行工具,用于与Kubernetes API进行交互。
  • Dashboard:

    • 基于Web的K8s管理接口,用于管理和可视化K8s资源。

总结

Kubernetes的架构设计使得其组件相互协作,以提供强大的容器编排和管理能力。每个组件在整个系统中的作用各有侧重,从控制平面到工作节点,再到应用层,形成了一个完整的生态系统。通过合理使用这些组件,可以实现灵活、高效的容器管理和服务部署。

相关推荐
谢白羽3 小时前
从传统运维到 AI Infra: K8s 上调度 100 张 GPU踩坑笔记
运维·人工智能·缓存·kubernetes·vllm·sglang·vllm-omni
xianyuCcCcCCCcc4 小时前
Kubernetes 资源调度与弹性伸缩:Schedule、Metric、HPA 与 Quota
云原生·kubernetes
分布式存储与RustFS5 小时前
在 1Panel 应用商店部署 RustFS:安装、配置与验证步骤
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
我不会起名字3225 小时前
滚动更新时请求 502:Pod 终止与 endpoint 摘除的时间差
kubernetes·滚动更新·排查·优雅停机
方便面不加香菜5 小时前
Docker安装详解--基于Ubuntu环境
运维·docker·容器
知已难寻7 小时前
第 5 篇 · 云原生生态与实践:微服务、DevOps、可观测性与 Serverless
大数据·linux·服务器·微服务·云原生·云计算·devops
孔令飞7 小时前
AI 时代岗位调研分析:调研了近3000份AI岗位描述,分享下调研结果
云原生·go·ai编程
L0208248 小时前
Kubernetes Service 与 kube‑proxy 深度详解
运维·算法·云原生·容器·贪心算法·kubernetes
SatanII8 小时前
Kubernetes Ingress
kubernetes·ingress
SatanII8 小时前
kubernetes service && proxy
云原生·容器·kubernetes