3.1 Kubernetes架构深度解析:Master和Node节点核心组件详解
引言
Kubernetes是容器编排的事实标准,理解其架构是掌握Kubernetes的关键。本文将深入解析Kubernetes的Master和Node节点架构,以及各个核心组件的功能和工作原理。
一、Kubernetes架构概述
1.1 整体架构
┌─────────────────────────────────────────┐ │ Master Node │ │ ┌──────────┐ ┌──────────┐ │ │ │ API │ │ etcd │ │ │ │ Server │ │ │ │ │ └──────────┘ └──────────┘ │ │ ┌──────────┐ ┌──────────┐ │ │ │ Scheduler│ │ Controller│ │ │ │ │ │ Manager │ │ │ └──────────┘ └──────────┘ │ └─────────────────────────────────────────┘ │ ┌─────────┴─────────┐ │ │ ┌─────────┐ ┌─────────┐ │ Node 1 │ │ Node 2 │ │ │ │ │ │ kubelet │ │ kubelet │ │ proxy │ │ proxy │ └─────────┘ └─────────┘1.2 组件分类
- Master组件:控制平面
- Node组件:工作节点
- 插件组件:网络、存储、DNS等
二、Master节点组件
2.1 API Server
功能:
- Kubernetes的入口
- RESTful API服务
- 认证授权
- 数据验证
特点:
- 无状态设计
- 可水平扩展
- 支持高可用
配置示例:
apiVersion:v1kind:Podmetadata:name:api-serverspec:containers:-name:kube-apiservercommand:-kube-apiserver---etcd-servers=https://etcd:2379---service-cluster-ip-range=10.96.0.0/122.2 etcd
功能:
- 存储集群状态
- 配置数据
- 服务发现
特点:
- 分布式键值存储
- 强一致性
- 高可用
数据存储:
# 查看etcd数据etcdctl get /registry/pods/default/my-pod2.3 Scheduler
功能:
- Pod调度
- 资源分配
- 节点选择
调度流程: