2019年关于VM和Kubernetes的思考 | 技术头条

戳蓝字“CSDN云计算”关注我们哦!


640?wx_fmt=jpeg


转自:开源云中文社区

近年来,容器已成为云原生应用程序架构的同义词。它们重新定义了打包、分发、部署和管理应用程序的方式。但是,容器本身就是已有Linux技术的重新兴起,只不过这些技术以一种新的、更有用的方式结合在一起。


虽然许多组织正在将基于虚拟机(VM)的应用程序迁移到容器,但虚拟化在数据中心和公有云中仍然普遍存在。我们还看到虚拟化技术以新的方式与容器和Kubernetes结合在一起,为新问题提供创新的解决方案。换句话说,虚拟机也正在成为云原生架构的一部分——这就是容器原生虚拟化。


Kubernetes的基石仍然是Linux容器的编排和管理,以创建一个功能强大的分布式系统,用于跨混合云环境部署应用程序。Kubernetes通常运行在基于VM的基础设施之上,而基于VM的工作负载通常仍然是IT组合的重要组成部分。进入2019年,Kubernetes和虚拟化的交汇有三个主要趋势:


1、Kubernetes编排微虚拟机,为不受信任的工作负载提供更严格的多租户隔离。


2、Kubernetes编排和管理传统的基于VM的工作负载(通过KubeVirt)和基于容器的工作负载。


3、Kubernetes集群越来越多地部署在裸机服务器上,作为基于VM环境的Kubernetes的替代品。


这些都不是新想法,但在2019年我们期望看到这些趋势背后的动力成为现实。这些功能共同说明了Kubernetes将如何继续发展并应用于更广泛的应用程序。


Kubernetes编排微VM


当采用Kubernetes和容器时,核心考虑因素之一是安全性以及如何确保容器在多租户环境中安全运行。容器在共享Linux主机上作为独立进程运行,并且你经常在由多个主机组成的Kubernetes集群中运行多个容器化应用程序。


从Linux主机级别到Kubernetes集群级别有多层容器安全性,可以保护这些应用程序不被恶意利用。其中包括Linux内核级功能,如cGroups、namespaces、seccomp和SELinux——它们确保容器无法利用底层Linux主机或其他容器。


在Kubernetes集群级别,基于角色的访问控制(RBAC)、命名空间租户隔离和pod安全策略等功能使多个应用程序可以在同一个集群上安全地运行。


如今,大多数用户对这些功能提供的安全性充满信心,因此,我们看到在任务关键型生产环境中运行Kubernetes的用户数量呈爆炸式增长。


对于某些用户而言,可能需要更强大的多租户隔离,无论是由于运行不受信任的工作负载,还是是否有更严格的安全要求或其他原因。这就是基于微型VM(如Kata Containers、Firecracker或gVisor)的方法的用武之地。 


Micro-VM与你可能在VMWare、AWS或其他提供商上运行的传统VM不同。相反,它们在应用程序容器的上下文中重新混合现有的硬件辅助虚拟化技术(如基于内核的虚拟机(KVM))以提供非常轻量级的虚拟机。


这种方法不是像传统虚拟化那样尝试提供完整的“机器”,而是专注于提供足够的VM来成功执行应用程序容器或功能。因此,由于其功能差异和限制,你不能只使用传统VM并在基于微VM的容器中运行它。相反,微VM旨在提供相对于标准Linux容器的硬隔离,同时最大限度地减少传统VM在冷启动时间和性能方面的折中。


虽然Firecracker、Kata和gVisor等技术引起了很多关注,但目前在用户采用方面还没有明确的领导者,每种方法都有权衡和取舍。虽然我们预计Kubernetes编排的绝大部分工作负载仍将是标准的应用程序容器,但随着微VM在2019年的不断发展,它值得关注。


Kubernetes编排标准虚拟机


Kubernetes编排引擎为企业生产工作负载提供了更具可扩展性和灵活性的模型。最初,这意味着,生产工作负载打包为应用程序容器。但是有了像KubeVirt这样的开源项目,我们看到同样强大的Kubernetes编排引擎可以应用于管理通常在云或虚拟化平台上运行的标准虚拟机。


