2016-07-22 2 views
2

Я просмотрел документацию и просмотрел источник, но я не могу понять, как это сделать. Есть ли способ отправить параметры строки запроса вместе с путём при внедрении зонда для жизнедеятельности Кубернетес?Поисковые запросы кубернетов с параметрами строки запроса

Строка Я посылаю, который выглядит примерно так:

/api/v1?q=... 

становится URL-закодированы и попадает на сервер, как:

/api/v1%3fq=... 

Как у меня нет такого маршрута на данном API , Я получаю 404, и Куб извлекает стручки после выделенного таймаута.

Есть ли способ определить параметры строки запроса для зондов жизнеобеспечения и/или обмануть кодировщик URI, чтобы разрешить параметры строки запроса?

ответ

2

EDIT: Это должно быть исправлено в Kubernetes 1.3. Спасибо Руди С за это.

Испытатели жизнедеятельности в Kubernetes v1.2 не поддерживают параметры передачи запроса.

This Issue в репозитории Deis Controller имеет хорошее объяснение. Суть в том, что LivenessProbe.HttpGet.Path рассматривается как истинный URL-путь (которому требуется «?» Для экранирования как «% 3f»).

Я открыл feature request Issue против Кубернеса, чтобы обсудить добавление параметров запроса.

В качестве обходного пути, вы можете использовать EXEC livenessProbe, который включает параметры запроса (если ваш контейнер включает в себя что-то вроде Wget или скручиванию):

livenessProbe: 
    exec: 
    command: 
    - wget 
    - /api/v1?q=... 
+0

Это была моя стратегия резервного копирования - мы используем очень урезанные стручки, которые не включают curl/wget, но, похоже, долг здесь звонит ... спасибо за ответ! – Josh

+1

Я думаю, что Руди прав. Теперь это должно работать прямо в> = 1.3.0. –

1

Какую версию вы используете? Экранирование ошибка, которая должна была быть установлена ​​в 1.3:

https://github.com/kubernetes/kubernetes/pull/25064

Не совершенным, но он не требует дополнительных полей API в YAML.

Смежные вопросы