组件概述
以下是组件图
图片来源于:此处
Kubernetes采用Master/Slave架构,主要包含如下组件:
-
Master组件包含
- API Server:API Gateway,用于和所有的组件进行交互的节点;
- Controller Manager:业务逻辑的控制中⼼,包含各类控制器模块
- Scheduler: 对Pod进行实际调度
- ETCD: 用于存储所有Kubernetes的元数据,KV存储
-
Slave组件
- Kubelet: Node和Pod⽣生命周期管理
- Kube-Proxy: Pod的对外服务发现代理
- cAdvisor:容器监控,目前集成到了kubelet组件中
一般通过kubectl提交命令,然后通过APIServer存储到ETCD,再由各个组件进行watch并做相关处理。
核心资源大图
- Pod: 一组容器,是kubernetes系统中的最⼩的调度单元,是直接处理业务的Workload;
- 应⽤用配置:
- ConfigMap: 可以存储相关的应用配置信息;
- Secret: 一般用于存储应用的秘钥信息,通过base64进行编码;
- PVC: 应用的持久化存储;
- 应⽤用服务发现:
- Service: Pod对外服务的负载均衡
- Endpoints: 和Service⼀一⼀一对应,表示Pods的IP/Port信息
- 相关控制器:
- Deployment : 用于无状态应用的生命周期管理,通过ReplicaSet管理Pod,要求所有的Pod是无状态的;
- StatefulSet : 用于有状态应用的生命周期管理,支持挂载持久盘和顺序;
- DaemonSet : 守护进程,每个Node一个;
- Job : 提供了一次性任务;
- JobCron : 提供定时任务;
来源:oschina
链接:https://my.oschina.net/tearsky/blog/4296111