ㅤㅤㅤ
ㅤㅤㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ(一个人的真正伟大之处就在于他能够认识到自己的渺小 —— 保罗)
ㅤㅤㅤ
ㅤㅤㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤ
kubernetes 简介:
kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制
它是Google开源的一个容器编排引擎,支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。
在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理
传统的应用部署方式是通过插件或脚本来安装应用。这样做的缺点是应用的运行、配置、管理、所有生存周期将与当前操作系统绑定,这样做并不利于应用的升级更新/回滚等操作,当然也可以通过创建虚拟机的方式来实现某些功能,但是虚拟机非常重,并不利于可移植性。
新的方式是通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移
容器占用资源少、部署快,每个应用可以被打包成一个容器镜像,每个应用与容器间成一对一关系也使容器有更大优势,使用容器可以在build或release 的阶段,为应用创建容器镜像,因为每个应用不需要与其余的应用堆栈组合,也不依赖于生产环境基础结构,这使得从研发到测试、生产能提供一致环境。类似地,容器比虚拟机轻量、更“透明”,这更便于监控和管理
kubernetes和docker之间的关系:
- 先了解一下docker:一次构建,到处运行
这也是dokcer的口号,为什么可以做到一次构建,到处运行呢?
首先,docker属于一种虚拟化的容器技术,但它属于轻量化的虚拟技术。
因为docker不需要虚拟整个操作系统,它只需要虚拟一个能够运行虚拟环境的小沙箱。
和vmware等虚拟机相比,docker容器的启动速度快,耗费资源少,利用率高。
虚拟机和容器对比:
| 特性 | 虚拟机 | 容器 |
|---|---|---|
| 隔离级别 | 操作系统 | 进程 |
| 隔离策略 | Hypervisor | CGroups |
| 系统资源 | 5~15% | 0~5% |
| 启动时间 | 分钟级 | 秒级 |
| 镜像存储 | GB-TB | KB-MB |
| 集群规模 | 上百 | 上万 |
| 高可用策略 | 备份,容灾,迁移 | 弹性,负载,动态 |
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ
- 为什么提到kubernetes就不得不说到docker?
我们都知道,docker是一种虚拟化容器技术,使应用程序与系统进行隔离。
kubernetes和dokcer之间,没有谁能够替代谁,都能够脱离对方进行独立运行。
但当我们的服务复杂且庞大的时候,像鸡蛋多了需要一个篮子一样,那么这个篮子就是kubernetes。
因为docker所以kubernetes,docker容器技术是kubernetes平台的基础,容器技术主要作用用于隔离系统环境,通过系统资源的隔离完成宿主机的抽象,而kubernetes平台则是在宿主机的基础上,进行容器集群的服务治理。
配置容器,实现容器的负载均衡,容器的安全,容器的扩展等。
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ
- kubernetes的服务治理
- 自动化容器的部署和复制
replication controller通过监控运行中的pod(k8s的基本运行单位)来保证急群众运行指定数目的副本,如果有一个死亡停止服务,则自动开启新的新的服务,如果服务多余指定数目,则杀死多余的服务。- 容器的扩展和规模收缩
pod基于cpu使用情况,通过kubernetes api资源和控制器进行实现,控制器根据cpu的使用情况周期(默认30秒轮巡一次)性的调整pod的副本数量- 容器负载均衡
在kubernetes集群中的负载均衡是由kube-proxy实现的,它是kubernetes集群内部的负载均衡器,在每一个节点上都有此均衡器,类似Nginx的nginx.conf- 容器的高可用
controller manager负责管理集群的状态,比如故障检测,自动扩展,升级更新,日志记录等- …
ㅤ
ㅤ
…ㅤ未完待续(kubernetes服务治理集群) …
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ
参考文章:
-
Docker和kubernetes的区别与介绍
https://www.cnblogs.com/misswangxing/p/10669444.html
https://baijiahao.baidu.com/s?id=1629142139967018899&wfr=spider&for=pc
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ
ㅤㅤㅤㅤ
-
kubernetes特性
https://blog.csdn.net/shuixianmu53/article/details/82752409
ㅤㅤㅤㅤ
ㅤㅤㅤㅤ -
kubernetes pod自动伸缩扩展
https://blog.csdn.net/weixin_34236497/article/details/89595515