一、Kubernetes (k8s) 是什么, 有什么用? 您所在的位置:网站首页 羽毛是用来干什么的呢 一、Kubernetes (k8s) 是什么, 有什么用?

一、Kubernetes (k8s) 是什么, 有什么用?

2024-07-05 03:42| 来源: 网络整理| 查看: 265

一、前言

在这个卷到不能在卷的时代, 一个不会运维的后端程序员,都不好意思(敢)去面试了。面试是要求 “造飞机”,然而其实他们只是想找一个会 “拧螺丝” 的人而已。然后“卷”之所以称作为“卷”是有它的原因的 --- 因为像 “我” 这样的人太多了。近几年, k8s 好像突然火起来了, 之前面试并没有看到类似的招聘需求, 现在铺天盖地的都是要求会 k8s。那k8s到底是什么呢?

这是我在某招聘上随便找的几个职位截图, 几乎都是招聘 “造飞机” 的岗位。

二、Kubernetes 是什么?

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

说简答点:k8s就是一个编排容器的工具,一个可以管理应用全生命周期的工具,从创建应用,应用的部署,应用提供服务,扩容缩容应用,应用更新,都非常的方便,而且可以做到故障自愈。

例如:一个服务器挂了,K8s可以自动将这个服务器上的服务调度到另外一个主机上进行运行,无需进行人工干涉。

所以 k8s 一般都是和 Docker 搭配起来使用的。

三、Kubernetes 有什么用?

k8s的作用有很多, 但是由于篇幅问题, 这里就简单的介绍比较常用的一些功能。

1、服务器环境搭建

环境搭建这块,在以前都是一台服务器一台服务器的安装(数据库,Nginx )等等。而且经常会因为本地环境和线上环境不一致出现莫名其妙的错误。

而K8s + Docker 这块就做的很好, 可以保持开发, 测试, 生产环境一致,而且部署一个新的环境, 只需要执行一些命令行即可,比较方便。

2、版本更新

在以前, 版本更新都是先备份线上环境, 然后停掉服务(有些时候服务被占用,直接更新会报错),然后将本地部署的文件复制上去替换。如果是集群环境就更麻烦, 一个个的来更新(可能会有很多发布工具,但是总的来说还是很麻烦)。 如果出现了错误,还需要快速的将环境还原~~~~~

而 k8s 版本更新只需要执行一个类似 “kubectl set image deployment/my-dep nginx=nginx:1.16.1 --record” 的命令行, 就可以实现所有的集群环境全部更新。出现了问题,需要版本回退, 也只是需要执行一个“kubectl rollout history deployment/my-dep --revision=2” 就轻松搞定了。

3、扩缩容

如果是电商公司,可能感触更深, 因为每当618,双11,系统流量暴增, 为了维持系统的稳定运行。一般有两种解决方案, 一个是纵向扩展(升级服务器配置),横向扩展(添加更多的服务器)。不过一般都使用横向扩展, 因为纵向扩展存在瓶颈, 意义不大,而且成本较高。横向扩展就是搭建集群, 使用更多的服务器来缓解流量的激增。但是增加一个集群也就意味着需要搭建环境, 部署服务等等操作。当双十一结束之后,又需要减少集群来减少公司开销。

而k8s 上述问题都可以“一键”搞定。而且k8s还可以实现更高级的东西--自动扩缩容(当流量出现波动的时候, 自动增加、减少集群的数量)

4、DevOps

DevOps 的概念这里就不细聊了, 有兴趣的可以去百度一下。

如下图, 最终实现的效果就是, 程序员只需要在Vs(或其他的开发工具)中提交代码,系统会自动将代码编译部署到线上。都省去了编写命令的步骤。是不是很酷~~~~

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有