【发布时间】:2021-04-09 16:59:37
【问题描述】:
我已经使用 Helm v3 在 GKE 上部署了微服务;所有应用程序/helm 都很好地保存了几个月,但昨天出于某种原因重新创建了 pod
kubectl get pods -l app=myapp
NAME READY STATUS RESTARTS AGE
myapp-75cb966746-grjkj 1/1 Running 1 14h
myapp-75cb966746-gz7g7 1/1 Running 0 14h
myapp-75cb966746-nmzzx 1/1 Running 1 14h
helm3 history myapp 显示它是在 2 天前(40 小时以上)更新的,而不是昨天更新的(所以我排除了有人简单地运行 helm3 upgrade .. 的可能性;(好像有人运行了一个命令 kubectl rollout restart deployment/myapp),任何想法我怎么能检查 pod 重启的原因?我不确定如何验证;PS:kubectl logs deployment/myapp 的日志只能追溯到 3 小时前
仅供参考,我不是要求这个命令kubectl logs -p myapp-75cb966746-grjkj,没有问题,我想知道 14 小时前的 3 个 pod 发生了什么,只是被删除/替换 -以及如何检查。
集群上也没有事件
MacBook-Pro% kubectl get events
No resources found in myns namespace.
至于描述部署,首先部署是几个月前创建的
CreationTimestamp: Thu, 22 Oct 2020 09:19:39 +0200
最后一次更新是 >40 小时前
lastUpdate: 2021-04-07 07:10:09.715630534 +0200 CEST m=+1.867748121
如果有人想要,这里是完整的描述
MacBook-Pro% kubectl describe deployment myapp
Name: myapp
Namespace: myns
CreationTimestamp: Thu, 22 Oct 2020 09:19:39 +0200
Labels: app=myapp
Annotations: deployment.kubernetes.io/revision: 42
lastUpdate: 2021-04-07 07:10:09.715630534 +0200 CEST m=+1.867748121
meta.helm.sh/release-name: myapp
meta.helm.sh/release-namespace: myns
Selector: app=myapp,env=myns
Replicas: 3 desired | 3 updated | 3 total | 3 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 5
RollingUpdateStrategy: 25% max unavailable, 1 max surge
Pod Template:
Labels: app=myapp
Annotations: kubectl.kubernetes.io/restartedAt: 2020-10-23T11:21:11+02:00
Containers:
myapp:
Image: xxx
Port: 8080/TCP
Host Port: 0/TCP
Limits:
cpu: 1
memory: 1G
Requests:
cpu: 1
memory: 1G
Liveness: http-get http://:myappport/status delay=45s timeout=5s period=10s #success=1 #failure=3
Readiness: http-get http://:myappport/status delay=45s timeout=5s period=10s #success=1 #failure=3
Environment Variables from:
myapp-myns Secret Optional: false
Environment:
myenv: myval
Mounts:
/some/path from myvol (ro)
Volumes:
myvol:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: myvol
Optional: false
Conditions:
Type Status Reason
---- ------ ------
Progressing True NewReplicaSetAvailable
Available True MinimumReplicasAvailable
OldReplicaSets: <none>
NewReplicaSet: myapp-75cb966746 (3/3 replicas created)
Events: <none>
【问题讨论】:
-
运行 Pod 的节点/节点有什么问题吗?如果它们即使在很短的时间内都没有准备好,并且 Pod 来自 Deployment,那么它们再次被调度是正常的
-
干得好,伙计:D,就是这样,节点在 15 小时前重新启动,所以就在 pod 重新启动时
-
您可以将其发布为答案并检查它,再次感谢您的解决方案
-
我已经发布了评论作为答案,还添加了少量信息
标签: kubernetes logging google-cloud-platform google-kubernetes-engine