「KUBERNETES」- COMPONENTS

  CREATED BY JENKINSBOT

内容简介

本文将简单介绍在Kubernetes中的各个组件及其作用。

集群架构图

下图源自官方文档:

Kubernetes control plane

etcd

分布式高可用键值存储,集群持久化组件。存储每个节点会用到的配置信息,包含敏感信息。

该组件只能由「API Server」访问。

API Server(kube-apiserver)

使用API提供集群中所有操作,即集群所有操作通过API接口实现,所有组件均与API Server交互。

Controller Manager(kube-controller-manager)

该组件负责收集集群状态并执行任务。

核心控制器有Replication controller、Endpoint controller、Namespace controller、Service account controller,不同控制器负责集群不同方面。

Scheduler(kube-scheduler)

在主节点中关键组件,负责分发工作负载。换句话说,它负责将POD分配到可用节点。

Kubernetes node

kubelet

主要的节点代理,运行在每个节点中。它负责接收PodSpec定义(主要来自于API Server服务),然后确保节点中的POD运行及健康。

kube-proxy

网络代理,运行在各节点中,负责进行流量转发、轮寻等等。

Container Runtime

容器运行环境,通常为Docker等等容器运行环境。

Addons

DNS

Web UI (Dashboard)

Container Resource Monitoring

Cluster-level Logging

参考文献

Kubernetes Components
Kubernetes in three diagrams
Kubernetes Reference/kube-proxy
Kubernetes Reference/kubelet
Kubernetes – Cluster Architecture
Wikipedia/Kubernetes