“Hack”阿里云Kubernetes的Scheduler的日志级别

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
日志服务 SLS,月写入数据量 50GB 1个月
简介: ### 问题 阿里云的Kubernetes容器服务,默认已经根据生产的要求创建好了3个master的高可用集群。每个master节点都部署了对应的apiserver, controller, scheduler。对于一些高级用户,特别是在开发测试阶段,或许需要调整这些组件的日志级别来dubug其运行的行为,则需要手工做一下日志级别的调整。那么我们需要了解阿里云的kubernetes是如何配置

问题

阿里云的Kubernetes容器服务,默认已经根据生产的要求创建好了3个master的高可用集群。每个master节点都部署了对应的apiserver, controller, scheduler。对于一些高级用户,特别是在开发测试阶段,或许需要调整这些组件的日志级别来dubug其运行的行为,则需要手工做一下日志级别的调整。那么我们需要了解阿里云的kubernetes是如何配置,从而“hack”它。

了解阿里云Kubernetes的部署方式

Docker的部署

Docker是通过systemd部署,可以登录到一台master,通过

systemctl status docker

查看docker daemon的状态,从而知道docker的配置在/usr/lib/systemd/system/docker.service
可以查看改文件知道,docker的日志配置:
image.png

那么可以知道容器的stdout的日志将存在容器的目录里,文件为/var/lib/docker/containers/<container-id>/<container-id>-json.log

Kubelet的部署方式

Kubelet也是通过systemd部署,可以登录到一台master,通过

systemctl status kubelet

查看kubelet的运行状态,从而知道kubelet的配置在/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
可以查看改文件知道,kubelet的运行配置为:
image.png
红色框是配置static pod的对应的yaml文件所在的路径:/etc/kubernetes/manifests

Static Pod的使用和原理可以参见:https://kubernetes.io/docs/tasks/administer-cluster/static-pod/

scheduler的日志启动参数

进入/etc/kubernetes/manifests目录,可以看到有三个文件,这个就是apiserver, scheduler, controller的pod的运行yaml文件

对云的scheduler的podyaml文件是:kube-scheduler.yaml,相关的配置就在这里面。从配置可以知道,该scheduler pod是直接输出到stdout的,那么它的日志对应文件就在之前说的容器的目录里。

Kubernetes scheduler的日志级别配置

Kubernetes的scheduler的日志配置第一反应就是去改配置参数,但是比较坑的是kube-scheduler --help输出的提示是:

image.png

尽然没有说配置的可选值是什么,然后官网的文档也没有说怎么配置,连-v参数都不说
不得不去google,最后找到一下文档:

https://github.com/kubernetes/community/blob/master/contributors/devel/logging.md

Hack scheduler日志级别实践

从上面的信息我们已经知道了scheduler的运行方式,以及了解了日记级别的配置,那么hack就简单多了

  • 修改 /etc/kubernetes/manifests/kube-scheduler.yaml 增加. -v=4的配置

image.png

  • 等待kubelet重启对应的pod,可以通过docker ps | grep scheduler 来看对应的pod是否已经重启
  • docker ps | grep scheduler 获得对应的container id
  • 查看对应的 /var/lib/docker/containers/<container-id>/<container-id>-json.log就可以获得对应的日志了

总结

如果需要“hack”其它组件也是类似的原理。不过提醒大家,这个只能是作为开发/测试需要时才使用。在生产环境还是要保留原有的方式,毕竟那个是经过生产检验过的配置方式。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
1月前
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
|
2天前
|
运维 Kubernetes 调度
阿里云容器服务 ACK One 分布式云容器企业落地实践
3年前的云栖大会,我们发布分布式云容器平台ACK One,随着3年的发展,很高兴看到ACK One在混合云,分布式云领域帮助到越来越多的客户,今天给大家汇报下ACK One 3年来的发展演进,以及如何帮助客户解决分布式领域多云多集群管理的挑战。
阿里云容器服务 ACK One 分布式云容器企业落地实践
|
21天前
|
人工智能 Prometheus 监控
使用 NVIDIA NIM 在阿里云容器服务(ACK)中加速 LLM 推理
本文介绍了在阿里云容器服务 ACK 上部署 NVIDIA NIM,结合云原生 AI 套件和 KServe 快速构建高性能模型推理服务的方法。通过阿里云 Prometheus 和 Grafana 实现实时监控,并基于排队请求数配置弹性扩缩容策略,提升服务稳定性和效率。文章提供了详细的部署步骤和示例,帮助读者快速搭建和优化模型推理服务。
97 7
使用 NVIDIA NIM 在阿里云容器服务(ACK)中加速 LLM 推理
|
23天前
|
人工智能 Prometheus 监控
使用NVIDIA NIM在阿里云ACK中加速LLM推理
介绍在阿里云ACK集群上结合AI套件能力快速部署NVIDIA NIM模型推理服务,同时提供全面的监控指标和实现弹性伸缩。
使用NVIDIA NIM在阿里云ACK中加速LLM推理
|
25天前
|
Kubernetes 网络虚拟化 Docker
K8S镜像下载报错解决方案(使用阿里云镜像去下载kubeadm需要的镜像文件)
文章提供了一个解决方案,用于在无法直接访问Google镜像仓库的情况下,通过使用阿里云镜像来下载kubeadm所需的Kubernetes镜像。
59 3
K8S镜像下载报错解决方案(使用阿里云镜像去下载kubeadm需要的镜像文件)
|
1月前
|
存储 消息中间件 人工智能
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
早期 MiniMax 基于 Grafana Loki 构建了日志系统,在资源消耗、写入性能及系统稳定性上都面临巨大的挑战。为此 MiniMax 开始寻找全新的日志系统方案,并基于阿里云数据库 SelectDB 版内核 Apache Doris 升级了日志系统,新系统已接入 MiniMax 内部所有业务线日志数据,数据规模为 PB 级, 整体可用性达到 99.9% 以上,10 亿级日志数据的检索速度可实现秒级响应。
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
|
23天前
|
SQL 人工智能 运维
在阿里云日志服务轻松落地您的AI模型服务——让您的数据更容易产生洞见和实现价值
您有大量的数据,数据的存储和管理消耗您大量的成本,您知道这些数据隐藏着巨大的价值,但是您总觉得还没有把数据的价值变现出来,对吗?来吧,我们用一系列的案例帮您轻松落地AI模型服务,实现数据价值的变现......
114 3
|
1天前
|
Kubernetes API Docker
跟着iLogtail学习容器运行时与K8s下日志采集方案
iLogtail 作为开源可观测数据采集器,对 Kubernetes 环境下日志采集有着非常好的支持,本文跟随 iLogtail 的脚步,了解容器运行时与 K8s 下日志数据采集原理。
|
1月前
|
消息中间件 Kubernetes API
在K8S中,如何收集k8s集群日志?
在K8S中,如何收集k8s集群日志?
|
24天前
|
运维 Kubernetes 监控
Loki+Promtail+Grafana监控K8s日志
综上,Loki+Promtail+Grafana 监控组合对于在 K8s 环境中优化日志管理至关重要,它不仅提供了强大且易于扩展的日志收集与汇总工具,还有可视化这些日志的能力。通过有效地使用这套工具,可以显著地提高对应用的运维监控能力和故障诊断效率。
62 0