Нельзя использовать синтаксис {{ ... }}
с kubectl apply
. Этот синтаксис обычно соответствует диспетчеру пакетов Helm . Не зная применения синтаксиса шаблона, { ... }
выглядит как синтаксис карты YAML, и синтаксический анализатор запутывается.
annotations:
обычно относятся к metadata:
, рядом с labels:
. Аннотации в документации по Kubernetes могут быть полезны для чтения.
Я просто хочу иметь возможность обновлять свои модули без перезапуска.
Кубернетес так не работает, за некоторыми очень ограниченными исключениями.
Если вы говорите только о данных конфигурации, а не о коде, вы можете Добавить данные ConfigMap в том ; затем, если ConfigMap изменится, изменятся и файлы, которые видит модуль. Синтаксис, над которым вы спотыкаетесь, - это обходной путь, заставляющий модуль перезапускаться при изменении данных ConfigMap: он противоположен тому, что вы пытаетесь использовать, и вам следует удалить эти две строки.
Для обычных изменений кода стандартным путем является создание и отправка нового образа Docker, а затем обновление объекта Deployment новым тегом образа. (Это должна быть строка тега изображения, отличная от той, что была у вас раньше, просто недостаточно нажать новое изображение с тем же тегом.) Затем Kubernetes автоматически запустит новые модули с новым изображением, и после запуска они отключат модули. со старым изображением. При некоторых обстоятельствах Kubernetes может даже удалять и воссоздавать капсулы самостоятельно.