1. k8s 概述
- k8s是谷歌在2014年开业的容器集群化管理系统
- 使用k8s进行容器应用部署
- 使用k8s利用应用扩展
- k8s目标实施让部署容器化应用更加简洁和高效
2. k8s 特性
- 自动装箱
- 基于容器对应用环境的资源配置要求自动部署应用容器
- 自我修复(自愈修复)
- 水平扩展(弹性伸缩)
- 服务发现
- 滚动升级
- 版本回退
- 密钥和配置管理
- 存储编排
- 批处理
3. k8s集群架构组件
- master组件
- apiserver:集群统一入口,以restful方式,交给etcd存储
- seheduler:节点调度服务,选择node节点应用部署
- controller-manager:处理集群中常规后天任务,一个资源对应一个控制器
- etcd:存储系统,用于保存集群相关的数据
- node组件
- kubelet:master排到node节点代表,管理本机容器
- Kube-proxy:提供网络代理,负载均衡等操作
- docker:容器引擎
4. k8s核心概念
- Pod
- 最小部署单元
- 一组容器的集合
- 共享网络
- 生命周期是短暂的
- controller
- 确保预期pod副本数量
- 无状态应用部署
- 有状态应用部署
- 确保所有的node运行同一个pod
- 一次性任务和定时任务
- Service
- 定义一组pod的访问规则