擅长:python、mysql、java
<p>下面是更新后的main方法(根据@VAS的回答,谢谢)来找到尚未被调度的正确的<code>PENDING</code>pod。在</p>
<pre><code>def main():
w = watch.Watch()
for event in w.stream(v1.list_namespaced_pod, 'default'): # default == namespace name
# All pending pods have 3 states (not scheduled, scheduled, initialized but not ready yet)
# We look for NOT SCHEDULED pod and conditions==None
if event['object'].status.phase == 'Pending' and event['object'].status.conditions == None and event['object'].spec.scheduler_name == CUSTOM_SCHEDULER_NAME:
print "Pending and Not Scheduled POD Found "+event['object'].metadata.name
try:
res = scheduler(event['object'].metadata.name,random.choice(nodes_available())) # nodes_available() returns all available nodes
print "success"
except Exception as a:
print ("Exception when calling CoreV1Api->create_namespaced_binding: %s\n" % a)
</code></pre>