可观测性-你的应用健康吗?|学习笔记

简介: 快速学习可观测性-你的应用健康吗?

开发者学堂课程【Kubernetes 入门: 可观测性-你的应用健康吗?】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/51/detail/1017


可观测性-你的应用健康吗?


内容介绍

一、需求来源

二、Liveness 与 Readiness

三、问题诊断

四、应用远程调试

五、课后总结与实践

 

一、需求来源

当我们迁移应用到 Kubernetes 后,要如何保障应用健康稳定?提高应用的可观测性,提高应用的可恢复能力

应用的状态可以从被实时观测:

1、应用健康状态

2、应用资源使用

3、应用实时日志

4、应用出现问题需要降低影响范围,进行问题调试、诊断

5、应用出现问题可以通过自愈机制恢复

 

二、Liveness 与 Readiness

1、应用健康状态–初识 Liveness 与 Readiness

当应用的 Pod 已经运行起来,如何让 Kubernetes 检查应用的状态,判断是否已经准备好对外提供服务?

2、应用健康状态–使用方式

l 探测方式

httpGet 通过发送 http GET 请求返回200-399状态码则表明容器健康。

l Exec  

通过执行命令来检查服务是否正常,命令返回值为0则表示容器健康。

tcpSocket  通过容器的 IP 和 Port 执行 TCP 检查,如果能够建立 TCP 连接则表明容器健康。

l 探测结果

Success Container 通过了检查

Failure Container 未通过检查

Unknown 未能执行检查,不采取任何动作

l 重启策略

Always 总是重启

OnFailure 失败才重启

Never 永远不重启

3、应用健康状态–Pod Probe Spec

l 其他参数

initialDelaySeconds Pod 启动后延迟多久进行检查,单位:秒

periodSeconds 检查的间隔时间,默认为10秒,单位:秒 timeoutSeconds 探测的超时时间,默认为1秒,单位:秒

successThreshold 探测失败后再次判断成功的阀值,默认为1,单位:次

failureThreshold 探测失败的重试次数,默认为3,单位:次

 

三、问题诊断

1、应用故障排查–了解状态机制

image.png

2、应用故障排查–常见应用异常

l Pod 停留在 Pending

Pending 表示调度器没有介入,可以通过 kubectl describe pod,查看事件排查,通常和资源使用相关。

l Pod 停留在 waiting

一般表示 Pod 的镜像没有正常的拉取,通常可能和私有镜像拉取,镜像地址不存在,镜像公网拉取相关。

l Pod 不断被拉起且可以看到 crashing

通常表示 Pod 已经完成调度并启动,但是启动失败,通常是由于配置、权限造成,需查看 Pod 日志。Pod 处在 Running 但是没有正常工作

通常是由于部分字段拼写错误造成的,可以通过校验部署来排查,例如: kubectl apply—validate -f pod.yaml

l Service 无法正常工作

在排除网络插件自身的问题外,最可能的是label配置有问题,可以通过查看 endpoint 的方式进行检查。

 

四、应用远程调试

l 应用远程调试一Pod 远程调试

当我们把一个应用部署到集群中发现问题需要快速进行验证修改时,可以通过远程调试的方式进行修改、验证。

l 进入一个正在运行的 Pod

kubectl exec -it pod-name /bin/bash

l 进入一个正在运行包含多容器的 Pod

kubectl exec -it pod-name -c container-name/bin/bash

1、应用远程调试-Service 远程调试

l 当集群中应用依赖的应用需要本地调试时:

可以使用 Telepresence 将本地的应用代理到集群中的一个 Service 上。

Telepresence —swap-deployment $DEPLOYMENT_NAME

l 当本地开发的应用需要调用集群中的服务时:

可以使用 Port一Forward 将远程的应用代理到本地的端口上。

kubectl port-forward svclapp -n app-namespace

 

五、课后总结与实践

l 应用状态探针与自动恢复

1.Liveness Probe 保活探针

2. Readiness Probe 就绪探针

l 应用问题诊断的三个步骤

1. 通过 describe 查看状态,通过状态判断排查方向。

2. 查看对象的 event 事件,获取更详细的信息。

3. 查看 Pod 的日志确定应用自身的情况。

l 应用远程调试

1. 代理本地应用到集群一Telepresence

2. 代理远程应用到本地-Port一Forward

