1、物理服务器
在物理服务器上运行应用程序,无法为应用程序定义资源边界,会导致资源分配的问题。
2、虚拟机部署
将物理单机将划分为多个虚拟机,不同虚拟机使用不同的操作系统(占用空间大),虚拟机中部署应用,可以实习扩容及缩容。应用程序是直接部署在虚拟机硬盘上,应用程序迁移时,也需要连同虚拟机硬盘中的操作系统一同迁移。
3、容器化部署
(1)Docker
共享同一个操作系统,不需要为容器安装操作系统。Docker基于Linux内核的cgroup、namespace和Union FS等技术,对进程进行封装隔离,形成容器化环境,简化容器创建和维护。
容器的创建、运行和管理。
(2)Kubernetes集群
简称 K8s,是用 8 代替中间 8 个字符,是一个容器编排工具,负责自动化部署、扩展和管理容器化应用。高并发,高可用。容器集群。更适用于大型、复杂的容器化应用的自动化部署和管理。K8s的组成可以分为两大部分:控制平面(Control Plane)和节点(Node)。
K8s的架构是基于主从模式设计的,其中一个或多个master节点负责整个集群的管理和调度,而大量的worker节点则负责实际运行容器。
Master节点:运行着控制平面(API Server:提供与集群交互的接口。etcd:保存集群的配置和元数据。Scheduler:负责分配Pod到合适的节点。Controller Manager:确保集群按预期运行。)的各个组件。它不直接存储容器,而是存储关于容器的元数据、配置和状态信息。这些信息存储在etcd中,并通过API Server提供给用户和其他组件使用。
Node节点:Node节点是实际运行Pod的地方。每个Node节点上都运行着kubelet和kube-proxy等关键组件,并可能包含多个Pod。每个Pod内部可以包含一个或多个容器,这些容器共享相同的网络命名空间、存储卷等资源。kubelet:管理Pod及容器的生命周期。kube-proxy:实现服务间的网络通信和负载均衡。Container Runtime:运行容器。
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交