《Hello,World公开课》快速部署Kubernetes应用

开课吧开课吧科科2021-03-15 19:00

Kubernetes是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。Kubernetes拥有一个庞大且快速增长的生态系统。Kubernetes的服务、支持和工具广泛可用。

关于Kubernetes

Kubernetes不是传统的、包罗万象的 PaaS(平台即服务)系统。

由于Kubernetes在容器级别而不是在硬件级别运行,它提供了PaaS 产品共有的一些普遍适用的功能, 例如部署、扩展、负载均衡、日志记录和监视。但是Kubernetes不是单体系统,默认解决方案都是可选和可插拔的。

Kubernetes提供了构建开发人员平台的基础,但是在重要的地方保留了用户的选择和灵活性。

Kubernetes的优势

虚拟化部署时代

作为解决方案,引入了虚拟化。虚拟化技术允许你在单个物理服务器的CPU 上运行多个虚拟机(VM)。虚拟化允许应用程序在VM之间隔离,并提供一定程度的安全,因为一个应用程序的信息 不能被另一应用程序随意访问。

虚拟化技术能够更好地利用物理服务器上的资源,并且因为可轻松地添加或更新应用程序而可以实现更好的可伸缩性,降低硬件成本等等。

每个VM是一台完整的计算机,在虚拟化硬件之上运行所有组件,包括其自己的操作系统。

容器部署时代

容器类似于 VM,但是它们具有被放宽的隔离属性,可以在应用程序之间共享操作系统(OS)。因此,容器被认为是轻量级的。容器与 VM 类似,具有自己的文件系统、CPU、内存、进程空间等。由于它们与基础架构分离,因此可以跨云和 OS 发行版本进行移植。

容器因具有许多优势而变得流行起来。下面列出的是容器的一些好处:

敏捷应用程序的创建和部署:与使用 VM 镜像相比,提高了容器镜像创建的简便性和效率。

持续开发、集成和部署:通过快速简单的回滚(由于镜像不可变性),支持可靠且频繁的 容器镜像构建和部署。

关注开发与运维的分离:在构建/发布时而不是在部署时创建应用程序容器镜像, 从而将应用程序与基础架构分离。

可观察性不仅可以显示操作系统级别的信息和指标,还可以显示应用程序的运行状况和其他指标信号。

跨开发、测试和生产的环境一致性:在便携式计算机上与在云中相同地运行。

跨云和操作系统发行版本的可移植性:可在Ubuntu、RHEL、CoreOS、本地、Google Kubernetes Engine和其他任何地方运行。

以应用程序为中心的管理:提高抽象级别,从在虚拟硬件上运行OS 到使用逻辑资源在OS上运行应用程序。

松散耦合、分布式、弹性、解放的微服务:应用程序被分解成较小的独立部分, 并且可以动态部署和管理 - 而不是在一台大型单机上整体运行。

资源隔离:可预测的应用程序性能。

资源利用:高效率和高密度。

Kubernetes能解决什么问题

容器是打包和运行应用程序的好方式。在生产环境中,你需要管理运行应用程序的容器,并确保不会停机。

例如,如果一个容器发生故障,则需要启动另一个容器。如果系统处理此行为,会不会更容易?

这就是 Kubernetes 来解决这些问题的方法!Kubernetes为你提供了一个可弹性运行分布式系统的框架。

Kubernetes 会满足你的扩展要求、故障转移、部署模式等。例如,Kubernetes可以轻松管理系统的Canary 部署。

Q&A

K8s,容器编排的事实标准,云原生时代的企业技术战略重点,也是未来后端开发、运维必备技能。但K8s包含技术点繁多复杂,学起来并不容易。

Q1:前端学有用吗?使用的场景多吗?

前端应用也需要部署并运行在Kubernetes平台,学习课程可以更完整体系化的了解系统是如何运行的。

Q2:项目不是Java的,非Java开发者可以学习吗?

项目本身只是一个应用运行的实例,对于非Java 的开发者,仍然可以学习Kubernetes的核心内容,理解应用和配置分离的思想,对于任意一门语言来说都是通用的。

Q3:完全没有K8s基础的,可以学这门课程吗?

没有问题,但是需要具备基本的web应用开发和Linux基本命令知识。

Q4:Docker要退出K8s了,对课程的学习有影响吗?

Kubernetes在1.20版本宣布Kubelet不支持Docker运行,是Kubernetes项目本身的运行方式不在Docker上并不等于Kubernetes不支持Docker。

大部分企业的应用还是以Docker容器的方式运行在Kubernetes平台上,所以学习Docker是非常有必要的,掌握了Docker再学习containerd就会很轻松,触类旁通。

Q5:学完这个能达到什么程度呢?是初步使用还是?

全面掌握K8s核心知识以及K8s的生产实践。

导师介绍

张晋涛

张晋涛

网易有道资深运维开发工程师,业内知名技术大会讲师。

Docker及Kubernetes等开源项目贡献者。

01.主讲问题

1 Kubernetes整体设计思想介绍

2快速搭建本地可用的Kubernetes环境

3实操Kubernetes跑通应用

02.课程目标

本次课程让学员了解Kubernetes的整体设计,学会通用资源及其含义,以及可以快速搭建本地可用的Kubernetes环境,最后你会学习如何快速的将应用跑在Kubernetes中。

03.进入学习模式

千万不要错过程序员最实用的课!

Kubernetes应用

学到了,你就赚了!

就现在马上点击图片进入课程!明晚8:00 我们不见不散!更多《Hello,World公开课》尽在开课吧广场动态信息频道!

有用
分享