# 使用 Minikube 集群
# 目标
- 了解 k8s 集群是什么。
- 了解 Minikube 是什么。
- 使用在线终端启动 k8s 群集。
# k8s 集群
k8s 将底层的计算资源连接在一起对外体现为一个高可用的计算机集群。k8s 将资源高度抽象化,允许将容器化的应用程序部署到集群中。为了使用这种新的部署模型,需要将应用程序和使用环境一起打包成容器。与过去的部署模型相比,容器化的应用程序更加灵活和可用,在新的部署模型中,应用程序被直接安装到特定的机器上,k8s 能够以更高效的方式在集群中实现容器的分发和调度运行。
k8s 集群包括两种类型资源:
- Master 节点:协调控制整个集群。
- Nodes 节点:运行应用的工作节点。
# 集群结构图
Master 负责集群的管理。Master 协调集群中的所有行为/活动,例如应用的运行、修改、更新等。
(Node)节点作为 k8s 集群中的工作节点,可以是 VM 虚拟机、物理机。每个 node 上都有一个 Kubelet,用于管理 node 节点与 k8s Master 通信。每个 Node 节点上至少还要运行 container runtime(比如 docker 或者 rkt)。
k8s 上部署应用程序时,会先通知 master 启动容器中的应用程序,master 调度容器以在集群的节点上运行,node 节点使用 master 公开的 k8s API 与主节点进行通信。最终用户还可以直接使用 k8s API 与集群进行交互。
k8s 集群可以部署在物理机或虚拟机上。使用 k8s 开发时,你可以采用 Minikube。Minikube 可以实现一种轻量级的 k8s 集群,通过在本地计算机上创建虚拟机并部署只包含单个节点的简单集群。Minikube 适用于 Linux,MacOS 和 Windows 系统。Minikube CLI 提供集群管理的基本操作,包括 start、stop、status、 和 delete。