(max_over_time(kube_pod_status_ready{condition="true"}[10m]) == 0))
That won't solve your problem, because if there were only one initial sample with value zero, it would trigger immediately, just as you do today. You would need to make this more complex, for example with count_over_time as well.
Be very careful with "and" and "or" operators. They do not work like booleans in normal languages. They are combining vectors, matching the label sets of each element in the vector.
I recommend you go for the simplest expression which meets your needs sufficiently well.