测试开发技术网站
博客
设计
设计
开发
Python
测试
unittest
运维
Linux基础应用
CI/CD
CI/CD
数据库
数据库
云计算
云计算
云原生
云原生
爬虫
爬虫
数据分析
数据分析
人工智能
人工智能
登录
注册
Kubernets简介
收藏本文
作者:redrose2100 类别: 日期:2022-11-06 17:21:55 阅读:808 次 消耗积分:0 分
[【原文链接】Kubernets简介](http://devops-dev.com/article/429) [TOC] # 一、Kubernetes是什么? Kubernetes因为首字母k和尾字母s之间有8个字母,因此简称k8s,简单点来说k8s就是用来方便的管理容器的,而容器又是用来部署服务的,因此k8s进而可以很方便的用来管理部署服务。从发展趋势角度,k8s拥有一个非常庞大并且发展非常迅速的生态。目前在众多企业中应用越来越广泛。 # 二、应用部署方式的变革 ## 2.1 传统部署时代 在早起的时候,应用一般直接部署在物理服务器上,如下图所示,这种方式缺点很明显,比如当在一个服务器部署多个应用时可能存在各种冲突,而每个服务器只部署一个服务时,又会出现资源利用率不高的问题,而且维护起来也非常地不方便。 ![](https://redrose2100.oss-cn-hangzhou.aliyuncs.com/img/949cd702-5df3-11ed-87c2-0242ac110002.png) ## 2.2 虚拟化部署时代 随着虚拟化技术的发展,在物理服务器上首先虚拟出多个虚拟机,每个虚拟机就像物理的服务器一样,这样一来,就可以在每个虚拟机中部署一个应用,即在一个服务器上虚拟出多个虚拟机,每个虚拟机部署应用,从而做到了在一个服务器上部署多个服务,而且每个服务能做到相互独立的效果,如下图所示,但是使用虚拟机的方式也是存在缺点的,即此时对管理虚拟机相对来说比较复杂的,而且因为虚拟机的资源占用还是挺大的,因此一台服务器大概也就只能虚拟出一二十台虚拟机的规模。相对于物理服务器而言,资源利用率仍然不是很高。 ![](https://redrose2100.oss-cn-hangzhou.aliyuncs.com/img/f556c314-5df3-11ed-87c2-0242ac110002.png) ## 2.3 容器部署时代 随着容器技术的发展,相比虚拟机而言,容器就更加的轻量级,从表面上看容器和虚拟机几乎完全一样,拥有独立的文件系统、cpu资源、内存、进程等,而实际上每个容器并不是拥有独立的操作系统,而是通过容器技术实现对操作系统的共享来做到相互之间的隔离的,如下图所示,因此容器启动起来非常迅速,秒级启动,而且一台物理服务器启动虚拟机可能只能启动一二十台,而启动容器则可以启动一二百个容器,从而能大大提高资源的利用率。那么到这里,当所有的应用都采用容器部署的时候,问题也随之而来了,当有几十个甚至上百个容器时,容器的管理就显得捉襟见肘了,而这个问题将是k8s重点解决的问题 ![](https://redrose2100.oss-cn-hangzhou.aliyuncs.com/img/0180f0b4-5df5-11ed-87c2-0242ac110002.png) # 三、为什么要使用k8s? 根据前面的介绍可以看出,简单来说,k8s就是为了解决容器部署时代存在密密麻麻的容器时容器难于管理的一系列问题的。具体来说,k8s拥有以下几方面的功能。 * 服务发现和负载均衡 k8s 可以通过配置域名自动发现服务,此外当存在大量请求时,可以通过部署多个容器的方式而此时k8s就具有负载均衡的作用,根据每个容器的负载动态灵活的分配请求。 * 存储编排 k8s允许自定义存储,比如可以使用本地磁盘,也可以配置使用远端的或者共有元存储等。 * 自动部署和回滚 k8s可以实现自动部署,此外当应用出现问题时还可以很容易的实现回滚,比如返回到上一个版本或者上上个版本等。 * 自动完成装箱计算 k8s 可以部署在多个服务器上,当部署应用时,k8s可以根据应用的资源限制条件自动挑选满足条件的节点进行部署,从而可以做到以最佳的方式利用服务器资源 * 自我修复 当部署的容器出错后,k8s会自动重新创建容器,具有自我修复的能力 * 秘钥和配置管理 k8s允许存储和管理敏感信息,比如用户名密码、ssh公钥等 通过以上对k8s的介绍,可以看出,简单点来说k8s就是用例管理容器的,因为当前应用多数都是通过容器部署的,因此,k8s可以做到在实践中对应用部署的各种功能,比如自我修复、回滚、负载均衡等等,不过这里也需要注意是,虽然说k8s是非常好用而且是非常强大的,但是这里也不要把k8s理解为DevOps或者CICD平台,总得来说,把k8s理解为管理容器的平台时比较准确的,而当前各种CICD平台或者DevOps平台一般都会使用k8s来管理容器的,即k8s可以理解为搭建CICD或DevOps凭条不可或缺的一个重要工具。
始终坚持开源开放共享精神,同时感谢您的充电鼓励和支持!
版权所有,转载本站文章请注明出处:redrose2100, http://blog.redrose2100.com/article/429
上一篇:
CentOS7系统安装KVM并配置网桥
下一篇:
VMWare 虚拟机如何通过新增挂载点的方式扩展磁盘空间
搜索
个人成就
出版书籍
《Pytest企业级应用实战》
测试开发技术全栈公众号
测试开发技术全栈公众号
DevOps技术交流微信群
加微信邀请进群
常用网站链接
开源软件洞察
云原生技术栈全景图
Python语言官方文档
Golang官方文档
Docker官方文档
Jenkins中文用户手册
Scrapy官方文档
VUE官方文档
Harbor官方文档
openQA官方文档
云原生开源社区
开源中国
Kubernetes中文文档
Markdown语法官方教程
Kubernetes中文社区
Kubersphere官方文档
BootStrap中文网站
JavaScript中文网
NumPy官方文档
Pandas官方文档
GitLink确实开源网站
数据库排名网站
编程语言排名网站
SEO综合查询网站
数学加减法练习自动生成网站
Kickstart Generator
文章分类
最新文章
最多阅读
特别推荐
×
Close
登录
注册
找回密码
登录邮箱:
登录密码:
图片验证码:
注册邮箱:
注册密码:
邮箱验证码:
发送邮件
注册邮箱:
新的密码:
邮箱验证码:
发送邮件