开发者学习笔记【阿里云云原生助理工程师认证(ACA)课程:容器技术基础-Kubernetes 价值及优势】
课程地址:https://edu.aliyun.com/course/3112075/lesson/19015
容器技术基础-Kubernetes 价值及优势
内容介绍:
一、Kubernetes 使用优势
二、本章节小结和回顾
一、Kubernetes 使用优势
(1)一个平台搞定所有
Kubernetes 最大的优势是一个平台搞定所有,使用 Kubernetes,部署任何应用都是小菜一碟,只要应用可以打包进容器,Kubernetes就一定能启动它,不管什么语言什么框架写的都可以快速打包,只要应用可以打包到容器(JavaPython.Node.js),Kubernetes 都可以在任何环境中安全的启动它,无论是物理机、虚拟机、云环境 (公有云、私有云、混合),在不同的环境中都可以保持运行,这就是 kubernetes 最重要的优势,无论什么平台都可以屏蔽掉平台差异性,为用户提供便捷。
Kubernetes本身是支持多种云环境的,无论是公有云、私有云还是混合云,都可以将容器的工作负载,从本地的开发计算机上无缝的迁移到测试环境,进行测试,然后再从测试环境迁移到生产环境,最后从生产环境迁移到云环境,可以实现无缝的迁移。
在本地的技术结构以及公有云和混合云,不同的复杂环境中,可以保持一致性的运行。这就是Kubernetes最关键的一点。等于无论底层是什么样的平台,都可以屏蔽掉底层平台的差异性,为用户提供一个统一的资源服务界面,在这个资源服务界面之上,可以构建分装任何的应用,并快速的打包部署,这就是本Kubernetes最核心的优势,一个平台搞定所有。
(2)高效的利用资源
Kubernetes 第二个核心优势就是高效的利用资源,Kubernetes 可以帮助我们节省开销,高效的利用内存、处理器等资源。
Kubernetes 如果发现有节点工作不饱和,便会重新分配 pod,如果一个节点宕机了,Kubernetes会自动重新创建之前运行在此节点上的pod,在其他节点上运行,从而具备相应的自愈能力,而调度器能够实现 kubernetes 的核心的调度,根据特定的调度算法能够将 pod 调度到更优的节点上,从而更高效处理底层资源,使资源更好的服务上层资源。
(3)开箱即用的自动缩放能力
Kubernetes第三个优势是开箱即用的自动缩放能力,它具有网络、负载均衡、复制等特性,对于 Kubernetes 都是开箱即用的。
Pod 是无状态运行的,任何时候有 pod 宕机,立马会有其他 pod 接替它的工作,上层用户完全无感知,如果用户量突然暴增,现有的pod的规模无法适应应用需求的访问,他就会以秒级的方式进行自动的扩容,满足当前的需求,它会自动创建一批新的pod来满足当前的业务需求。
反之Kubernetes当用户量下来的时候,他会根据你设定的,规则和策略会进行自动的缩拢,减少pod的数量,Kubernetes是通过pod来实现整个容器的管理,Modern来实现数据的计划, Deployment, 实现容器的附属和扩容,以及历史版本的回归,这些都是Kubernetes开箱即用的能力,它能够提供整个容器的网络负载均衡,以及快速的弹性伸缩能力使得Kubernetes的优势变得更加强大。
(4)使 CI/CD 更加简单
Kubernetes第四个优势:使 CI/CD 更加简单,你不必精通自动化部署和持续集成/部署这类工具,只需要对 CI 服务写个简单的脚本然后运行它,就会使用你的代码创建一个新的 pod,并部署到 Kubernetes 集群里面。
流水线图:
流程是先发布一个代码,后续集成的服务器将相应的代码监听,监听到代码变更后就会自动触发第一个阶段,就是持续集成阶段。在这个阶段,自动构建单元测试、静态代码的分析以及生成报告,所有的部署预计通过才会进入下一阶段,那就是自动化测试的阶段。
部署到测试服务器之后,就会触发自动化测试套件,测试案例验收都是事先进行配置的,通过验收测试,包括容量测试,性能测试,就会自动执行容器的build。
如果所有的测试都顺利通过的话,就会变成一个可发布的候选版本,一旦业务需要通过一键部署的方式,它就会将其布署到生产环境上。我们可以通过加高 kubernetes 容器技术去快速搭建起来一个集群,需要单独去部署一些复杂的,高可用的服务,它本身就已经具备了一些很强大的功能,对于构建任务所需要的资源、日志监控的能力在 kubernetes 平台上都可以实现,而无需重复开发,通过 kubernetes 让其构建的任务和容器运行更具备高级的调度能力,通过容器镜像标准概念,使得企业的持续交付和持续集成变得更加的简单,可以通过制定的模板,具备更好的扩展能力,实现快速的这种代码流水线管理,实现快速的自动化的部署和集成,这就是 kubernetes 核心第四个优势。
(5)高可用及高可靠
Kubernetes优势还有高可用及高可靠,Kubernetes 如此流行的一个重要原因是应用会一直顺利运行,不会被 pod 或节点的故障所中断;如果出现故障,Kubernetes 会创建必要数量的应用镜像,并分配到健康的pod或节点中,直到系统恢复高可用;
用户不会感到任何不适,这样减轻了对集群的压力,不会导致所有压力集中到一起,具备高可用高可靠的能力就可以使用户更好的去使用它,不会感到有任何的问题。
二、本章节小结及回顾
1、Kubernetes概念:
Kubernetes 是一个自动化的容器编排平台,它负责应用的部署、应用的弹性以及应用的管理,技术都是基于容器的。
2、Kubernetes 核心功能:
资源调度、自动化容器恢复、水平伸缩、容器编排。
3、Kubernetes 核心架构:
Kubernetes系统架构遵循客户端/服务端 (C/S)架构,系统架构分为 Master 和 Node 两部分,Master 作为服务端,Node作为客户端。
4、Kubernetes 关键概念:
包括Pod、 Volume、 Deployment 、Service、 Namespace,这写核心的概念,Kubernetes就是通过Pod来实现容器的管理,Volume、实现了数据的永久化,Deployment实现了容器的部署扩容版本的回滚,Service为容器的应用提供了一个统一的地址,可以实现外部服务被统一的访问,多个Pod可以通过一个接口来实现,使得一个Pod停止运行的时候不受影响服务本身。
5、Kubernetes 价值及优势:
任何环境快速启动,高效的利用资源,提供了开箱即用的自动缩放能力, CI/CD 更加简单,高可用及高可靠。