Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes-API服务器/etcd如何知道每个Pod的状态?_Kubernetes_Kubelet_Kube Apiserver - Fatal编程技术网

Kubernetes-API服务器/etcd如何知道每个Pod的状态?

Kubernetes-API服务器/etcd如何知道每个Pod的状态?,kubernetes,kubelet,kube-apiserver,Kubernetes,Kubelet,Kube Apiserver,我知道kubelet通常负责从API服务器获取Pod规范并运行Pod kubelet采用一组通过各种机制提供的podspec,并确保这些podspec中描述的容器运行正常 但是API服务器如何跟踪每个Pod的状态,例如运行/失败?kubelet是否定期向API服务器发送请求?或者API服务器是否定期轮询kubelet?或者其他机制?kubelet在节点上执行所有操作。创建pod的典型过程如下所示: 默认情况下,kubelet通过这个名为watch的东西连接到api服务器。这是一种发布/订阅。因此

我知道kubelet通常负责从API服务器获取Pod规范并运行Pod

kubelet采用一组通过各种机制提供的podspec,并确保这些podspec中描述的容器运行正常


但是API服务器如何跟踪每个Pod的状态,例如运行/失败?kubelet是否定期向API服务器发送请求?或者API服务器是否定期轮询kubelet?或者其他机制?

kubelet在节点上执行所有操作。创建pod的典型过程如下所示:

默认情况下,kubelet通过这个名为watch的东西连接到api服务器。这是一种发布/订阅。因此kubelet将订阅创建pod事件,api服务器将在需要创建pod时通知它。 kubelet将获得容器运行时docker或rkt以及其他pod规范,并创建pod。 注意:这里涉及到更多的组件,如您在文章中提到的调度程序和控制器管理器,以及各种机制,但我将跳过它们

kubelet将进行必要的活跃度和准备度探测,并向api服务器报告状态。说成功! api服务器将通过添加pod的元数据来更新etcd,以跟踪集群中发生的事情。 在这一点上,库贝莱将负责这个吊舱。如果吊舱发生故障,kubelet将报告api服务器,api服务器将命令杀死吊舱,将启动一个新吊舱,并再次更新etcd服务器


需要指出的一点是,k8s中的所有组件都直接与api服务器通信。所以,控制器管理器或调度程序不会告诉kubelet该做什么。相反,他们把它告诉api服务器,api服务器告诉kubelet。

kubelet在节点上做所有事情。创建pod的典型过程如下所示:

默认情况下,kubelet通过这个名为watch的东西连接到api服务器。这是一种发布/订阅。因此kubelet将订阅创建pod事件,api服务器将在需要创建pod时通知它。 kubelet将获得容器运行时docker或rkt以及其他pod规范,并创建pod。 注意:这里涉及到更多的组件,如您在文章中提到的调度程序和控制器管理器,以及各种机制,但我将跳过它们

kubelet将进行必要的活跃度和准备度探测,并向api服务器报告状态。说成功! api服务器将通过添加pod的元数据来更新etcd,以跟踪集群中发生的事情。 在这一点上,库贝莱将负责这个吊舱。如果吊舱发生故障,kubelet将报告api服务器,api服务器将命令杀死吊舱,将启动一个新吊舱,并再次更新etcd服务器


需要指出的一点是,k8s中的所有组件都直接与api服务器通信。所以,控制器管理器或调度程序不会告诉kubelet该做什么。相反,他们会对api服务器说,对kubelet说api服务器。

谢谢你的详细回答,它肯定会澄清问题,特别是第2点。但是,这是否在任何地方都有记录?还是从源代码中推断出来的?如果是这样,请提供一个链接给我!那里有这么多文件,我不知道去哪里找不。这没有记录在案。我到处都是。在youtube上观看视频。对不起,谢谢你的详细回答,它肯定澄清了问题,特别是第2点。但是,这是否在任何地方都有记录?还是从源代码中推断出来的?如果是这样,请提供一个链接给我!那里有这么多文件,我不知道去哪里找不。这没有记录在案。我到处都是。在youtube上观看视频。很抱歉