Удалите очереди rabbitmq, которые начинаются с определенного имени

#kubernetes #rabbitmq #rabbitmqctl

Вопрос:

Я пытаюсь удалить очереди rabbitmq на определенном хосте с помощью команды kubectl. Если я дам команду ниже, я смогу удалить очередь.

 kubectl.exe exec -n kayaks svc/rabbitmq-ha -- rabbitmqctl --vhost=AM-Dev delete_queue 'TestDeletion'  

Но я хочу удалить набор очередей, которые все начинаются с какого-то определенного имени, например » woms -«. Как сделать то же самое. Я попытался ниже, но это приводит к синтаксической ошибке, и я не могу определить проблему.

 kubectl exec -n kayaks svc/rabbitmq-ha -- rabbitmqctl --vhost=AM-Dev eval 'IfUnused = false, IfEmpty = true, MatchRegex = lt;lt;"^woms-"gt;gt;, [rabbit_amqqueue:delete(Q, IfUnused, IfEmpty) || Q lt;-  rabbit_amqqueue:list(), re:run(element(4, element(2, Q)), MatchRegex)  =/= nomatch ].'   
 ****kubectl : Error (argument validation): "syntax error before: '^'" At line:1 char:1   kubectl exec -n kayaks svc/rabbitmq-ha -- rabbitmqctl --vhost=AM-Dev ...****  

Может ли кто-нибудь подсказать мне, в чем заключается ошибка, которую я совершаю.

Комментарии:

1. Я выполняю команду kubectl на сервисе. Обратите внимание, что я могу успешно удалить одну очередь, указав имя очереди. Моя проблема в том, что мне нужно удалить набор очередей с определенным префиксом.

2. Как насчет открытия сеанса bash/sh в контейнер и выполнения вашей команды оттуда? kubectl exec -it -n kayaks svc/rabbitmq-ha /bin/sh

3. Я думаю, вы не поняли моего вопроса. Моя проблема в том, что я не выполняю команду. Потому что это отлично работает для одной очереди. Проблема в том, что я хочу выполнить много очередей в одной команде.

4. Да, я говорю, что вы можете открыть сеанс оболочки в контейнере, а затем сделать: rabbitmqctl --vhost=AM-Dev eval 'IfUnused = false, IfEmpty = true, MatchRegex = lt;lt;"^woms-"gt;gt;, [rabbit_amqqueue:delete(Q, IfUnused, IfEmpty) || Q lt;- rabbit_amqqueue:list(), re:run(element(4, element(2, Q)), MatchRegex) =/= nomatch ].'

5. Вы хотите сказать, что ошибка, с которой я сталкиваюсь, не из-за синтаксической ошибки, а из-за чего-то другого? Извините, но я не очень хорошо знаком с эрлангом.