Aktywne Wpisy

mirko_anonim +3
Treść przeznaczona dla osób powyżej 18 roku życia...

Mega_Smieszek +257
źródło: temp_file965355579804701654
PobierzSkopiuj link
Skopiuj link

źródło: temp_file965355579804701654
PobierzRegulamin
Reklama
Kontakt
O nas
FAQ
Osiągnięcia
Ranking
napisałem sobie jednolinijkowca do #kubernetes który zwraca w każdej nowej linijce dwa argumenty. jednym z nich jest namespace, a drugim nazwa joba.
kubectl get jobs -A -o=jsonpath='{range .items[?(@.status.failed>0)]}{.metadata.namespace}{" "}{.metadata.name}{"\n"}{end}')Ma on za zadanie wyszukiwać w obrębie całego klastra joby, ze statusem fail. Wydaje mi się, że działa okej (testuje od wczoraj). Generalnie zwraca on taką zawartość :
namespaceA jobjeden
namespaceB jobdwa
namespaceC jobtrzy
Teraz potrzebuje dorobić do tego jednolinijkowca usuwanie tych jobów, więc na początku każdej linijki musi być
kubectl delete job -ni wtedy te dwa argumenty więc miałoby to wyglądać tak :kubectl delete job -n namespaceA jobjedenkubectl delete job -n namespaceB jobdwa
kubectl delete job -n namespaceC jobtrzy
Pewnie w bashu/pythonie bym to jakoś skrobnął, ale zależy mi na tym, żeby wszystko było jedną komendą bo będzie to argument do cron'a. Jakim sposobem można to zrobić w obrębie jednej komendy?? Przypuszczam, że xarg'sem da się to jakoś obrobić, ale pewien nie jestem. Ma ktoś jakieś mądre pomysły/rozwiązanie pod takie coś?
#devops #programowanie #informatyka #komputery
kubectl get jobs -A -o=jsonpath='{range .items[?(@.status.failed>0)]}{.metadata.namespace}{" "}{.metadata.name}{"\n"}{end}') | xargs -I JOB kubectl delete job -n JOB
@krotko_i_zajebiscie: W sumie masz rację, ale pisałem dla OP-a by ogarnął o co chodzi. Zazwyczaj z przyzwyczajenia używam _
kubectl get jobs -A -o=jsonpath='{range .items[?(@.status.failed>0)]}{"-n "}{.metadata.namespace}{" "}{.metadata.name}{"\n"}{end}' | xargs -I JOB echo kubectl delete job JOB
kubectl delete job -n namespacea qwe
kubectl delete job -n
Komentarz usunięty przez autora