kubernets/kubernetes-MD/kubernetes基础架构.md

85 lines
3.4 KiB
Markdown
Raw Normal View History

2024-08-11 21:14:32 +08:00
<h1><center>Kubernetes基础架构</center></h1>
------
<h2>Kubernetes简介</h2>
<h3>1.简介</h3>
Kubernetes是谷歌严格保密十几年的秘密武器Borg的一个开源版本是容器分布式系统解决方案是一个可移植的、可扩展的开源平台用于管理容器化的工作负载和服务可促进声明式配置和自动化拥有一个庞大且快速增长的生态系统。
<h3>2.Kubernetes能做什么</h3>
使用现代的Web服务用户希望应用程序可以24/7全天候可用而开发人员则希望每天多次部署这些应用程序的新版本容器化有助于打包软件来实现这些目标从而使应用程序可以轻松快速地发布和更新而无需停机可帮助您确保那些容器化的应用程序在所需的位置和时间运行并帮助他们找到工作所需的资源和工具。
<h3>3.kubernetes组件</h3>
kube-apiserver: 负责 API 服务
kube-scheduler: 负责调度
kube-controller-manager: 负责容器编排
kubelet它与Kubernetes Master进行通信
kube-proxy一个网络代理可反映每个节点上的Kubernetes网络服务
<h3>5.Kubernetes 的顶层设计</h3>
<center><img src="kubernetes%E5%9F%BA%E7%A1%80%E6%9E%B6%E6%9E%84.assets/nDWtBAVlo7IxRXbecbQ4QA.png" alt="img" style="zoom:50%;" /></center>
<h3>6. 为什么 Kubernetes 如此有用</h3>
**传统部署时代:**
早期,组织在物理服务器上运行应用程序;无法为物理服务器中的应用程序定义资源边界,这会导致资源分配问题;例如,如果在物理服务器上运行多个应用程序,则可能会出现一个应用程序占用大部分资源的情况,结果可能导致其他应用程序的性能下降。一种解决方案是在不同的物理服务器上运行每个应用程序,但是由于资源利用不足而无法扩展,并且组织维护许多物理服务器的成本很高。
**虚拟化部署时代:**
作为解决方案,引入了虚拟化功能,它允许您在单个物理服务器的 CPU 上运行多个虚拟机VM。虚拟化功能允许应用程序在 VM 之间隔离,并提供安全级别,因为一个应用程序的信息不能被另一应用程序自由地访问。 因为虚拟化可以轻松地添加或更新应用程序、降低硬件成本等等,所以虚拟化可以更好地利用物理服务器中的资源,并可以实现更好的可伸缩性。 每个 VM 是一台完整的计算机,在虚拟化硬件之上运行所有组件,包括其自己的操作系统。
**容器部署时代:**
容器类似于 VM但是它们具有轻量级的隔离属性可以在应用程序之间共享操作系统OS。因此容器被认为是轻量级的。容器与 VM 类似具有自己的文件系统、CPU、内存、进程空间等。由于它们与基础架构分离因此可以跨云和 OS 分发进行移植。
容器是打包和运行应用程序的好方式。在生产环境中,您需要管理运行应用程序的容器,并确保不会停机。例如,如果一个容器发生故障,则需要启动另一个容器。
Kubernetes 为您提供了一个可弹性运行分布式系统的框架。Kubernetes 会满足您的扩展要求、故障转移、部署模式等。