Uzyskaj nazwy hostów z określoną rolą


Jak mogę uzyskać listę węzłów, które mają określoną rolę?
Możesz to uzyskać w ten sposób:
for node in `knife node list`; do
[[ -n "`knife node show $node | grep $ROLE_NAME`" ]] && echo $node
done

Czy można to zrobić nożem bez nad głową?
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Jest wyjście:
knife search node "roles:$ROLE_NAME"
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Nagłówek „znajdź nóż” jest drukowany na standardowe wyjście błędów, więc możesz użyć
knife search "role:$ROLE_NAME" -i 2>/dev/null

aby po prostu zwrócić listę węzłów. Przydatne, jeśli chcesz zawrzeć to w oświadczeniu for:
for n in $(knife search "role:$ROLE_NAME" -i 2>/dev/null); do
// do something here
done

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się