Kubernetes解决什么样的问题
Docker是一个轻量级的虚拟机,它将程序的代码、工具库和运行环境全部都封装到了一个容器中,因此降低了部署和测试的难度,我们需要做的只是运行命令就ok。不了解Docker可以先看看https://www.jianshu.com/p/0b74b2bb4c59?v=1675460817900这篇文章
但是对于像购物系统一样这类架构复杂、规模庞大的应用来说,他们需要根据访问量来自动分配服务器、网络资源,并且在某个容器宕机之后自动进行灾难恢复、故障转移,这个时候K8s就可以大显身手了
Kubernetes的工作原理
Kubernetes是一个用于大规模部署拟分布式应用的平台它管理着一系列的主机和服务器,它们被称作Node节点。
每一个节点运行了若干个相互独立的pod,Pod是Kubernetes中可以部署的最小执行单元
这么多的pod,他们需要相互协调才能做到负载均衡或者故障转移,这就需要一台中心计算机来集中管理。这个中心计算机就被称为控制平面,控制平面通过专有的API来与各个节点通信
它会实时检测节点的网络张台来平衡服务器的负载或者临时下发指令来应对突发的状况,比如发现某个Pod挂掉了它会立刻启用在后台预先准备好的、随时待命的备用容器来替换它 ,以上所有被称为一个集群