作者信息:https://home.cnblogs.com/u/huangjiabobk

在K8S中,集群相关组件有哪些?

在 Kubernetes(K8s)中,集群相关的组件主要分为两类:控制平面组件和节点组件。

控制平面组件(Master Components)

  1. kube-apiserver:它是整个系统的入口,提供 RESTful API 接口供用户和内部组件与集群进行交互。所有资源的增删改查操作都通过它来完成,并将状态持久化存储在 etcd 中。

  2. etcd:一个分布式键值存储系统,用于存储集群的所有重要配置数据和状态信息,保证了数据的一致性和高可用性。

  3. kube-scheduler:负责监控新创建但未调度的Pod,根据调度策略为其选择合适的节点进行分配。

  4. kube-controller-manager:运行多个控制器进程,这些控制器包括节点控制器、副本集控制器、端点控制器等,它们确保集群的实际状态与用户的期望状态保持一致。

  5. cloud-controller-manager(可选):与云服务商的基础设施集成,管理如节点自动注册、负载均衡器、存储卷等外部依赖资源。

节点组件(Worker Node Components)

  1. kubelet:在每个工作节点上运行,负责维护容器运行时环境并在节点上执行 Pod 的生命周期管理。
  2. container runtime(例如 Docker、containerd 或 CRI-O):实际负责下载镜像并运行容器。
  3. kube-proxy:实现 Kubernetes 服务代理和网络政策,负责在节点上维护网络规则和服务代理。
  4. runtime configuration:例如 CNI(Container Network Interface),提供了容器间的网络连接方案。
  5. volume plugins:处理持久化存储卷的挂载和卸载。

应用组件

  1. Container Runtime:例如Docker或containerd,负责在节点上运行容器。
  2. CoreDNS:提供DNS服务,解析服务名称到它们的IP地址。
  3. Ingress Controller:管理外部访问集群内部服务的入口。

综上所述,还有身份认证和授权组件(如 kube-auth)、日志记录和监控组件(如 kube-state-metrics 和 Prometheus 等)以及其他辅助工具和服务,共同构成了功能完备的 Kubernetes 集群。

posted @ 2024-02-06 16:34  黄嘉波  阅读(37)  评论(0编辑  收藏  举报
版权声明:原创作品,谢绝转载!否则将追究法律责任。--作者 黄嘉波