【发布时间】:2020-04-11 16:18:12
【问题描述】:
我有用 Java 构建的容器化微服务。此应用程序在搜索属性文件时使用默认的 /config-volume 目录。
以前我通过Dockerfile 手动部署,现在我希望使用 Kubernetes 自动化这个过程。
容器映像会立即启动微服务,因此我需要立即将属性添加到 config-volume 文件夹。我用这个简单的Dockerfile 在 Docker 中完成了这个:
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 deployment.yaml 中复制这种类型的行为,但我没有找到办法。
我尝试在应用部署后立即执行kubectl cp 命令,它有时可以工作,但它可能会导致竞争条件导致微服务在启动时失败。
(我已经删除了不必要的部分)
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: {}
有没有办法将文件复制到deployment.yaml 内的卷中?
【问题讨论】:
-
我不知道为什么这被否决了。如果问题有问题,请评论您的想法。
标签: docker kubernetes