gpt4 book ai didi

kubernetes - Kubernetes端点为空,我可以重新启动Pod吗?

转载 作者:行者123 更新时间:2023-12-02 12:07:44 24 4
gpt4 key购买 nike

我遇到的情况是零个端点可用于一项服务。为了测试这一点,我特意设计了一个Yaml描述符,该描述符使用一个简单的节点服务器来设置和获取Pod的就绪/ Activity 状态:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nodejs-deployment
labels:
app: nodejs
spec:
replicas: 3
selector:
matchLabels:
app: nodejs
template:
metadata:
labels:
app: nodejs
spec:
containers:
- name: nodejs
image: nodejs_server
ports:
- containerPort: 8080
livenessProbe:
httpGet:
path: /is_alive
port: 8080
initialDelaySeconds: 5
timeoutSeconds: 3
periodSeconds: 10
readinessProbe:
httpGet:
path: /is_ready
port: 8080
initialDelaySeconds: 5
timeoutSeconds: 3
periodSeconds: 10
---
apiVersion: v1
kind: Service
metadata:
name: nodejs-service
labels:
app: nodejs
spec:
ports:
- port: 80
protocol: TCP
targetPort: 8080
selector:
app: nodejs
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: nodejs-ingress
spec:
backend:
serviceName: nodejs-service
servicePort: 80

节点服务器具有设置和检索 liveness 和就绪状态的方法。

当应用启动时,我可以看到已经创建了3个副本,它们的状态已经准备就绪。好的,然后我手动触发它们的准备状态(从入口外部)设置为false。从端点正确删除了一个Pod,因此没有流量路由到该Pod [这是正常现象,这是正常的]。当我将所有Pod的所有ready-statuss设置为false时,端点列表为空[仍然是预期的行为]。

那时我无法从入口外部设置ready = true,因为流量没有路由到任何Pod。如果在n计时器或n秒后未准备就绪时,这里是否有一种方法可以触发盒重启?还是端点列表为空?

最佳答案

好吧,这完全是正常的和预期的行为。从侧面讲,您可以使用kubectl port-forward将流量从本地主机转发到特定的pod。这样,您可以直接访问Pod,而无需进入等,并将其就绪状态恢复为ok。如果要在主机准备时间不长时重新启动,请对 liveness 探针使用相同的端点,但是在尝试更多之后触发它。

关于kubernetes - Kubernetes端点为空,我可以重新启动Pod吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48747967/

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