前言:
参考k8s教程由浅入深
一、介绍
- 概述:容器化集群管理系统
- 作用:管理容器化应用和服务
- 优势:自动化部署和扩缩容
二、功能介绍
-
基于容器,对应用运行环境的资源配置要求自动部署应用容器
-
对容器进行重启
-
通过简单的命令、用户 UI 界面或基于 CPU 等资源使用情况,对应用容器进行规模扩大 或规模剪裁
-
可以根据应用的变化,对应用容器运行的应用,进行一次性或批量式更新
-
可以根据应用部署情况,对应用容器运行的应用,进行历史版本即时回退
-
在不需要重新构建镜像的情况下,可以部署和更新密钥和应用配置,类似热部署。
-
自动实现存储系统挂载及应用,特别对有状态应用实现数据持久化非常重要存储系统可以来自于本地目录、网络存储、公共云存储服务 提供一次性任务,定时任务;
-
满足批量数据处理和分析的场景
三、集群架构
1.组成组件:Master 节点和Node节点
2.Master组成:
a.apiserver:
- 作用:集群统一入口
- restful方式提供接口,获取的数据存储于etcd
b.scheduler
- 作用:节点调度
- 选择node节点部署应用
c.controller-manager
- 作用:处理集群中常规的后台任务
- 一个资源对应一个controller
d.etcd
- 作用:存储系统
- 保存集群相关的数据
3.Node组成:
a.kubelet
- 作用:master排到node节点代表,管理本机容器
b.kube-proxy
- 作用:提供网络代理,实现负载均衡
四、核心概念
1.k8s核心概念
a.pod
- 最小部署单元
- 一组容器的集合
- 一个pod中的容器共享网络
- pod生命周期短暂,重启后pod消失
b.controller
功能:
- 确保预期pod副本数量
- 无状态应用部署
- 有状态应用部署 依赖存储等
- 确保所有node运行同一个pod
- 一次性/定时任务
c.service
- 定义一组pod的访问规则
流程:访问->service->controller->创建pod