Kubernetes (k8s) 是一个开源的容器编排平台,用于管理容器化应用程序的部署、扩展和运行。以下是 k8s 的体系架构图:
从上图可以看出 k8s 由以下几个主要组件组成:
Master 节点:它是 k8s 集群的控制中心,负责管理整个集群的状态、配置和任务分配等。
API Server:提供 RESTful API 接口,允许开发人员和管理员通过 kubectl 等工具与 k8s 集群进行交互。
etcd 存储:存储 k8s 集群的所有配置信息和状态信息。
控制器 Manager:负责管理 k8s 集群中的各种控制器,例如 Deployment 控制器、Namespace 控制器等。
调度器 Scheduler:负责将 Pod 分配到 k8s 集群中的节点上运行。
Node 节点:它是 k8s 集群的工作节点,负责运行容器化应用程序。
Kubelet:在每个节点上运行,负责管理该节点上的容器和 Pod。
容器运行时:负责在节点上运行容器,例如 Docker、cri-o。
Service:为 Pod 提供一个稳定的 IP 地址和 DNS 名称,并通过负载均衡器将请求分发到多个 Pod 上。
Ingress:提供外部访问 k8s 集群中服务的方式,并支持路由、负载均衡等功能。
Volume:在 k8s 集群中提供持久化存储的功能,可以用来存储数据、配置文件等。
以上是 k8s 的体系结构图示以及每个组件的功能介绍。