【K8S系列】第十四讲:初识K8s架构之服务器的变迁

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 【K8S系列】第十四讲:初识K8s架构之服务器的变迁

1简介

在介绍K8S架构之前,先介绍一下服务器的演变过程:

  • 物理机时代
  • 虚拟机时代
  • 容器化时代

1.1 物理机时代

物理服务器是指独立服务器,也就是指物理上的单独服务器,

物理服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似

物理机,对应采购的服务器设备,又叫裸设备,是相对于虚拟机而言的对实体计算机的称呼。物理机提供给虚拟机以硬件环境


物理服务器的缺点

  • 部署慢每台服务器都要安装操作系统、相关的应用程序所需要的环境,各种配置
  • 成本高:物理服务器的价格十分昂贵
  • 资源浪费硬件资源不能充分利用
  • 迁移成本高:扩展和迁移需要重新配置一模一样的环境
  • 产品性能:难以确保获得持续可控的产品性能
  • 管理能力高:日趋复杂的业务管理能力
  • 扩展能力低:服务环境缺乏灵活的业务弹性

1.2 虚拟机

虚拟机,与现在流行的“云计算”的概念的有着紧密联系

虚拟机的概念在IaaS层,即基础设施即服务部分,

在几百上千台物理机上部署虚拟化软件,如vmware等等,使得他们的表现就像一台巨大的计算机。

同时它还具有灵活性和解耦性,可以在一台物理机上部署10台虚拟机,使得一台物理机的表现就像10台性能略差的服务器,当不需要他们时,

又可以随时的回收资源重新分配。

虚拟机优缺点

虚拟机时代很好的解决了物理机时代的缺点,虚拟机时代的优缺点:

优点:

  • 易部署-集中化管理:每台物理机可部署多台虚拟机,且可以通过模板,快照等方式,快速部署,成本低
  • 资源池-提高硬件利用率:开出来的虚拟机可作为资源池备用,充分压榨服务器性能
  • 资源隔离:每个虚拟机都有独立分配的内存磁盘等硬件资源,虚拟机之间不会互相影响
  • 易扩展-高可靠性:把操作系统和应用程序与服务器硬件分离开来,增强的灵活性,随时都能在一个物理机上创建或销毁虚拟机

缺点:

  • 降低性能:当一台物理机上并行运行多个虚拟机时,物理机资源的使用率越高,虚拟机性能下降的越剧烈
  • 实施配置复杂,管理复杂:IT管理员并不能很好的排查并解决虚拟化使用过程中的问题
  • 建设成本不低:前期建设成本甚至有可能超过单买PC机的价格。

1.3 容器时代

容器,也是虚拟层的概念,相对虚拟机而言,容器更加轻量级。容器技术的代表就是docker

虚拟机中需要模拟一台物理机的所有资源,比如要模拟出有多少CPU、网卡、显卡等等,这些都是在软件层面通过计算资源实现的,这就给物理机凭空增加了不必要的计算量。

容器仅仅在操作系统层面向上,对应用的所需各类资源进行了隔离。

这也是为何微服务、PaaS和Docker如此火爆的原因,

  • 资源消耗少
  • 迁移部署简单
  • 成本低

注意:容器可以建在物理机和虚拟机上。一个物理机可以建很多个容器。每个容器都是一个小系统。比虚拟机消耗更少


优点:

  • 更高效的利用硬件资源:所有容器共享主机操作系统内核,不需要安装操作系统。
  • 一致的运行环境:相同的镜像产生相同的行为
  • 更小:较虚拟机而言,容器镜像更小,因为不需要打包操作系统
  • 更快:容器能达到秒级启动,其本质是主机上的一个进程

1.4 总结

  • 一台物理机上可以部署多个虚拟机
  • 一个虚拟机,可以运行多个容器
  • 资源的利用单元,越来越小


2 容器编排

容器时代,成千上万的容器运行,需要按照一定的管理规则,这就延伸出了容器编排

2.1 什么是容器编排

容器编排是指自动化容器的部署、管理、扩展和联网

容器编排可以为需要部署和管理成百上千个容器和主机的企业提供便利。

容器编排可以实现自动化和管理任务:

  • 置备和部署
  • 配置和调度
  • 资源分配
  • 容器可用性
  • 根据平衡基础架构中的工作负载而扩展或删除容器
  • 负载平衡和流量路由
  • 监控容器的健康状况
  • 根据运行应用的容器来配置应用
  • 保持容器间交互的安全

容器编排工具提供了用于大规模管理容器和微服务架构的框架。容器生命周期的管理有许多容器编排工具可用。

一些常见的方案包括:Kubernetes、Docker Swarm 和 Apache Mesos。


Kubernetes 是一个最初由 Google 工程师开发和设计的开源容器编排工具。2015 年,Google 将 Kubernetes 项目捐赠给新成立的云原生计算基金会


Kubernetes 编排功能,可以构建跨多个容器的应用服务、跨集群调度容器、扩展这些容器,并长期持续管理它们的健康状况。