在2019年,我们预计这种趋势将持续下去并转变为更广泛的思维模式变化。以前在以虚拟机为中心和以容器为中心的基础设施之间的选择将没有实际意义。Kubernetes将开始使容器和虚拟机的混合运维成为可能,而且将是在裸机环境中运行。


容器原生虚拟化是一种概念,它使虚拟机能够遵循与Kubernetes中基于容器的应用程序相同的工作流程。以前,虚拟化堆栈是与Kubernetes和云原生是完全独立的孤岛——独立的工作流程、独立的工具、独立的团队等。


但随着数字化转型的实施,统一这些不同的技术、流程和团队的需求变得至关重要。使用KubeVirt进行容器原生虚拟化,企业将能够更有效地集成其应用程序操作并保留现有的IT技能,同时拥抱基于Kubernetes构建的现代基础设施。


裸机上的Kubernetes(没有虚拟机)


虽然虚拟机成为Kubernetes工作负载组合中的重要组成部分,但我们发现它们作为Kubernetes底层基础设施的一部分变得不那么受欢迎了。虽然目前大多数Kubernetes平台都部署在基于VM的基础设施上,但容器不依赖于VM来运行。我们发现对在裸机上运行Kubernetes和容器的兴趣继续增长。


在裸机上运行Kubernetes将使应用程序能够充分利用底层硬件,这对于为Kubernetes带来更多机器和性能敏感应用程序的用户来说非常重要。在裸机上运行Kubernetes和容器还可以帮助用户减少VM蔓延并简化操作。


为了避免被任何一个提供商或供应商锁定,用户将重点放在Kubernetes上,作为跨物理、虚拟、私有云和公有云环境运行的应用程序的通用抽象层。我们需要满足用户的需求。这意味着跨开放的混合云提供Kubernetes,包括内部部署和在裸机上部署。


640?wx_fmt=png


福利

扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg


推荐阅读:

  • 极客头条

  • 30位90后霸榜! 福布斯: 比你年轻、比你有颜、比你有才华, 就是他们了!

  • Facebook开源图嵌入“神器”:无需GPU,高效处理数十亿级实体图形 | 极客头条

  • 微软 CTO 韦青:“程序员 35 岁就被淘汰”是个伪概念 | 人物志

  • 他曾主导世界上第一台安卓智能机, 如今能否靠区块链手机找回昔日的光荣?|人物志

  • 移动开发或将被颠覆?

  • 如何将TensorFlow Serving的性能提高超过70%?


640?wx_fmt=png喜欢就点击“在看”吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/524246.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt实现界面的窗口的局部动态添加并布局

此程序实现的是点击界面的添加界面按钮,新增加一个窗口,并实现窗口的布局,随着窗口个数的在布局中的增加,窗口大小自动缩小。创建基于QT widget Application的应用程序,选择基类QDialog,去掉Generate form前的勾&#…

第五篇:Spring Boot整合filter

一、Springboot整合Servlet 第一种方案:通过注解扫描完成filter组建的注册 1、编写自定义filter(FirstFilter) //urlPattern是一个数组可以添加多个 //WebFilter(filterName "FirstFilter",urlPatterns {"*.do","*.jsp"}) WebFilt…

微服务精华问答:什么是微服务架构中的DRY?| 技术头条

微服务(Microservice Architecture)是近几年流行的一种架构思想,关于它的概念很难一言以蔽之。 究竟什么是微服务呢?今天就让我们一探究竟。1Q:什么是微服务架构中的DRY?A:DRY代表不要重复自己。它基本上促进了重用代码的概念。这导致开发和…

第六篇:Spring Boot 访问静态资源

Spring Boot的默认静态资源的路径为: spring.resources.static-locationsclasspath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ 优先级从从高到低 一、Spring Boot 访问静态资源有二种方案 第一种方案(默认&…

C/C++ 输入某年某月某日,判断这一天是这一年的第几天?

目录 一.结果演示二.源代码三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 面向对象 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 设计模式 零基础 C/C 学习路线推荐 : C/C 学习目录…

QT中DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x80040216 ()问题的解决

亲身经历此问题的困惑后,第二次遇到该问题,实在忍不住想把这个解决方法写下来,愿对和我一样遇到该问题的人有所帮助。 至于Qt产生该问题的原因,网上众说纷云,但都是一样的,说是缺少一个视频解码器。造成的现…

成为最大的独立开源公司,对SUSE意味着什么? | 人物志

戳蓝字“CSDN云计算”关注我们哦!极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!作者:孙浩峰如果你在科技展会上看到了一只可爱的绿色小蜥蜴&#x…

第七篇:Spring Boot 整合_Thymeleaf 入门试炼 QuickStart

1.1 添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency><groupId>org.springframework.boot</groupId><artifactId&…

移动场景在其缩略图中显示场景中所显示的区域

需求描述 在场景中实现拖动&#xff0c;缩放&#xff0c;并在场景的缩略图中显示其对应在视口中显示的矩形区域。 程序效果图如下&#xff1a; 开发环境&#xff1a;Qt 5.13.1 编译环境&#xff1a;MinGW64 项目结构&#xff1a; 直接上程序: main.cpp #include "dial…

那些中国式家庭的小烦恼,我看用AI来解决就“都挺好” | 技术头条

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;转自&#xff1a;趣味科技v今天&#xff0c;又是《都挺好》全面承包热搜的一天。自从这…

penGL ES 2.0 和 3.0区别

目录 一.嵌入式设备的 OpenGL ES 版本二.兼容性三.着色器脚本 1.OpenGL ES shader 2.02.OpenGL ES shader 3.03.版本声明4. 默认精度修饰符 precision4.输入输出5.变量赋值 四.关于顶点缓冲区对象 VBO 与顶点数组对象 VAO五.PBO六.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : O…

使用thymeleaf的时候报元素类型“meta“必须由匹配的结束标记

使用thymeleaf的时候报元素类型"meta"必须由匹配的结束标记""终止> 解决方案有二种&#xff1a; 第一种&#xff1a; 让html的标记严格严谨的语法&#xff1a; 加上结束标签第一种&#xff1a;&#xff1a;修改thymeleaf版本 <thymeleaf.version…

漫话:如何给女朋友解释什么是系统可用性? | 技术头条

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;转自&#xff1a;漫话编程在一个阳光明媚的周二下午&#xff0c;我正在公司里面看着即…

基于websocket的简单通信

首次接触websocket通信协议&#xff0c;不足之处希望指出一起进步。 简述 websocket是基于tcp协议的一种网络通信协议&#xff0c;分为客户端和服务端&#xff0c;可以实现客户端与服务端的双向通信。 与tcp的不同之处是&#xff1a; 1.客户端与服务端只需要一次握手协议&…

OpenGL ES 名词解释(一)

目录 一.前言二.OpenGL ES 上下文三.OpenGL ES 状态机四.缓存五.渲染六.纹理七.光栅化 Rasterization八.片元着色器九.顶点着色器十.着⾊语言 GLSL十一.着色器使用流程十二.着色器的渲染流程十三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenG…

大龄程序员失业后,看他们是如何破局突围的? | 技术头条

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;作者&#xff1a;逆流的鱼yuiop转自&#xff1a;何俊林王小波在《黄金时代》里写道&am…

分布式架构系列: 负载均衡技术详解 | 技术头条

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;作者&#xff1a;ITFLY8转自&#xff1a;架构师技术联盟面对大量用户访问、高并发请求…

第七篇:Spring Boot整合Thymeleaf_入门试炼03

基本语法实战案例01 在ThymeleafController中添加此方法 RequestMapping("/show5")public String showInfo5(Model model) {model.addAttribute("msg", "Thymeleaf 第一个案例");model.addAttribute("key", new Date());return &quo…

Qt下自适应分辨率

qt下自适应分辨率应该有两种方法&#xff1a;通过栅格布局&#xff1b;通过缩放比。 本人采用的是缩放比来适应不同的分辨率。首先定义一个类实现屏幕分辨率和长宽缩放比的获取&#xff0c;由于该类可能被多个ui界面使用&#xff0c;所以定义为一个单例模式。代码如下&#xff…

OpenGL ES EGL 简介

目录 一.EGL 简介二.EGL 跨平台之 ANGLE 1.ANGLE 支持跨平台2.ANGLE 支持渲染器3.ANGLE 下载地址 三.EGL 坐标系四.EGL 绘图步骤五.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录…