我已经用二进制执行检查在我的吊舱上配置了一个readinessProbe,它连接到我正在运行的服务器(在同一个容器中),并检索一些健康信息(比如为通信做好准备)。
配置为readinessProbe,二进制文件无法与我的服务器联系并获取所需的信息。它连接在TCP套接字上。但是,当我将它配置为一个livenessProbe时,它是正确工作的。
配置。为了使其正常工作,我只将类型从readinessProbe更改为livenessProbe。
"readinessProbe": {
"exec": {
"command": [
"/opt/bin/ready_probe",
"--check_ready_traffic",
"--service=myServer-service"
]
},
"initialDelaySeconds": 60,
"timeoutSeconds": 5
},服务是为服务器注册它的主机和端口。这样就可以了。
使用版本: kubernetes v1.1.0-原产地-1107-g4c8e6f4
谢谢。
发布于 2019-02-01 15:08:40
根据所提供的资料,我无法确定在你的案件中,调查是通过还是失败。如果你不知道要监控什么,库伯内特斯可能是不透明的,所以很容易想象有人误解了你的实验结果。
在这两种类型的探测的执行方面没有区别--只是结果不同:
根据容器的不同,活性失效可能是相对无害的--你甚至可能没有注意到它。
但是,当您使用就绪探测时,与容器的通信将被禁用,直到探针通过为止。这意味着,启用initialDelaySeconds: 60就绪性的简单操作将阻止服务在第一分钟内与您的吊舱连接--而不管相关容器的状态如何。如果没有配置依赖的荚/服务来处理它,则此延迟可能会产生级联后果。
对于活性探测,“非常重要”可以配置initialDelaySeconds (正如问题中所做的那样)。对于准备状态探测器,这可能不是那么重要--为了允许更快的启动,您可能更希望它是零(缺省值)。
下面是代码:https://github.com/kubernetes/kubernetes/tree/master/pkg/kubelet/prober
https://stackoverflow.com/questions/35695058
复制相似问题