<p>As per the GKE documentation, preemptible VMs only last for up to 24 hours after creation. However, in our GKE cluster where we have node-pool with preemtible instances we see that age of the nodes in kubectl get nodes command is more than 24HRs, 6days,7Days etc.
Does it mean that those nodes have not got deleted, is there any other condition which decides whether to delete a node or not.
<a href="https://cloud.google.com/kubernetes-engine/docs/how-to/preemptible-vms" rel="nofollow noreferrer">GKE Documentation</a></p>
<p><a href="https://i.stack.imgur.com/MvlwU.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/MvlwU.png" alt="Node-pool with pre-emptible provisioning on" /></a></p>
<p>kubectl get nodes output
<a href="https://i.stack.imgur.com/ociT6.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ociT6.png" alt="get nodes output with Age highlighted" /></a></p>
<p>are we missing something here?</p>

saurabh umathe
<p>I bet if you look at the underlying VMs, their creation time is going to be within the last 24 hours.</p>
<p>Even though the instances are newly created, the GKE nodes may be older, as node names generally stay the same if and when they are replaced after preemption.</p>
<p>GCE instance uptime is based on how long the instance has been active.  If an instance was deleted and created or started up from a stopped state, the start time determines the instance uptime.</p>
<p>GKE node time is based on how long the kubelet has existed.  If the kubelet restarts, then the control plane assumes that the node restarted.</p>
<p>When the node preempts, the kubelet is terminated and restarted in the new instance.  Since both instances have the same name, the GKE control plane will believe that the kubelet has simply restarted, and assumes that the node has existed for the entire time, and just that the kubelet and pods have restarted.</p>
