使用 Minikube 创建集群
目标
- 了解什么是 Kubernetes 集群。
- 了解什么是 Minikube。
- 在你的计算机上启动一个 Kubernetes 集群。
Kubernetes 集群
Kubernetes 协调一个高可用性的计算机集群,这些计算机连接在一起作为单个单元工作。 Kubernetes 中的抽象允许你将容器化应用部署到集群,而无需将它们与特定机器绑定。为了利用这种新的部署模型,应用需要以一种将其与单个主机解耦的方式打包:它们需要被容器化。容器化应用比过去直接将应用作为包安装到特定机器并深度集成到主机中的部署模型更灵活和高可用。Kubernetes 以更高效的方式自动化应用容器在集群中的分发和调度。 Kubernetes 是一个开源平台,已达到生产可用状态。
Kubernetes 集群由两种资源组成
- 控制平面协调集群
- 节点是运行应用的工作机器
集群图
控制平面负责管理集群。 控制平面协调集群中的所有活动,例如调度应用、维护应用的期望状态、扩缩应用以及推出新更新。
节点是作为 Kubernetes 集群中工作机器的虚拟机或物理计算机。 每个节点都有一个 Kubelet,它是用于管理节点并与 Kubernetes 控制平面通信的代理。节点还应该有用于处理容器操作的工具,例如 containerd 或 CRI-O。处理生产流量的 Kubernetes 集群应该至少有三个节点,因为如果一个节点发生故障,etcd 成员和控制平面实例都会丢失,冗余性也会受到影响。你可以通过添加更多控制平面节点来降低此风险。
当你在 Kubernetes 上部署应用时,你会告知控制平面启动应用容器。控制平面会将容器调度到集群的节点上运行。 节点级别的组件,例如 Kubelet,使用 Kubernetes API 与控制平面通信,该 API 由控制平面暴露。最终用户也可以直接使用 Kubernetes API 与集群交互。
Kubernetes 集群可以部署在物理机或虚拟机上。要开始 Kubernetes 开发,你可以使用 Minikube。Minikube 是一个轻量级的 Kubernetes 实现,它在你的本地机器上创建一个虚拟机并部署一个只包含一个节点的简单集群。Minikube 可用于 Linux、macOS 和 Windows 系统。Minikube CLI 提供了用于与集群协作的基本引导操作,包括启动、停止、状态和删除。
接下来
- 教程 Hello Minikube。
- 了解更多关于集群架构的信息。