У меня есть контейнерный микросервис, созданный с Java. Это приложение использует каталог по умолчанию / config-volume при поиске файлов свойств. Ранее я вручную развертывал с помощью Dockerfiles, и теперь я хочу автоматизировать этот процесс с помощью Kubernetes. Образ контейнера немедленно запускает микросервис, поэтому мне нужно немедленно добавить свойства в папку config-volume. Я выполнил это в Docker с помощью этого простого файла Dockerfile
FROM ########.amazon.ecr.url.us-north-1.amazonaws.com/company/image-name:1.0.0
RUN mkdir /config-volume
COPY path/to/my.properties /config-volume
Я пытаюсь скопировать этот тип поведения в kubernetes deploy.yaml, но я не нашел способа сделать это.
Я попытался выполнить команду kubectl cp
сразу после применения развертывания, и иногда это работает, но это может привести к состоянию гонки, которое приводит к сбою микросервиса при запуске.
(я отредактировал ненужное parts)
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-service
spec:
replicas: 1
template:
spec:
containers:
- env:
image: ########.amazon.ecr.url.us-north-1.amazonaws.com/company/image-name:1.0.0
name: my-service
ports:
- containerPort: 8080
volumeMounts:
- mountPath: /config-volume
name: config-volume
volumes:
- name: config-volume
emptyDir: {}
status: {}
Есть ли способ скопировать файлы в том в файле deploy.yaml?