Kubernetes 可以省去应用容器化过程的许多手动部署和扩展操作。可以将运行 Linux 容器的多组主机(物理机或虚拟机)聚集在一起,由 Kubernetes 平台来轻松高效地管理这些集群。


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
14天前
|
存储 Kubernetes 负载均衡
Kubernetes设计架构
Kubernetes 是一个开源的容器编排平台,用于自动化应用的部署、扩展和管理。其设计架构高度可扩展且灵活,能管理大规模分布式系统。核心组件包括集群(含主节点和工作节点)、API 服务器、etcd、控制器管理器、调度器、Pod、服务、命名空间、配置管理、持久化存储、网络模型及扩展性支持。这些组件共同实现了应用的高效运行与管理。
46 7
|
13天前
|
Kubernetes API 调度
Kubernetes 架构解析:理解其核心组件
【8月更文第29天】Kubernetes(简称 K8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用。它提供了一个可移植、可扩展的环境来运行分布式系统。本文将深入探讨 Kubernetes 的架构设计,包括其核心组件如何协同工作以实现这些功能。
35 0
|
14天前
|
负载均衡 应用服务中间件 持续交付
微服务架构下的Web服务器部署
【8月更文第28天】随着互联网应用的不断发展,传统的单体应用架构逐渐显露出其局限性,特别是在可扩展性和维护性方面。为了解决这些问题,微服务架构应运而生。微服务架构通过将应用程序分解成一系列小型、独立的服务来提高系统的灵活性和可维护性。本文将探讨如何在微服务架构中有效部署和管理Web服务器实例,并提供一些实际的代码示例。
46 0
|
1天前
|
Cloud Native Java 编译器
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
随着云计算技术的不断发展,云服务商们不断推出高性能、高可用的云服务器实例,以满足企业日益增长的计算需求。阿里云推出的倚天实例,凭借其基于ARM架构的倚天710处理器,提供了卓越的计算能力和能效比,特别适用于云原生、高性能计算等场景。然而,有的用户需要将传统基于x86平台的应用迁移到倚天实例上,本文将介绍如何将基于x86架构平台的应用迁移到阿里云倚天实例的服务器上,帮助开发者和企业用户顺利完成迁移工作,享受更高效、更经济的云服务。
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
|
6天前
|
存储 弹性计算 SDN
企业级 ECS 集群的构建需要综合考虑多个因素,通过不断的比较和对比不同的方案,选择最适合企业自身需求和发展的架构。
【9月更文挑战第5天】在数字化商业环境中,构建企业级ECS(弹性计算服务)集群对提升业务稳定性、扩展性和性能至关重要。本文将比较传统物理服务器与ECS架构,分析云服务商选择(如AWS和阿里云)、实例配置(CPU/内存)、网络架构(SDN vs 传统)及存储方案(本地存储 vs 云存储),帮助企业根据自身需求选出最优方案,实现高效稳定的ECS集群部署。
37 18
|
11天前
|
前端开发 大数据 数据库
🔥大数据洪流下的决战:JSF 表格组件如何做到毫秒级响应?揭秘背后的性能魔法!💪
【8月更文挑战第31天】在 Web 应用中,表格组件常用于展示和操作数据,但在大数据量下性能会成瓶颈。本文介绍在 JavaServer Faces(JSF)中优化表格组件的方法,包括数据处理、分页及懒加载等技术。通过后端分页或懒加载按需加载数据,减少不必要的数据加载和优化数据库查询,并利用缓存机制减少数据库访问次数,从而提高表格组件的响应速度和整体性能。掌握这些最佳实践对开发高性能 JSF 应用至关重要。
24 0
|
16天前
|
弹性计算 运维 Serverless
揭秘ADB Serverless架构:如何实现无服务器计算的神奇魔法?
【8月更文挑战第27天】随着云计算的演进,Serverless架构作为一种新兴计算模式崭露头角。阿里云函数计算(简称ADB)提供了一种无需管理服务器即可运行代码的服务。本文通过案例探讨ADB Serverless模式的实现方式。首先介绍Serverless架构的基础概念,即事件驱动模型,使开发者仅需关注业务逻辑,减轻了基础设施构建与维护的负担。ADB采用分布式、无状态的设计,确保高可用性和弹性伸缩能力。以一个简单的Web应用为例,展示了如何利用ADB快速实现根据用户输入返回问候语的功能,突显出其简化开发流程、提高性能与可扩展性的优势。
29 0
|
19天前
|
Kubernetes API 调度
在K8S中,简单陈述⼀下K8S架构?
在K8S中,简单陈述⼀下K8S架构?
|
19天前
|
存储 边缘计算 监控
探索云计算的未来:无服务器架构的兴起与挑战
【8月更文挑战第23天】在这篇文章中,我们将深入探讨无服务器架构——一种现代的云计算执行模型,它允许开发者构建和运行应用程序和服务而无需管理服务器。我们将从基本概念出发,逐步揭示无服务器计算的核心优势、面临的挑战以及未来可能的发展方向。文章旨在为读者提供对无服务器技术全面而深刻的理解,同时激发对云原生技术未来可能性的思考。
|
8天前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
72 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战