如何在 Knative 中 Debug 服务

简介: 在 Knative 中部署的服务异常了怎么办?不要担心,本文教你在 Knative 中一步步排查问题。

在Knative中部署的服务异常了怎么办?不要担心,本文教你在 Knative 中一步步排查问题。

查看命令行输出

检查执行部署的命令输出是否成功,如果执行命令部署中断,可以在输出信息中查看部署失败的原因。一般这样的错误都是由于配置文件配置有问题导致的。例如下面的错误信息是由于配置的流量比例不等于100导致的。

Error from server (InternalError): error when applying patch:
{"metadata":{"annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"serving.knative.dev/v1alpha1\",\"kind\":\"Route\",\"metadata\":{\"annotations\":{},\"name\":\"route-example\",\"namespace\":\"default\"},\"spec\":{\"traffic\":[{\"configurationName\":\"configuration-example\",\"percent\":50}]}}\n"}},"spec":{"traffic":[{"configurationName":"configuration-example","percent":50}]}}
to:
&{0xc421d98240 0xc421e77490 default route-example STDIN 0xc421db0488 264682 false}
for: "STDIN": Internal error occurred: admission webhook "webhook.knative.dev" denied the request: mutation failed: The route must have traffic percent sum equal to 100.
ERROR: Non-zero return code '1' from command: Process exited with status 1

查看应用日志

一般情况下服务异常,可以直接查看当前应用 Pod日志信息。推荐使用日志服务对日志进行收集。这样可以直接在日志服务中查看当前应用异常信息。
查看当前应用 Pod 中 user-container 容器的日志信息:

kubectl logs <pod-name>  user-container

检查路由状态

可以通过下面的命令查看 Routestatus 信息:

kubectl get route <route-name> --output yaml

通过status进行判断,异常的情况下可以看到reason 信息

检查 Ingress 路由

查看 Istio 网关 IP 地址信息

kubectl get svc -n istio-system istio-ingressgateway

检查是否有 EXTERNAL-IP ip, 如果没有的话,一般情况是由于配额不足导致的。

检查 Revision 状态

查看 Revision 信息,执行如下命令:

kubectl get revision <revision-name> --output yaml

如果服务正常,应该是如下信息:

conditions:
  - lastTransitionTime: 2019-08-20T07:52:59Z
    status: "True"
    type: Ready

检查 Pod 状态

执行命令:

$ kubectl get pods
NAME                                                      READY     STATUS             RESTARTS   AGE
configuration-example-00001-deployment-659747ff99-9bvr4   2/2       Running            0          3h
configuration-example-00002-deployment-5f475b7849-gxcht   1/2       CrashLoopBackOff   2          36s

继续查看 Pod 的状态:

kubectl get pod <pod-name> --output yaml

如果发现了containerStatusesuser-container 异常,可以通过上述【查看应用日志】进行分析。

检查 Controller 组件

查看当前 Controller 组件是否正常

$kubectl -n knative-serving get pod
NAME                                READY   STATUS    RESTARTS   AGE
activator-75b69857b7-6rnln          2/2     Running   2          21d
autoscaler-674d79f79c-2zlmh         2/2     Running   1          21d
autoscaler-hpa-679868bd9-zlk6t      1/1     Running   0          21d
controller-5855f47556-qrfgd         1/1     Running   0          21d
networking-istio-6c8d6774f8-944b7   1/1     Running   0          21d
webhook-65f55b444f-stq28            1/1     Running   0          21d

查看 controller 中是否有异常信息输出

kubectl -n knative-serving logs --tail=1000 controller-5855f47556-qrfgd

小结

在部署 Knative 服务中可能会遇到各种问题,希望通过上面介绍的排查手段给你提供帮助。

欢迎加入 Knative 交流群

