K8s从入门到精通(一):概述和特点
K8S的概述和特点概述K8S是一个轻便的和可扩展的开源平台,用于管理容器化应用和服务。通过K8S能够进行应用的自动化部署和扩缩容。在K8S中,会将组成应用的容器组合成一个逻辑单元以更易管理和发现。K8S积累了作为Google生产环境运行工作负载15年的经验,并吸收了来自于社区的最佳想法和实践。特点自动装箱基于容器对应用运行环境的资源配置去自动部署应用容器自我修复(自愈能力)当容器运行失败时,会对容
·
K8S的概述和特点
概述
- K8S是一个轻便的和可扩展的开源平台,用于管理容器化应用和服务。通过K8S能够进行应用的自动化部署和扩缩容。在K8S中,会将组成应用的容器组合成一个逻辑单元以更易管理和发现。K8S积累了作为Google生产环境运行工作负载15年的经验,并吸收了来自于社区的最佳想法和实践。
特点
自动装箱
- 基于容器对应用运行环境的资源配置去自动部署应用容器
自我修复(自愈能力)
-
当容器运行失败时,会对容器进行重启
-
当所部署的Node节点有问题时,会对容器进行重新部署和重新调度
-
当容器未通过监控检查时,会关闭此容器直到容器正常运行时,才会对外提供服务
水平扩展
- 通过简单的命令、用户UI界面或基于CPU等资源使用情况,对应用容器进行规模扩大或规模裁剪
服务发现
- 用户不需要使用额外的服务发现机制,就能够基于K8S自身能力实现服务发现和负载均衡
滚动更新
- 可以根据应用的变化,对应用容器运行的应用,进行一次性或批量式更新
版本回退
- 可以根据应用部署情况,对应用容器运行的应用,进行历史版本即时回退
密钥和配置管理
- 在不需要重新构建镜像的情况下,可以部署和更新密钥以及应用配置,类似热部署
存储编排
- 自动实现存储系统挂载及应用,特别对有状态应用实现数据持久化非常重要,存储系统可以来自于本地目录、网络存储(NFS、Gluster、Ceph等)、公共云存储服务
K8S架构组件
Master node(Master节点)
Api Server
- 集群统一入口,提供restful方式接口进行操作,交给etcd存储
scheduler
- 节点调度,选择Worker node进行应用部署
controller-manager
- 处理集群中常规后台任务,一个资源对应一个控制器,比如:订单管理对应一个订单管理的控制器,购物车对应购物车的控制器
etcd
- 存储系统,用于保存集群相关的数据
Worker node(工作节点)
kubelet
- master派到woker node的代表,管理本机容器
kube-proxy
- 提供网络代理、负载均衡等操作
k8S的核心概念
Pod
- 最小的部署单元
- 一组容器的集合
- 共享网络
- 生命周期是短暂的
Controller
- 确保预期的pod副本数量
- 进行无状态应用部署(无状态指没有任何约束条件,可以直接部署)
- 进行有状态的应用部署(有状态指具有一定的约束条件,比如应用需要固定的ip端口)
- 确保所有的node运行同一个pod
- 一次性任务和定时任务
Service
- 进行有状态的应用部署(有状态指具有一定的约束条件,比如应用需要固定的ip端口)
- 确保所有的node运行同一个pod
- 一次性任务和定时任务
Service
- 定义一组pod的访问规则
更多推荐
已为社区贡献1条内容
所有评论(0)