【kubernetes篇】深入理解kuberneter特性,详细汇总

文章目录


今天开始我们进入到kubernetes相关文章的更新了,学习k8s需要必备两个基础:Docker和Linux,对Docker不了解的小伙伴可以看下我之前的文章。加油吧,学起来。

在这里插入图片描述

1. K8S概述

在这里插入图片描述

kubernetes,简称K8s,是用8代替8个字符“ubernete"而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的机制。

  • k8s是谷歌在2014年开源的容器化集群管理系统。
  • 使用k8s进行容器化应用部署。
  • 使用k8s利于应用扩展。
  • k8s目标是让部署容器化应用更加简洁和高效。

在Docker中我们对容器有详细的介绍,k8s就是对我们的Docker容器的部署。同时,会根据用户量或者容器的承载能力对应用进行弹性伸缩,也就是我们说的扩展性。

2. K8s特性

  1. 自动装箱

基于容器对应用运行环境的资源配置要求自动部署应用容器。

应用部署不需要人为手动干预,可以自动完成。

  1. 自我修复(自愈能力)。

当容器失败时,会对容器进行重启。

当所部署的Node节点有问题时,会对容器进行重新部署和重新调度。

当容器未通过监控检查时,会关闭此容器直到容器正常运行时,才会对外提供服务。

在这里插入图片描述

比如说有两个节点1和2,某一时刻1节点出现了问题,那么它会把所有的请求转发了2节点,而1节点被重新部署和调度(重新启动)。

节点对外提供服务有一定要求,不是部署完了就可以提供服务,k8s会对其进行一些检查,检查的这段时间不提供服务,直到检查完毕容器正常运行才对外提供服务。

  1. 水平扩展

通过简单的命令、用户UI界面或基于CPU等资源使用情况,对应用容器进行规模扩大或规模剪裁。
在这里插入图片描述

k8s会根据用户要求弹性伸缩(水平扩展),比如某一时刻访问量变大,那么会自动扩大应用部署,相反会减小。

  1. 服务发现

用户不需使用额外的服务发现机制,就能够基于Kubernetes自身能力实现服务发现和负载均衡。
在这里插入图片描述

由Service提供统一的入口,k8s会判断属于哪一类请求,并将请求转发的相应的节点,节点pods根据自身承载能力实现负载均衡。这种在微服务架构中常见。

  1. 滚动更新

可以根据应用的变化,对应用容器运行的应用,进行一次性或批量式更新。
在这里插入图片描述

比如我在两个节点的基础上又加了第三个节点,这个节点内的应用成批量地更新了。并且对前两个节点没有任何影响。

  1. 版本回退

可以根据应用部署情况,对应用容器运行的应用,进行历史版本即时回退。

  1. 密钥和配置管理

在不需要重新构建镜像的情况下,可以部署和更新密钥和应用配置,类似热部署。

  1. 存储编排

自动实现存储系统挂载及应用,特别对有状态应用实现数据持久化非常重要。

存储系统可以来自于本地目录、网络存储(NFS、Gluster、 Ceph 等)、公共云存储服务。

在这里插入图片描述

就好比我们在Docker中说到的挂载,可以实现容器数据的持久化存储。

  1. 批处理

提供一次性任务,定时任务,满足批量数据处理和分析的场景。

微信公众号先已开通,搜索 “江小南和他的小伙伴们” 或者扫描下方二维码就能找到我哦,各位小伙伴们可以关注一下,后面文章会进行同步更新,方便查看哦。

猜你喜欢

转载自blog.csdn.net/weixin_45842494/article/details/123218458