高可用节点最好3及其以上的奇数
组件
master组件
- 调度器scheduler(节点调度,选择node应用部署)、
- 控制器 controller-manager(一个资源对应一个控制器)、
- api server(很重要的,一切服务访问的接口,以restful方式,交给etcd存储)
- etcd: 保存集群相关数据,键值对数据库,(持久化)(集群死亡后,可以借助etcd保存的数据来恢复)
node
- kubelet(master派到node代表,管理本机容器。直接去容器交互,实现容器生命周期管理)
- kube proxy(提供网络代理,实现负载均衡,负责写入规则,实现服务映射访问)\container
CoreDNS:为集群中的svc创建一个域名ip对应关系解析
普罗米修斯:提供集群监控能力
k8s采用http协议 c/s
核心概念
pod
部署的最小单元,共享网络、一组容器的集合、生命周期短暂
controller
确保预期的pod副本数量
无状态、有状态
确保所有node运行同一个pod
service
定义一组pod访问规则
service是统一入口,然后controller创建pod