1. 背景
2. 学习记录
2.1 主要的组件
etcd:可信赖的分布式键值存储服务,为分布式集群存储一些关键数据,协助分布式集群正常运转 键值对数据库,存储K8S集群的所有重要信息(持久化) api server: 所有访问的入口
controller manager: 维持副本期望数目
scheduler: 负责介绍任务,选择合适的节点进行分配任务
kubelet: 直接与容器引擎交互实现容器的生命周期管理
kube-proxy: 负责写入规则至IPTABLES、IPVS 实现服务映射访问的
coreDNS: 可以为集群中的SVC创建一个域名IP的对应关系解析
dashboard: 给K8s集群提供一个B/S解构访问体系
Ingress controller: 官方只能实现四层代理,Ingress 可以实现七层代理
federation:提供一个可以跨集群中心多k8s统一管理功能
promethus:提供一个k8s集群的监控能力
elk: 日志搜集平台
K8S 中所有的内容都抽象成资源, 资源实例化以后叫做对象
2.2 K8S 概述
-
K8S 是谷歌2014开源的容器化集群管理系统
-
使用K8S 进行 容器化应用部署
-
使用K8S 利于应用扩展
-
K8S目标实施 让部署容器化应用更加简洁高效
2.3 k8s集群架构组件
分为master主控节点和node 工作节点
- master组件
apiserver: 集群统一入口,以restful的方式,交给etcd存储
scheduler:节点调度,选择node节点应用部署
controller-manager: 处理集群中常规后台任务,一个资源对应一个控制器
etcd: 存储系统,用于保存集群相关的数据
- node 组件
master 派到node节点的代表,管理本机容器
kube-proxy: 提供网络代理,负载均衡等操作
2.4 k8s核心概念
- pod
最小部署单元
一组容器的集合
共享网络
生命周期是短暂的
- controller
确保预期的pod副本数量
无状态的应用部署
有状态的应用部署
确保所有的node运行同一个pod
一次性任务和定时任务
- service
定义一组pod的访问规则
通过service统一入口进行访问,由controller去创建pod进行部署
2.5 测试环境
master: 2C4G 20G磁盘
node: 4C8G 40G磁盘
高可用集群副本数据最好是 >= 3 奇数个
3. 学习资料
看到第7节了