什么是kubernetes?
? 是一个全新的基于容器技术的分布式架构领先方案 ? Google内部集群管理系统Borg的一个开源版本 ? 是 一个开放的开发平台,不局限于一种 语言 ? 是 一个完备的分布式系统支撑平台,具备集群管理能力
核心功能
? 自动 装箱 ? 自动恢复 ? 在线 扩容和弹性伸缩 ? 滚动升级和一键回滚 ? 服务 发现与负载 均衡
Kubernetes带来的好处
? 运维效率提升 ? 研发专注业务
文章图片
k8s的架构:
文章图片
APIServer:kubernetes APIServer 是 提供 了 HTTP Rest 接口的关键服务进程,是 kubernetes 里所有资源的增、删、改、查等操作的唯一入口,也是集群控制的入口 进程。 功能:
? 提供了集群管理的 REST API 接口 ? 提供 其他模块之间的数据交互和通信的 枢纽 ? 是资源配额控制的入口;
拥有 完备的集群安全机制 .
文章图片
【K8S概念与架构总结】Controller Manager:Kube-Controller-Manager 就是集群内部的管理控制中心,由负责不同资源的多个 Controller 构成,共同负责集群内的 Node、Pod 等所有资源的管理,保证集群中各种资源的状态和用户定义的状态一致, 如果出现偏差, 则修正资源的状态。
文章图片
Scheduler:Kube- Scheduler负责工作节点上工作负载的分配和管理。因此,它根据资源需求选择最合适的节点来运行未调度的pod,并跟踪资源利用率。它确保不在已满的节点上调度工作负载。
文章图片
kubelet: kubelet是运行于工作节点之上的守护进程,它从API Server 接收关于Pod对象的配置信息并确保它们处于期望的状态。kubelet会在API Server 上注册当前工作节点,定期向Master 汇报节点资源使用情况,并通过cAdvisor 监控容器和节点的资源占用情况。 具体功能包括:
? 节点管理:注册、上报、清理镜像空间等 ? Pod 管理: pod 的启动、停止、删除 ? 容器健康检查: Liveness 、 Readness ? cAdvisor 资源监控
文章图片
kube-proxy:kube-proxy是管理service的访问入口,包括集群内Pod到Service的访问和集群外访问service,它运行在每个Node计算节点上,负责Pod网络代理, 它会定时从etcd服务获取到service信息来做相应的策略,维护网络规则和四层负载均衡工作kube-proxy当前实现了三种代理模式:
userspace:
文章图片
iptbales:
文章图片
ipvs:
文章图片