VTC для Varnish включает - переопределить бэкэнд {} -
В настоящее время я пытаюсь добавить несколько unitests в мой растущий файл конфигурации лака.
мне удалось инициализировать его, и я думаю, что я получил основы varnishtest
а также vtc
формат.
мне нужно загрузить мой varnish.vcl
- внутри есть несколько бэкэндов. который имеет .host
для некоторых внутренних хостов они не могут быть разрешены с компьютера CI.
как я могу переопределить бэкэнд?
моя идея в основном похожа на:
(api01 определен в varnish.vcl
с внутренним днс.)
varnish v1 -vcl {
# …some vcl to define backends… #
include "${pwd}/varnish.vcl";
backend api01 { .host = "127.0.0.1"; }
}
varnish v1 -start
это терпит неудачу - это Backend host '"api_loadbalancer"' could not be resolved to an IP address
но он не продолжает определять бэкэнд выше (с 127.0.0.1) - выполнение бэкенда перед включением приводит к ошибке переопределения.
Как правильно издеваться над бэкэндом?
1 ответ
Мы разделили наш код VCL на несколько файлов, а затем "включили" их все в "main.vcl", который затем используем для запуска Varnish. Вот упрощенная примерная структура:
main.vcl
-- backends.vcl
-- directors.vcl
-- mainLogic.vcl
Это позволяет вам включать только некоторые vcl-файлы в ваш тестовый сценарий и позволяет указывать бэкэнды. Например, если вы хотите использовать настоящий бэкэнд:
varnish v1 -vcl {
backend api01 { .host = "127.0.0.1"; }
include "${pwd}/mainLogic.vcl";
}
или если вы хотите издеваться над бэкэндами (что мы делаем):
varnish v1 -vcl {
backend api01 {
.host = "${s1_addr}";
.port = "${s1_port}";
}
include "${pwd}/mainLogic.vcl";
}