【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搭建和管理企业级网站应用
相关文章
|
1月前
|
运维 监控 负载均衡
深入理解无服务器架构:优势与挑战
【10月更文挑战第6天】深入理解无服务器架构:优势与挑战
|
1月前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
121 60
|
1月前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
210 62
|
25天前
|
监控 网络协议 安全
DNS服务器故障不容小觑,从应急视角谈DNS架构
DNS服务器故障不容小觑,从应急视角谈DNS架构
46 4
|
25天前
|
机器学习/深度学习 监控 Serverless
无服务器架构(Serverless)
无服务器架构(Serverless)
|
1月前
|
存储 固态存储 安全
阿里云服务器X86计算架构解析与X86计算架构云服务器收费价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中X86计算是用户选择最多的一种架构,本文将深入探讨阿里云X86计算架构的云服务器,包括其技术特性、适用场景、性能优势以及最新价格情况。
|
1月前
|
编解码 弹性计算 应用服务中间件
阿里云服务器Arm计算架构解析:Arm计算架构云服务器租用收费标准价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中Arm计算架构以其低功耗、高效率的特点受到广泛关注。本文将深入解析阿里云Arm计算架构云服务器的技术特点、适用场景以及包年包月与按量付费的收费标准与最新活动价格情况,以供选择参考。
|
24天前
|
JSON Kubernetes 容灾
ACK One应用分发上线:高效管理多集群应用
ACK One应用分发上线,主要介绍了新能力的使用场景
|
25天前
|
Kubernetes 持续交付 开发工具
ACK One GitOps:ApplicationSet UI简化多集群GitOps应用管理
ACK One GitOps新发布了多集群应用控制台,支持管理Argo CD ApplicationSet,提升大规模应用和集群的多集群GitOps应用分发管理体验。
|
1月前
|
Kubernetes Cloud Native 云计算
云原生之旅:Kubernetes 集群的搭建与实践
【8月更文挑战第67天】在云原生技术日益成为IT行业焦点的今天,掌握Kubernetes已成为每个软件工程师必备的技能。本文将通过浅显易懂的语言和实际代码示例,引导你从零开始搭建一个Kubernetes集群,并探索其核心概念。无论你是初学者还是希望巩固知识的开发者,这篇文章都将为你打开一扇通往云原生世界的大门。
122 17