我已经设置了Kubernetes DaemonSet Manifest来处理我的项目中的度量,并且在点击这个DaemonSet时遇到了一个小问题,所以我最终的问题是,(如果我在项目的每一个荚中都有一个守护进程,我如何才能选择特定的一个或者仅仅是一个来确保一切都正常呢?)(很可能使用curl,但如果可能的话,也会考虑其他一些方法:)
我有DaemonSet的例子
apiVersion: v1
kind: DaemonSet
metadata:
name: metrics-api-service
spec:
selector:
matchLabels:
app: api-metrics-app
template:
metadata:
labels:
app: api-metrics-app
spec:
terminationGracePeriodSeconds: 60
containers:
- name: api-metrics-service
image: image
livenessProbe:
exec:
< what I need to put here In order to ping the DaemonSet ? >
initialDelaySeconds: 60
resources:
limits:
cpu: "0.5"
memory: "500Mi"
requests:
cpu: "0.4"
memory: "200Mi"谢谢
发布于 2022-08-11 16:41:37
健康检查应该足以确保它是否正常工作,但是如果您仍然希望从外部确认,那么请确保您的守护进程集公开了端口,并且安全组允许内部通信,您可以在运行守护进程集的同一节点上进行ping/卷曲,每个守护进程都会将节点IP作为环境变量。
在后台环境变量中传递HOST_IP
env:
- name: HOST_IP
valueFrom:
fieldRef:
fieldPath: status.hostIP然后更新相应的活性探测。
livenessProbe:
exec:
command:
- sh
- -c
- curl -s $HOST_IP:PORT/healthcheck我将推荐HTTP检查bash
healthcheck:
initialDelaySeconds: 100
periodSeconds: 10
timeoutSeconds: 5
httpGet:
path: /metrics
port: 3000 如果/metrics似乎有效,只需返回200状态代码即可。
发布于 2022-08-11 16:41:46
这样做的一种方法是查找您的Pods地址,然后查询每个地址。
for i in $(kubectl get pods -n logging get pods \
-l app=api-metrics-app \
-o jsonpath='{.items[*].status.podIP}')
do
curl http://$i:4242/metrics
donehttps://stackoverflow.com/questions/73323988
复制相似问题