gpt4 book ai didi

kubernetes - 如何在CD输出中包含Pod启动日志/信息?

转载 作者:行者123 更新时间:2023-12-02 12:03:20 27 4
gpt4 key购买 nike

我正在设置CI / CD管道。部署步骤运行以下命令:

kubectl apply -f manifest.yml --namespace <namespace>
kubectl rollout status Deployment/<service> --namespace <namespace>

这给出以下输出:
Waiting for deployment "<service>" rollout to finish: 1 out of 2 new replicas have been updated...
error: deployment "<service>" exceeded its progress deadline
##[error]error: deployment "<service>" exceeded its progress deadline

通过运行
kubectl get pods

我可以看到它已经启动了一个卡在CrashLoopBackOff中的Pod。我可以通过运行来查看为什么pod无法启动:
kubectl logs <pod-name>

有没有办法在部署日志中包含此输出?我显然可以检查部署是否失败,然后解析以上命令并显示日志输出,但是我希望有某种方法可以使此信息脱离kubectl的部署状态(最好是有一种方法可以使kubectl的部署状态随时通知部署中的Pod的状态已更改,并显示具有错误状态更改的所有Pod的日志。)

最佳答案

如果不是这种情况,请labelize您pod:

apiVersion: v1
kind: Pod
metadata:
name: label-demo
labels:
environment: production
app: nginx

它使您可以查看没有Pod名称的日志:
kubectl logs -l app=nginx -n your-namespace

对于 CrashLoopBackOff错误,事件通常提供比日志更多的信息:
kubectl get events --sort-by lastTimestamp -n your-namespace

在管道的此端添加此代码,它将为您提供有关 pods 调度的有趣信息,等等。

关于kubernetes - 如何在CD输出中包含Pod启动日志/信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57777350/

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