Service 在使用pod之前,是否需要延迟kubernetes配置参数(服务或rc或其他)
我们正在对一个集群运行一个工作负载,该集群承载一个小型(3个容器)pod的2个实例。使用带有节点端口的服务访问pod。如果我们停止一个pod,rc启动一个新的pod,我们的恒定(低容量)工作负载会有很多失败(Rational Perf Tester,http测试击中主服务器上的服务…但是如果它击中任何一个仆从服务器上的服务…主服务器上也有一个仆从服务器上的服务,那么很可能是相同的)。不管怎样,如果我们只添加一个库贝特标度的吊舱,我们也会得到错误。如果我们取下这个吊舱(rc不会启动一个新的吊舱,因为由于规模的原因,我们有一个超出需要的吊舱)。。。没有错误。似乎服务开始向新的pod发送工作,因为kubelet已经完成了他的工作,即使容器还并没有启动。因此,每当吊舱启动时。。。它开始接收工作有点太早(在kubelet完成工作之后,但在所有容器准备好之前)。有没有办法保证在所有集装箱都装满之前,服务不会到达这个吊舱?除非是这样,否则在发送到这个吊舱之前,有没有办法说等待'n'秒?我可能错了,但行为似乎暗示了这种情况。这正是Service 在使用pod之前,是否需要延迟kubernetes配置参数(服务或rc或其他),service,kubernetes,scale,kubernetes-pod,Service,Kubernetes,Scale,Kubernetes Pod,我们正在对一个集群运行一个工作负载,该集群承载一个小型(3个容器)pod的2个实例。使用带有节点端口的服务访问pod。如果我们停止一个pod,rc启动一个新的pod,我们的恒定(低容量)工作负载会有很多失败(Rational Perf Tester,http测试击中主服务器上的服务…但是如果它击中任何一个仆从服务器上的服务…主服务器上也有一个仆从服务器上的服务,那么很可能是相同的)。不管怎样,如果我们只添加一个库贝特标度的吊舱,我们也会得到错误。如果我们取下这个吊舱(rc不会启动一个新的吊舱,因
readinessProbe
选项的含义:)
它有更多的文档记录,并且是pod规范的一部分
例如,您可以使用下面的pod规范来确保您的nginx pod在响应HTTP请求/index.html
之前不会被标记为就绪(因此不会向其发送流量):
apiVersion: v1
kind: ReplicationController
metadata:
name: my-nginx
spec:
replicas: 2
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
lifecycle:
httpGet:
path: /index.html
port: 80
initialDelaySeconds: 10
timeoutSeconds: 5
完美的那正是医生要的。我们放大,缩小,停止一个吊舱(rc重新启动)等等。。。从来没有失败过。对不起,我错过了。。。在寻找它的时候,我可能不在正确的环境中。谢谢。