我很难在主应用程序目录(/publish)中创建两个JSON文件,同时保留该目录中的所有其他文件。我尝试了以下几点:
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
labels:
app: myapp
spec:
replicas: 1
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: url_to_image
ports:
- containerPort: 1234
volumeMounts:
- name: config-files
mountPath: "/publish"
volumes:
- name: config-files
configMap:
name: myapp
---
apiVersion: v1
kind: Service
metadata:
name: myapp
spec:
ports:
- port: 80
targetPort: 1234
protocol: TCP
type: NodePort
selector:
app: myapp
---
kind: ConfigMap
apiVersion: v1
metadata:
name: myapp
labels:
app: myapp
data:
appsettings.json: |
{ some JSON }
sharedsettings.json: |
{ more JSON }正确创建了两个配置文件(appsettings.json和sharedsettings.json),但不幸的是,/publish中的所有其他文件都在此过程中被删除。
什么是最好的方法?
发布于 2019-05-04 10:05:41
好的,找到了一个解决方案,但并不是很优雅。有什么更好的解决办法吗?
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
labels:
app: myapp
spec:
replicas: 1
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: url_to_image
ports:
- containerPort: 1234
volumeMounts:
- name: appsettings
mountPath: "/publish/appsettings.json"
subPath: whatever
volumeMounts:
- name: sharedsettings
mountPath: "/publish/sharedsettings.json"
subPath: whatever
volumes:
- name: appsettings
configMap:
name: myapp
items:
- key: appsettings.json
path: whatever
- name: sharedsettings
configMap:
name: myapp
items:
- key: sharedsettings.json
path: whatever
---
apiVersion: v1
kind: Service
metadata:
name: myapp
spec:
ports:
- port: 80
targetPort: 1234
protocol: TCP
type: NodePort
selector:
app: myapp
---
kind: ConfigMap
apiVersion: v1
metadata:
name: myapp
labels:
app: myapp
data:
appsettings.json: |
{ some JSON }
sharedsettings.json: |
{ more JSON }https://serverfault.com/questions/965848
复制相似问题