当您在 Kubernetes 中执行 kubectl apply 命令创建一个对象后,Kubernetes 服务器端会执行以下操作:
首先,API Server 将请求的对象存储到 etcd 中。etcd 是 Kubernetes 的数据存储后端,所有关于集群状态的信息都保存在其中。
接下来,kube-controller-manager 会检查该资源是否符合预期状态,并对不一致的部分进行调谐。例如,如果您创建了一个 Deployment 对象,则 kube-controller-manager 将确保您指定的副本数量正在运行,并根据需要启动或停止 Pod 实例。
然后,kube-scheduler 将选择一个 Node 来运行新创建的 Pod。该决策基于许多因素,包括节点上可用资源、Pod 所需资源和调度策略等。
最后,在选择的节点上 kubelet 将启动 Pod 容器并监视它们的运行状况。kubelet 还将向 API Server 提供有关其健康状况和状态的反馈信息。
总之,当您使用 kubectl apply 创建一个对象时,Kubernetes 服务器端将协调各种组件以确保该对象被正确地处理并在集群中运行。这是 Kubernetes 强大功能的体现之一。