相关文章
SpringBoot——SpringBoot中使用过滤器Filter的两种方式
SpringBoot——SpringBoot中使用过滤器Filter的两种方式
3036 0
SpringBoot——SpringBoot中使用过滤器Filter的两种方式
|
人工智能 自然语言处理 搜索推荐
全面升级!揭秘阿里云智能Logo设计的AI黑科技
免费体验!阿里云智能logo设计一直致力于用AI技术,帮助更多有设计需求的朋友能“多快好省”地做logo,让“设计logo”这件有门槛的事情,通过智能工具能轻松打造。满意再付款,首单仅需9.9元。
4320 0
全面升级!揭秘阿里云智能Logo设计的AI黑科技
|
2月前
|
缓存 边缘计算 安全
新版阿里云CDN深度解析:全球节点+智能调度+安全防护+边缘计算一站式加速实操指南
互联网业务全球化发展背景之下,网页站点、音视频点播直播、APP下载、电商动态接口、游戏实时通信等业务对访问延迟、可用性、安全防护提出越来越高的要求。传统源站直连模式,跨地域、跨运营商访问延迟高,突发流量容易打垮源站,同时缺少配套攻击防护能力。新版CDN完成全方位能力升级,不再只是简单静态内容缓存分发工具,进化为集**全球网络调度、边缘智能缓存、动态内容加速、全链路安全防护、可编程边缘计算、自动化运维**于一体的一体化边缘基础设施。依托全球3200+边缘节点、180Tbps+弹性出口带宽,覆盖70余个国家与地区,同时兼容静态资源、动态API、音视频、四层实时通信各类业务。本文从全球网络与智能调度
260 0
|
4月前
|
人工智能 安全 Java
阿里云百炼+Spring AI:企业级RAG知识库从0到1搭建实战教程
企业级RAG(检索增强生成)是解决大模型知识时效性、事实准确性与数据安全问题的核心方案。阿里云百炼提供一站式知识库管理、文档解析、向量化与检索能力,Spring AI Alibaba则为Java生态提供标准化AI开发框架,二者结合可快速搭建安全可控、可扩展的企业私有知识库。以下从环境准备、百炼知识库创建、Spring AI集成、核心代码实现、问答服务部署与优化全流程,完成从0到1的实战落地。
799 0
|
4月前
|
人工智能 负载均衡 监控
多系统联动下的随访引擎架构:HIS/EMR 对接与任务调度逻辑
该随访系统以「随访计划+任务引擎」为核心,实现全流程自动化:先配置规则模板(人群、节点、方式、内容),再由引擎自动触发任务、智能派单、多渠道触达、状态流转与超时督办,最终闭环复盘。支持对接HIS/EMR,具备时间计算、规则匹配、负载均衡、状态机等关键技术能力,大幅提升随访效率与规范性。
332 0
|
9月前
|
机器学习/深度学习 人工智能
从“复读机”到“学霸”:大模型参数避坑指南与实战模板
AI博主详解大模型调参核心:学习率、训练轮次、Dropout三大关键参数,用炒菜类比讲清原理;提供新手“抄作业”配置表、问题诊断方案及LLaMA-Factory一键调参工具推荐,助你告别复读机,提升模型泛化能力。(239字)
348 0
|
机器学习/深度学习 人工智能 自然语言处理
云上一键部署通义千问 QwQ-32B 模型,阿里云 PAI 最佳实践
3月6日阿里云发布并开源了全新推理模型通义千问 QwQ-32B,在一系列权威基准测试中,千问QwQ-32B模型表现异常出色,几乎完全超越了OpenAI-o1-mini,性能比肩Deepseek-R1,且部署成本大幅降低。并集成了与智能体 Agent 相关的能力,够在使用工具的同时进行批判性思考,并根据环境反馈调整推理过程。阿里云人工智能平台 PAI-Model Gallery 现已经支持一键部署 QwQ-32B,本实践带您部署体验专属 QwQ-32B模型服务。
|
前端开发 测试技术
DeepSeek-V3-0324 发布,本次 V3 版本有哪些改进?
DeepSeek-Chat模型升级至DeepSeek-V3-0324,推理能力显著增强,多项基准测试大幅提升(MMLU-Pro+5.3,GPQA+9.3,AIME+19.8,LiveCodeBench+10.0)。优化Web前端开发与代码生成准确率,提升中文写作、翻译及书信写作能力,支持中长篇高质量创作。新增多轮交互改写功能,改进Function Calling准确率,优化中文搜索与报告分析能力,输出更详实内容。
1096 1
|
算法 前端开发 定位技术
地铁站内导航系统解决方案:技术架构与核心功能设计解析
本文旨在分享一套地铁站内导航系统技术方案,通过蓝牙Beacon技术与AI算法的结合,解决传统导航定位不准确、路径规划不合理等问题,提升乘客出行体验,同时为地铁运营商提供数据支持与增值服务。 如需获取校地铁站内智能导航系统方案文档可前往文章最下方获取,如有项目合作及技术交流欢迎私信我们哦~
1491 1
|
机器学习/深度学习 人工智能 搜索推荐
AI在电子商务中的个性化推荐系统:驱动用户体验升级
AI在电子商务中的个性化推荐系统:驱动用户体验升级
1812 17