Я пытаюсь отфильтровать задания, которые завершены, используя golang клиент kubernetes- go lib по их статусу.
Я проверил другие ответы объясняя, как получить задания, использующие kubectl, например:
kubectl get job -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}'
Но я не знаю, как "превратить" этот вывод jsonpath в параметры фильтра или списка
Если бы я искал модули по фаза их состояния и метка, я бы сделал что-то вроде этого:
listOptions := metav1.ListOptions{
LabelSelector: "app.kubernetes.io/name=my-custom-job",
FieldSelector: "status.phase=Running",
}
result, err := clientset.CoreV1().Pods("default").List(listOptions)
Но если я собираюсь реализовать jsonpath {.items[?(@.status.succeeded==1)].metadata.name}
Это будет повторять все задания и проверять если преуспевающий ключ по статусу равен единице. Для всех заданий.
Есть ли способ найти эти задания более «дружественными по отношению к памяти» или способ использования таких jsonpaths в ListOptions?