Постановка задачи:
Я успешно создал образ Docker из docker.io/joethecoder2/spring-boot-web
. Он был протестирован с аргументами командной строки, и они корректно работают локально с Docker.
Я пытаюсь передать аргументы Java, которые передаются в Docker, в Kubernetes POD, который определен с одним изображением docker.io/joethecoder2/spring-boot-web
Цель передачи аргументов - сообщить POD, какой IP-адрес и номер порта предназначены для службы базы данных.
Определение проблемы:
Я определил здесь Kubernetes POD, однако считаю, что аргументы передаются неправильно из singlePod.yaml, когда POD запускает службу.
Ожидаемый результат:
Я ожидаю, что Kubernetes POD будет совместим с образом Docker, определенным здесь.
Я ожидаю, что Kubernetes POD принимает аргументы так же, как Docker здесь:
docker run -it -p 8080: 8080 joethecoder2 / spring-boot-web -Dcassandra_ip = 127.0.0.1 -Dcassandra_port = 9042
curl -X POST --header 'Content-Type: application/json' --header 'Accept: text/plain' 'http://localhost:8080/restaurant/arguments'
Возвращен правильный результат-> 127.0.0.1:9042
Неправильный результат:
Я знаю, что фактические аргументы не передаются в POD, потому что, когда я запускаю следующую службу, я не получаю никаких возвращенных аргументов.
curl -X POST --header 'Content-Type: application/json' --header 'Accept: text/plain' 'http://192.168.64.3:32308/restaurant/arguments'
Возвращается неверный результат->:
Ожидаемый результат -> 127.0.0.1:9042
, как определено в файле singlePod.yaml
Почему отсутствуют аргументы, хотя файлу определения POD известно, что аргументы были определены статически?