如何在kubernetes部署中的args中传递配置文件



我正在尝试在k8s集群中部署nat。我需要覆盖默认的服务器配置。尝试使用--from文件创建一个配置映射,并将其附加到部署中,但它给了我以下错误

nats-server: read /etc/nats-server-conf/server.conf: is a directory

ConfigMap

k describe configmaps nats-server-conf
Name:         nats-server-conf
Namespace:    default
Labels:       <none>
Annotations:  <none>
Data
====
server.conf:
----
accounts: {
$SYS: {
users: [{user: sys, password: pass}]
}
}
BinaryData
====
Events:  <none>

以下是我的部署文件

apiVersion: apps/v1
kind: Deployment
metadata:
name: nats-depl
spec:
replicas: 1
selector:
matchLabels:
app: nats
template:
metadata:
labels:
app: nats
spec:
containers:
- name: nats
image: nats
volumeMounts:
- mountPath: /etc/nats-server-conf/server.conf
name: nats-server-conf
args:
[
'-p',
'4222',
'-m',
'8222',
'-js',
'-c',
'/etc/nats-server-conf/server.conf'
]
volumes:
- configMap:
name: nats-server-conf
name: nats-server-conf

谢谢。

- mountPath: /etc/nats-server-conf/server.conf

上述设置将使Pod装载server.conf作为目录,因此请尝试以下设置:

- mountPath: /etc/nats-server-conf

最新更新