k8s架构
k8s高可用集群副本最好是>=3 奇数个
组件说明:
API Server:所有服务统一访问入口
Controller Manager:维持副本期望数
Scheduler:负责接收任务,选择合适的节点分配任务
Etcd : 键值对数据库,存储k8s集群的所有重要信息(持久化)
Kubelet:直接和容器引擎交互,实现容器的生命周期的管理
Kube proxy:负责写入规则至 IPTABLES,IPVS 实现服务映射访问的
COREDNS: 可以为集群中的svc创建一个域名IP的对应关系的解析
DASHBORD: 给k8s集群提供B/S结构访问体系
INGRESS CONTROLLER:官方只能实现四层代理 INGRESS可以实现七层代理
FEDETATION:提供一个可用跨集群中心多K8S的统一管理功能
PROMETHUS:提供K8S集群的监控能力
ELK:提供k8s集群的日志统一分析接入平台
etcd
etcd的2个版本
POD概念
1.自主式POD
2.POD控制器类型
RC和RS和Deployment
deployment 可以支持滚动跟新和滚动回滚,因为每个deployment管理的RS不会删除
HPA
HPA会去监控POD,例如如果POD CPU使用率超过80%则会自动创建pod
StatefulSet
DaemonSet
JOB 和 CRON JOB
DEMO部署方案
k8s中网络通信模式
Flannel
通过Flannel实现跨主机pod的网络通讯
Flannel和etcd之间的关联