API 服务器是 Kubernetes 控制平面的核心组件。它作为中央管理实体,公开 Kubernetes API 并处理系统各组件之间的所有通信。
以下命令演示了如何使用 kubectl 与 Kubernetes API 服务器交互,以检索集群中节点的信息。
[代码清单]
kubectl get nodes
[执行结果]
NAME STATUS ROLES AGE VERSION
node1 Ready <none> 10d v1.24.0
node2 Ready <none> 10d v1.24.0
命令 kubectl get nodes 可查询 Kubernetes API 服务器,获取集群中所有节点的当前状态。输出显示
NAME.节点名称: 每个节点的名称。
STATUS:表示节点是否准备好接受 pod。
角色:节点的角色(例如,主节点、工作节点)。
年龄: 节点加入群集的时间。
版本:节点上运行的 Kubernetes 版本。
API 服务器是用于管理集群的所有 REST 命令的网关。它处理请求、验证请求并更新 etcd(Kubernetes 用于持久存储的键值存储)中的相应对象。
[小知识]
API 服务器是无状态的,这意味着它本身不存储任何数据;它依赖 etcd 进行持久化存储。
所有 Kubernetes 组件都与 API 服务器通信,因此它是架构的重要组成部分。
你可以用自定义资源和控制器来扩展 API 服务器,以管理你的特定工作负载。