image

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
11天前
|
人工智能 Linux API
三句话完成公众号发文|OpenClaw 阿里云/本地部署与百炼大模型配置实战指南
OpenClaw(曾用名Clawdbot、Moltbot)是一款面向个人与轻量团队的AI自动化代理工具,可通过自然语言指令完成内容创作、图文生成、格式转换、平台发布等流程化工作。对于自媒体运营、技术博主、职场用户而言,它能将原本数小时的内容产出与发布流程压缩到十几分钟,大幅降低重复操作成本。
208 4
|
6月前
|
人工智能 运维 Kubernetes
技术人的知识输出利器:一套高质量知乎回答生成指令模板
本文提供一套系统化知乎高赞回答生成模板,结合AI工具(如DeepSeek、通义千问),助力技术人高效输出高质量内容。涵盖结构框架、质量检查、实战示例与合规建议,提升表达清晰度与内容价值,适用于经验分享、技术科普等多种场景,实现知识输出的标准化与高效化。
549 4
|
3月前
|
数据采集 Web App开发 安全
uTLS高危指纹漏洞曝光:代理流量易被精准识别,开发者与用户紧急规避指南
uTLS曝高危漏洞,X25519密钥重用及加密套件矛盾致指纹暴露,流量易被识别。影响代理、爬虫等应用,建议禁用相关套件或升级修复版本,加强混淆策略以应对日益精准的TLS指纹检测。
241 6
|
4月前
|
机器学习/深度学习 算法 关系型数据库
强化学习
强化学习(RL)是一种通过智能体与环境交互来学习最优策略的机器学习方法,核心是最大化长期累积奖励。其关键概念包括状态、动作、奖励、策略与价值函数,依赖试错和延迟奖励机制。常用方法有基于值的Q-learning、基于策略的Policy Gradient,以及结合两者的Actor-Critic框架。PPO、DPO等算法在实际中广泛应用,尤其在RLHF中优化语言模型。该领域持续发展,追求高效、稳定与实用的决策智能。
426 0
|
11月前
|
人工智能 安全 网络安全
Burp Suite Professional 2025.5 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.5 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件
471 3
|
9月前
|
机器学习/深度学习 传感器 文字识别
传统OCR与深度学习OCR的较量
OCR(光学字符识别)技术经历了从传统手工特征提取到深度学习自动化处理的变革。本文对比传统OCR与深度学习OCR,从图像预处理到后处理,详解技术演进带来的速度、精度与扩展性飞跃。
359 0
|
11月前
|
数据采集 人工智能 监控
代理IP在市场分析与用户画像研究中的应用解析
在数据驱动的时代,代理IP作为基础设施,正重塑商业研究逻辑。本文从技术原理、应用场景与未来趋势探讨其价值:突破地域限制、规避封禁、提升匿名性,助力市场分析与用户画像;同时面临技术挑战与合规边界。未来,代理IP结合AI等技术,将推动商业研究向实时化、精细化发展,成为企业竞争的核心工具。
260 0
|
机器学习/深度学习 算法 安全
NeurIPS 2024:数学推理场景下,首个分布外检测研究成果来了
在深度学习领域,模型的鲁棒性与可靠性至关重要。针对数学推理这一复杂生成场景,传统OOD检测方法因输出空间高密度特征而面临挑战。为此,研究团队提出基于轨迹波动性的TV分数方法,通过计算样本嵌入偏移轨迹的波动性来检测OOD样本。实验表明,该方法在数学推理和选择题任务中优于传统算法,展示了其潜在优势和通用性。尽管存在局限性,TV分数为数学推理场景下的OOD检测提供了创新思路。论文地址:https://arxiv.org/abs/2405.14039
276 2
|
弹性计算 网络协议
计算机网络-数据链路层
计算机网络-数据链路层
计算机网络-数据链路层
|
存储 API iOS开发
苹果手机iOS如何使用http代理
我们使用苹果手机访问网络时,有时候需要配置代理服务器。下面就来介绍一下。
苹果手机iOS如何使用http代理