擅长:python、mysql、java
<p>创建pod时,调度程序将获得三个“挂起”事件:</p>
<ol>
<li>Pod尚未安排(<code>'node_name': None, 'status': {'conditions': None,...}</code>)</li>
<li>Pod已安排(<code>'node_name': 'some_node_name','status': {'conditions': [...,'status': True, 'type':'PodScheduled'],...}</code>)</li>
<li>Pod已初始化但尚未就绪(<code>'node_name': 'minikube','status': {'conditions': [...,'status': True, 'type':'Initialized'], ... ,'status': False, 'type':'Ready']}</code>)</li>
</ol>
<p>因此,您的自定义调度程序应该在第一个事件上将pod绑定到节点,检查pod的状态并确保它在第二个事件出现时被调度,然后检查pod是否在第三个事件出现时初始化。在</p>
<p>如果出了问题,调度程序可能需要考虑以前的错误,并可能尝试将pod调度到不同的节点。在</p>
<p>在您的情况下,您的调度程序威胁所有三个事件,如第一个事件,并尝试一次又一次地调度pod。这就是为什么你看到“<code>pod xxx is already assigned to node yyy</code>”错误。在</p>