我想使用Prometheus映像将容器部署为本地部署的一部分。通常必须使用卷和绑定挂载运行容器才能将配置文件 ( prometheus.yml
) 放入容器中:
docker run \
-p 9090:9090 \
-v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
使用 Skaffold 时如何使用 Kubernetes 实现这一点?
我想使用Prometheus映像将容器部署为本地部署的一部分。通常必须使用卷和绑定挂载运行容器才能将配置文件 ( prometheus.yml
) 放入容器中:
docker run \
-p 9090:9090 \
-v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
使用 Skaffold 时如何使用 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