Master
Api Server
- 统一入口,以 Restful 方式,交给 etcd 存储
Scheduler
- 节点调试,选择 Node 节点,做应用部署
Controller Manager
- 处理集群中常规后台任务,一个资源对应一个控制器
etcd
- 存储系统,用于保存集群相关的数据
Node
kubelet
- Master 派到 Node 节点中的代表,管理本机的容器
kube-proxy
- 提供网络代理,负载均衡等操作
K8S 核心概念
通过Service统一入口进行访问,由 Controller去创建 Pod 进行部署
Service
- 定义一组 pod 的访问规则
Controller
- 确保预期的pod副本数量
- 确保所有的node运行同一个pod
- 一次性任务和定时任务
- 无状态应用部署:随便用,无任何约定,挂了以后可以漂移到另其它 node
- 有状态应用部署:有特定条件,依赖存府、网络IP唯一
Pod
- 最小部署单元
- 是一组容器的集合
- 一个Pod 中的容器,是共享网络的
- 生命周期是短暂的,重启后数据丢失,所以需要(nfs)
平台规划
- 单 Master 集群
Master节点挂了,影响整个环境 - 多 Master 集群
服务器配置需求
- 一台或多台机器, 操作系统 CentOS7.x-86_x64
- 集群中所有机器之间网络互通
- 可以访问外网, 需要拉取镜像
- 禁止 swap 分区
测试环境 | 要求 |
Master | 2核 8G 50G |
Node | 4核 16G 100G |
K8S集群部署方式
- kubeadm
- 二进制包