容器技术基础-Kubernetes 价值及优势

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 容器技术基础-Kubernetes 价值及优势

开发者学习笔记【阿里云云原生助理工程师认证(ACA)课程:容器技术基础-Kubernetes 价值及优势】

课程地址:https://edu.aliyun.com/course/3112075/lesson/19015


容器技术基础-Kubernetes 价值及优势

 

内容介绍:

一、Kubernetes 使用优势

二、本章节小结和回顾

 

一、Kubernetes 使用优势

(1)一个平台搞定所有

image.png

Kubernetes 最大的优势是一个平台搞定所有使用 Kubernetes,部署任何应用都是小菜一碟,只要应用可以打包进容器,Kubernetes就一定能启动它,不管什么语言什么框架写的都可以快速打包,只要应用可以打包到容器(JavaPython.Node.js),Kubernetes 都可以在任何环境中安全的启动它无论是物理机、虚拟机、云环境 (公有云、私有云、混合),在不同的环境中都可以保持运行,这就是 kubernetes 最重要的优势,无论什么平台都可以屏蔽掉平台差异性,为用户提供便捷。
Kubernetes本身是支持多种云环境的,无论是公有云、私有云还是混合云都可以将容器的工作负载从本地的开发计算机上无缝的迁移到测试环境进行测试然后再从测试环境迁移到生产环境最后从生产环境迁移到云环境可以实现无缝迁移

在本地的技术结构以及公有云和混合云不同的复杂环境中,可以保持一致性的运行。这就是Kubernetes最关键的一点。等于无论底层是什么样的平台,都可以屏蔽掉底层平台的差异性,为用户提供一个统一的资源服务界面在这个资源服务界面之上,可以构建分装任何的应用,并快速的打包部署这就是本Kubernetes最核心的优势一个平台搞定所有。

(2)高效的利用资源

Kubernetes 第二个核心优势就是高效的利用资源,Kubernetes 可以帮助我们节省开销,高效的利用内存、处理器等资源。

image.png

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 集群里面。

流水线图:

image.png

流程是先发布一个代码,后续集成的服务器将相应的代码监听,监听到代码变更后就会自动触发第一个阶段,就是持续集成阶段。在这个阶段,自动构建单元测试、静态代码的分析以及生成报告,所有的部署预计通过才会进入下一阶段,那就是自动化测试的阶段。
部署到测试服务器之后,就会触发自动化测试套件,测试案例验收都是事先进行配置的,通过验收测试,包括容量测试,性能测试,就会自动执行容器的build。
如果所有的测试都顺利通过的话,就会变成一个可发布的候选版本,一旦业务需要通过一键部署的方式,它就会将其布署到生产环境上。我们可以通过加高 kubernetes 容器技术去快速搭建起来一个集群,需要单独去部署一些复杂的,高可用的服务,它本身就已经具备了一些很强大的功能,对于构建任务所需要的资源、日志监控的能力在 kubernetes 平台上都可以实现,而无需重复开发通过 kubernetes 让其构建的任务和容器运行更具备高级的调度能力,通过容器镜像标准概念,使得企业的持续交付和持续集成变得更加的简单,可以通过制定的模板,具备更好的扩展能力,实现快速的这种代码流水线管理,实现快速的自动化的部署和集成这就是 kubernetes 核心第四个优势。

(5)高可用及高可靠

Kubernetes优势还有高可用及高可靠,Kubernetes 如此流行的一个重要原因是应用会一直顺利运行,不会被 pod 或节点的故障所中断;如果出现故障,Kubernetes 会创建必要数量的应用镜像,并分配到健康的pod或节点中,直到系统恢复高可用

image.png

用户不会感到任何不适,这样减轻了对集群的压力不会导致所有压力集中到一起,具备高可用高可靠的能力就可以使用户更好的去使用它,不会感到有任何的问题。

 

二、本章节小结及回顾

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 更加简单,高可用及高可靠。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
11天前
|
Kubernetes 调度 Docker
深入探讨容器编排技术:从Docker到Kubernetes
容器编排在现代IT中日益关键,从Docker到Kubernetes,助力应用的自动化部署和扩展。Docker提供容器技术,打包应用及环境为镜像,通过引擎、镜像、容器、网络和存储组件实现隔离运行。Kubernetes作为高级容器编排平台,管理Pod(多容器集合),其核心包括API服务器、控制器管理器、调度器和Kubelet。Kubernetes集群由Master和Worker节点构成,实现Pod的高效调度和运行。
36 6
|
4天前
|
存储 Kubernetes C++
【专栏】Kubernetes VS Docker Swarm:哪个容器编排工具更适合你?
【4月更文挑战第27天】对比Kubernetes和Docker Swarm:K8s在可扩展性和自动化方面出色,有强大社区支持;Swarm以简易用著称,适合初学者。选择取决于项目需求、团队技能和预期收益。高度复杂项目推荐Kubernetes,快速上手小项目则选Docker Swarm。了解两者特点,助力选取合适容器编排工具。
|
4天前
|
Cloud Native Linux 开发者
【Docker】Docker:解析容器化技术的利器与在Linux中的关键作用
【Docker】Docker:解析容器化技术的利器与在Linux中的关键作用
|
21小时前
|
敏捷开发 运维 测试技术
构建高效自动化运维体系:基于容器技术的持续集成与持续部署实践
【4月更文挑战第30天】在数字化转型的浪潮中,企业对软件交付速度和质量的要求日益提高。自动化运维作为提升效率、确保稳定性的关键手段,其重要性不言而喻。本文将探讨如何利用容器技术构建一个高效的自动化运维体系,实现从代码提交到产品上线的持续集成(CI)与持续部署(CD)。通过分析现代容器技术与传统虚拟化的差异,阐述容器化带来的轻量化、快速部署及易于管理的优势,并结合实例讲解如何在实际环境中搭建起一套完善的CI/CD流程。
|
2天前
|
Linux Shell 虚拟化
【Linux学习】Linux 的虚拟化和容器化技术
【Linux学习】Linux 的虚拟化和容器化技术
|
6天前
|
运维 Kubernetes Linux
10分钟搭建Kubernetes容器集群平台(kubeadm)
10分钟搭建Kubernetes容器集群平台(kubeadm)
|
7天前
|
运维 Kubernetes Docker
这是一项颠覆性技术 - 容器
这是一项颠覆性技术 - 容器
|
7天前
|
Kubernetes Ubuntu Linux
Kubernetes(K8S)集群管理Docker容器(部署篇)
Kubernetes(K8S)集群管理Docker容器(部署篇)
|
7天前
|
存储 Kubernetes Docker
Kubernetes(K8S)集群管理Docker容器(概念篇)
Kubernetes(K8S)集群管理Docker容器(概念篇)
|
7天前
|
Kubernetes Ubuntu Docker
Kubernetes(K8S v1.1版本) 集群管理Docker容器之部署篇
Kubernetes(K8S v1.1版本) 集群管理Docker容器之部署篇

相关产品

  • 容器服务Kubernetes版
  • 推荐镜像

    更多