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

简介: 【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搭建和管理企业级网站应用
相关文章
|
1月前
|
存储 Kubernetes 调度
|
1月前
|
运维 Kubernetes Docker
利用Docker和Kubernetes构建微服务架构
利用Docker和Kubernetes构建微服务架构
|
28天前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器架构有啥区别?X86计算、Arm、GPU异构、裸金属和高性能计算对比
阿里云ECS涵盖x86、ARM、GPU/FPGA/ASIC、弹性裸金属及高性能计算等多种架构。x86架构采用Intel/AMD处理器,适用于广泛企业级应用;ARM架构低功耗,适合容器与微服务;GPU/FPGA/ASIC专为AI、图形处理设计;弹性裸金属提供物理机性能;高性能计算则针对大规模并行计算优化。
|
27天前
|
Kubernetes Cloud Native 持续交付
容器化、Kubernetes与微服务架构的融合
容器化、Kubernetes与微服务架构的融合
47 1
|
1月前
|
存储 缓存 弹性计算
Codota的服务器存储架构
Codota的服务器存储架构
29 5
|
1月前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
1月前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
1月前
|
Kubernetes API 调度
【赵渝强老师】Kubernetes的体系架构
本文介绍了Kubernetes的体系架构及其核心组件。Kubernetes采用主从分布式架构,由master主节点和多个node工作节点组成。master节点负责集群管理和调度,运行API Server、scheduler、controller-manager等服务组件;node节点运行kubelet、kube-proxy和Docker容器守护进程,负责实际业务应用的运行。文章还简要介绍了Kubernetes的附加组件及其作用。
|
1月前
|
安全 持续交付 Docker
微服务架构和 Docker 容器化部署的优点是什么?
微服务架构和 Docker 容器化部署的优点是什么?
|
1月前
|
存储 监控 Docker
探索微服务架构下的容器化部署
本文旨在深入探讨微服务架构下容器化部署的关键技术与实践,通过分析Docker容器技术如何促进微服务的灵活部署和高效管理,揭示其在现代软件开发中的重要性。文章将重点讨论容器化技术的优势、面临的挑战以及最佳实践策略,为读者提供一套完整的理论与实践相结合的指导方案。

热门文章

最新文章

推荐镜像

更多