Kubernetes 虚拟机部署弊端

简介: Kubernetes 虚拟机部署弊端


网络异常,图片无法展示
|

如果你喜欢在虚拟机上部署 Kubernetes,请丢弃它,使用裸机部署,本文介绍了在裸机上尝试 K8s 的六个优势。


如果组织需要扩展需求,且易预测的中小型应用系统,那么在“公有云”上使用 Kubernetes 是一种合适的解决方案。然而,对于希望加强控制提升稳定性能的组织来说,裸机云却是不二的选择。


容器编排工具为分布式应用程序提供了灵活性可移植性效率更轻松的扩展,从而方便软件开发。作为编排领域事实上的领导者,Kubernetes 得到了许多提供托管 Kubernetes 服务的各种云供应商的支持。


虽然托管的 Kubernetes 服务,提供了一种简单的方式来部署和开始使用 Kubernetes,但主要提供基于虚拟机的基础架构。虚拟机对供应商来说很方便,并在许多情况下为客户提供了很好的价值。但在裸机服务器上部署 Kubernetes 有几个显著的优势。


裸机上部署 Kubernetes 的六大优势:


01 、裸机简化网络构建和管理


裸机 Kubernetes 的部署摈弃了虚拟机配置中存在的虚拟机管理程序。如果没有虚拟化层,构建网络会更容易。


裸机的好处贯穿于整个开发过程。缺少虚拟化层降低了系统的复杂性,使故障排除起来更容易。由于配置更精简,管理服务自动化和软件部署也更容易。


02 、裸机服务器对于要求苛刻的工作负载和应用系统而言更具成本效益


虚拟机云实例为需求易预测的中小型应用系统提供了一种廉价的解决方案。另一方面,需要高端硬件和能够快速扩展的较复杂项目可能发现裸机更具成本效益。如果是同样的成本,裸机配置往往提供比虚拟机配置更强大的功能。


横向扩展是 Kubernetes 最重要的卖点之一。简化扩展的裸机配置可以使采用该编排平台的组织方便拓展业务。比如说,配备第三代英特尔至强可扩展 CPU 的服务器提供了出色的内置可扩展性,从而可以简化基础架构管理。


03 、裸机提供更好的性能


摈弃系统配置的虚拟机管理程序开销有助于大幅提升性能。应用程序可以直接访问 CPU、内存及其他硬件资源,从而大大缩短延迟,并最大限度地提高资源利用率


没有虚拟机管理程序开销,意味着对延迟敏感的工作负载的性能更好,比如媒体和金融行业的垂直应用系统。但好处不仅仅在于缩短延迟——任何需要强大硬件的应用系统和工作负载都受益于直接访问裸机。这包括用于 3D 渲染科学金融建模GPU 密集型应用软件以及需要大量内存的数据库软件。


与虚拟化解决方案相比,促使裸机性能卓越的另一个因素是,虚拟机与同一个物理机上的其他虚拟机共享硬件。相邻虚拟机会耗尽资源,因而严重妨碍性能。若使用裸机,你部署的 Kubernetes 可以享用专用资源。


04 、裸机配置天生更安全


由于是单租户环境,裸机提供了卓越的安全性。虚拟机配置中存在的“嘈杂邻居”将面临潜中断的风险更大。裸机管理员全面控制系统配置,这降低了网络攻击的风险。


对于处理敏感信息,并需要满足 HIPAA、GDPR 或其他任何行业法规的应用系统而言,强烈建议在裸机上部署 Kubernetes。


05、 裸机让你可以创建针对特定工作负载而优化的配置


虚拟机实例通常托管旨在满足一般工作负载需求的配置上。这意味着非常特定的硬件配置很少可供使用。裸机配置可高度定制,可加以优化来支持要求苛刻的特定工作负载。


06、 裸机不被供应商工具束缚


