2 回答

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
在每個(gè)對(duì)象的元數(shù)據(jù)中,名為 的字段中都有 UUID?uid
。您可以進(jìn)行比較并等待,直到 Pod 就緒并具有不同的 UUID。

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
import corev1 "k8s.io/api/core/v1"
// RestartPod deletes a pod marked by a given label
// it then waits for a given timeout for the pod to resume running state
func RestartPod(c *client.ClientSet, label string, timeout time.Duration) error {
pod, err := GetPodByLabel(label)
if err != nil {
return err
}
podUid := pod.UID
err = c.Pods(pod.Namespace).Delete(context.Background(), pod.Name, metav1.DeleteOptions{})
if err != nil {
return err
}
return wait.PollImmediate(5*time.Second, timeout, func() (done bool, err error) {
pod, err := GetPodByLabel(label)
if pod.UID != podUid && err != nil {
return false, nil
}
return pod.Status.Phase == corev1.PodRunning && pod.Status.ContainerStatuses[0].Ready, nil
})
}
- 2 回答
- 0 關(guān)注
- 262 瀏覽
添加回答
舉報(bào)