gpt4 book ai didi

nginx - 准备好探测主机使用DNS而不是IP地址

转载 作者:行者123 更新时间:2023-12-02 11:55:31 25 4
gpt4 key购买 nike

我目前将Nginx Pod的就绪性配置为Probe ,以监控Redis端口6379,并在redis-service(ClusterIP)后面配置了我的redis-pod。

因此,我的想法是通过使用DNS 而不是IP地址的redis服务来监视Redis端口。

当我使用readinessProbe.host: redis-service.default.svc.cluster.local时,Nginx-pod没有运行。当我描述Nginx-pod $ kubectl describe pods nginx时,我在“事件”部分发现了以下错误:
Readiness probe failed: dial tcp: lookup redis-service.default.svc.cluster.local: no such host
仅当我使用ClusterIP而不是DNS时才有效。

请帮我弄清楚如何使用DNS代替ClusterIP。

我的Pod文件:

apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
run: nginx
name: nginx
spec:
containers:
- image: nginx
name: nginx
livenessProbe:
httpGet:
path: /
port: 80
readinessProbe:
tcpSocket:
host: redis-service.default.svc.cluster.local
port: 6379
resources: {}
dnsPolicy: ClusterFirst
restartPolicy: Always

谢谢。

最佳答案

我想出了怎么做。

而不是使用tcpSocket,而是使用exec。
在容器内执行tcpCheck脚本以检查service:port可用性。

使用您的init容器与主容器共享脚本。

谢谢。

关于nginx - 准备好探测主机使用DNS而不是IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61477181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com