托管 Kubernetes 服务提供了一种方法,可消除与部署和管理云原生应用程序相关的复杂性。然而对于需要横向扩展的组织而言,这可能带来了重大障碍。一旦公司扩展到超出其托管 Kubernetes 服务提供商所能提供的范围,迁移到另一种解决方案可能会因代码依赖项而困难重重。裸机上的 Kubernetes 则使管理员可以全面控制底层的硬件基础架构,还使组织可以避免供应商锁定现象。

 

本地 vs 云裸机


裸机服务器可以部署在本地,管理员全面控制硬件、网络连接和冷却系统。然而,本地部署使系统扩展依赖可用于托管机器的物理空间容量。此外,服务器的单一位置可能导致相隔遥远的位置出现性能问题。


裸机云解决方案提供了几乎无限制的可扩展性,同时提供了可配置支持扩展的专用服务器。


构建裸机 Kubernetes 的最佳实践


总而言之,以下是成功部署 Kubernetes 裸机的几个诀窍:


  • 使用裸机云。裸机云使扩展变得更容易,而且不需要大量的物理资源。
  • 靠近客户的位置部署集群,以此降低延迟。
  • 使用 Kubernetes 控制器使基础架构管理更容易。
  • 要创建有弹性的系统,应创建更小的节点,哪怕你必须增加节点的数量。
  • 使用 SUSE Rancher、OpenShift 等解决方案自动化来管理你部署的环境。流行的开


相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
26天前
|
Kubernetes 网络协议 应用服务中间件
K8S二进制部署实践-1.15.5
K8S二进制部署实践-1.15.5
34 0
|
2月前
|
运维
计算巢如何使用fluxcd在ack部署helm chart
为支持helm服务运维管理功能,现在改用fluxcd的方式进行helm chart部署,这里计算巢对fluxcd进行部署helm chart的过程进行了封装,封装成了ROS公共模块MODULE::ACS::ComputeNest::FluxOciHelmDeploy,下面将主要介绍下怎么使用这个模块在计算巢中进行Helm Chart的部署。
36 3
|
2月前
|
Kubernetes 容器
使用sealer部署k8s记录
使用sealer部署k8s记录
|
2月前
|
存储 Kubernetes 容器
百度搜索:蓝易云【Kubernetes使用helm部署NFS Provisioner】
现在,你已经成功使用Helm部署了NFS Provisioner,并且可以在Kubernetes中创建使用NFS存储的PersistentVolumeClaim。
44 10
|
2月前
|
Kubernetes 应用服务中间件 nginx
百度搜索:蓝易云【使用Kubernetes部署Nginx应用教程】
现在,你已经成功在Kubernetes集群上部署了Nginx应用。通过访问Service的外部IP地址,你可以访问Nginx服务。
42 4
|
3月前
|
Kubernetes 流计算 容器
在Rancher K8s上部署Flink时,TaskManager连接不上并不断重启可能是由多种原因导致的。
在Rancher K8s上部署Flink时,TaskManager连接不上并不断重启可能是由多种原因导致的。【1月更文挑战第22天】【1月更文挑战第106篇】
60 1
|
2月前
|
存储 Kubernetes 网络协议
使用 K8S 部署 RSS 全套自托管解决方案 - RssHub + Tiny Tiny Rss
使用 K8S 部署 RSS 全套自托管解决方案 - RssHub + Tiny Tiny Rss
|
27天前
|
Kubernetes 流计算 Perl
在Rancher K8s上部署Flink时,TaskManager连接不上并不断重启可能是由多种原因导致的
在Rancher K8s上部署Flink时,TaskManager连接不上并不断重启可能是由多种原因导致的
34 7
|
3月前
|
存储 Kubernetes Apache
pulsar on k8s 部署验证
pulsar on k8s 部署验证
|
10天前
|
Kubernetes 搜索推荐 Docker
使用 kubeadm 部署 Kubernetes 集群(二)k8s环境安装
使用 kubeadm 部署 Kubernetes 集群(二)k8s环境安装
48 17

推荐镜像

更多