kubernetes 概述
1.K8S概述
- k8s是谷歌在2014年开业的容器化集群管理系统
- 使用k8s进行容器化应用部署
- 使用k8s利于应用扩展
- k8s目标实施让部署容器化应用更加简洁和高效
2.K8S功能
(1)自动装箱
基于容器对应用运行环境的资源配置要求自动部署应用容器
(2)自我修复(自愈能力)
当容器失败时,会对容器进行重启
当所部署的Node节点有问题时,会对容器进行重新部署和重新调度
当容器未通过监控检查时,会关闭此容器直到容器正常运行时,才会对外提供服务
(3)水平扩展
通过简单的命令、用户UI界面或基于CPU等资源使用情况,对应用容器进行规模扩大
或规模剪裁
(3)服务发现
用户不需使用额外的服务发现机制,就能够基于Kubernetes自身能力实现服务发现和负载均衡
(4)滚动更新
可以根据应用的变化,对应用容器运行的应用,进行一次性或批量式更新
(5)版本回退
可以根据应用部署情况,对应用容器运行的应用,进行历史版本即时回退
(6)密钥和配置管理
在不需要重新构建镜像的情况下,可以部署和更新密钥和应用配置,类似热部署。
(7)存储编排
自动实现存储系统挂载及应用,特别对有状态应用实现数据持久化非常重要存储系统可以来自于本地目录、网络存储(NFS、Gluster、Ceph等)、公共云存储服务
(8)批处理
提供一次性任务,定时任务;满足批量数据处理和分析的场景
3.K8S集群架构组件
Master(主控节点)和node(工作节点)
1.master组件
- apiServer
集群统一入口,以restful方式,交给etcd存储 - scheduler
节点调度,选择node节点应用部署 - controller-manager
处理集群中常规后台任务,一个资源对应一个控制器 - etcd
存储系统,用于保存集群中相关数据
2.node组件
- kubeelet
master排到node节点代表,管理本机容器 - kube-proxy
提供网络代理,负载均衡等操作
4.K8S核心概念
1.pod:最小部署单元,一组容器的集合,共享网络,生命周期是短暂的
2.controller:确保预期pod副本数量,无状态应用部署,有状态应用部署,确保所有的node运行同一个pod,一次性任务和定时任务
3.service:定义一组pod的访问规则
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?