Kubernetes 如何使用Skaffold挂载docker配置文件?
我想使用映像作为本地部署的一部分来部署容器。通常,必须使用运行容器才能将配置文件(Kubernetes 如何使用Skaffold挂载docker配置文件?,kubernetes,skaffold,Kubernetes,Skaffold,我想使用映像作为本地部署的一部分来部署容器。通常,必须使用运行容器才能将配置文件(prometheus.yml)放入容器中: docker run \ -p 9090:9090 \ -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \ prom/prometheus 在使用Skafold时,如何使用Kubernetes实现这一点?您的Kubernetes配置如下所示, 您可以指定端口号和卷装载。安装的重要
prometheus.yml
)放入容器中:
docker run \
-p 9090:9090 \
-v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
在使用Skafold时,如何使用Kubernetes实现这一点?您的Kubernetes配置如下所示, 您可以指定端口号和卷装载。安装的重要部分是
volumeMounts
和volumes
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-prom
spec:
selector:
matchLabels:
app: my-prom
template:
metadata:
labels:
app: my-prom
spec:
containers:
- name: my-prom
image: prometheus:latest
resources:
limits:
memory: "128Mi"
cpu: "500m"
ports:
- containerPort: 9090
volumeMounts:
- name: prom-config
mountPath: /path/to/prometheus.yml
volumes:
- name: prom-config
hostPath:
path: /etc/prometheus/prometheus.yml
---
apiVersion: v1
kind: Service
metadata:
name: my-prom
spec:
selector:
app: my-prom
ports:
- port: 9090
targetPort: 9090
将Kubernetes配置文件保存在文件夹中,并将下面的配置添加到skaffold.yaml
,路径为K8s配置文件
deploy:
kubectl:
manifests:
- k8s/*.yaml
你的Kubernetes配置是这样的, 您可以指定端口号和卷装载。安装的重要部分是
volumeMounts
和volumes
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-prom
spec:
selector:
matchLabels:
app: my-prom
template:
metadata:
labels:
app: my-prom
spec:
containers:
- name: my-prom
image: prometheus:latest
resources:
limits:
memory: "128Mi"
cpu: "500m"
ports:
- containerPort: 9090
volumeMounts:
- name: prom-config
mountPath: /path/to/prometheus.yml
volumes:
- name: prom-config
hostPath:
path: /etc/prometheus/prometheus.yml
---
apiVersion: v1
kind: Service
metadata:
name: my-prom
spec:
selector:
app: my-prom
ports:
- port: 9090
targetPort: 9090
将Kubernetes配置文件保存在文件夹中,并将下面的配置添加到skaffold.yaml
,路径为K8s配置文件
deploy:
kubectl:
manifests:
- k8s/*.yaml
根据您的操作系统,您可能需要做一些额外的工作。例如,要在macOS上使用Minikube,您需要将macOS文件系统装入Minikube:Right。我记得在使用Docker for Windows时,文件系统路径也必须通过UI挂载。@Bala I get
您是否试图将目录挂载到文件上(反之亦然)?检查指定的主机路径是否存在并且是预期的类型。
因为感兴趣的文件是配置文件,所以我使用的是ConfigMap
。根据您的操作系统,您可能需要做一些额外的工作。例如,要在macOS上使用Minikube,您需要将macOS文件系统装入Minikube:Right。我记得在使用Docker for Windows时,文件系统路径也必须通过UI挂载。@Bala I get您是否试图将目录挂载到文件上(反之亦然)?检查指定的主机路径是否存在并且是预期的类型。
因为感兴趣的文件是配置文件,所以我使用的是ConfigMap
。