k8s简介
- 谷歌开源容器平台
- 从谷歌Borg项目发展而来
发展史
- 2014 开源
- 2015.7 发布v1.0版本,加入CNCF基金会
- 2017 战胜swarm mesos,成为领域老大
- 2018 CNCF首个“毕业”项目
核心功能
- 自我修复
- 服务发现和负载均衡
- 自动部署和回滚
- 弹性伸缩
应用场景
- 微服务架构
核心组件
- etcd:保存整个集群的状态
- apiserver:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制
- controller manager:负责维护集群的状态,比如故障检测、自动扩展、滚动更新等
- scheduler:负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上
- kubelet:负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理
- Container runtime:负责镜像管理以及Pod和容器的真正运行(CRI)
- kube-proxy:负责为Server提供cluster内部的服务发现和负载均衡,提供四层负载均衡
- cAdvisor:采集监控数据,目前已集成到kubelet中
扩展组件
- kube-dns:负责为整个集群提供DNS服务
- Ingress Controller:为服务提供外网入口,提供七层负载均衡
- Heapster:提供资源监控
- Dashboard:提供GUI
- Federation:提供跨可用区的集群,集群联邦管理多集群
- Fluentd-elasticsearch:提供集群日志采集、存储与查询,EFK
网友评论