k8s面试题总结(十四)

什么是Helm?

Helm是一个k8s的包管理工具,它简化了应用程序在k8s集群中的部署,管理和维护。类似于rpm包和yum之间的关系。

K8s传统方式:类似于rpm安装包的方式,逐步进行安装,遇到依赖还得解决依赖问题

helm方式:类似于使用Yum安装,一键封装进行安装,自动解决依赖问题。

传统的k8s和Helm的各方面的对比:

  1. 部署方式:

使用k8s方式部署pod应用程序:需要手动编写和管理多个yaml文件。

使用Helm方式部署pod应用程序:通过Helm Charts将应用程序及其所有依赖打包成一个单独的包,可以快速部署。

2.管理和升级:

K8s本身没有内置的版本管理机制,需要手动管理应用程序的版本。

helm维护应用程序的版本历史,可以轻松进行版本升级和回滚。

3.重用性和共享:

K8s:需要手动管理资源文件,缺乏直接的共享和复用机制。

Helm:Helm Charts有公用的模板yaml文件,通过传递不同的变量,快速拉起一套新的服务,可在不同的环境中复用,并且可以共享和分发到Helm仓库。

什么是Kubernetes的监控和日志记录解决方案?

K8s提供了多种监控和日志记录解决方案,如Prometheus,ELK堆栈等,这些工具可以用于监控集群的性能指标和应用程序日志。

如果您更关注实时度量和警报功能,以及对指标数据进行灵活查询和分析,那么Prometheus可能是更好的选择。它适用于监控容器中的各种指标,如CPU利用率、内存使用量、网络流量等。另一方面,如果您的关注点更多是日志管理和分析,特别是对大规模日志数据的搜索、过滤和可视化,那么ELK Stack是更适合的解决方案。

如何在Prometheus中定义监控指标?

Prometheus概述:

Prometheus 仅用键值方式存储时序式的聚合数据,不支持文本信息

其中的 "键" 称为指标(metric),通常意味着 CPU 速率、内存使用率或分区空闲比例等

同一指标可能适配到多个目标或设备、因而它使用 "标签" 作为元数据,从而为 metric 添加更多的信息描述维度

  1. 定义和暴露指标

首先需要在应用程序中暴露这些指标,为了能够监控到更多信息,如主机的 CPU 使用率等,我们需要使用到 node_exporter。Prometheus 周期性的从 Exporter 暴露的 HTTP 服务地址(通常是 /metrics)拉取监控样本数据。

2.配置Prometheus抓取指标

编辑Prometheus的配置文件prometheus.yml,添加目标(target)。

3.查询和可视化指标

配置完成后,Prometheus将开始抓取并存储这些指标数据。你可以使用Prometheus的web界面或Grafana来查询和可视化指标。

相关推荐
sukioe1 小时前
【无标题】
后端·docker·centos
爱好曙光2 小时前
云原生混沌工程实战:基于Litmus的故障注入与弹性测试
云原生·kubernetes·devops·混沌工程·故障注入·litmus·弹性测试
HAPPY酷2 小时前
【ROS2】VMware + Docker 运行 Gazebo 崩溃与“假死”排查实录
qt·docker·容器
探索云原生2 小时前
Kueue 如何管理 DRA 模式下的 GPU 配额
ai·云原生·kubernetes·kueue
Zhao_yani5 小时前
k8s基础知识
云原生·容器·kubernetes
styshoo5 小时前
NVSentinel 数据流梳理
kubernetes·gpu·ai-infra·nvsentinel
想你依然心痛6 小时前
嵌入式容器:Docker与BalenaOS在边缘设备上的实践——容器运行时与OTA
运维·docker·容器
zx78546 小时前
Kubernetes 生产级实战:从零部署 LNMP 架构 ECShop 商城(完整指南)
容器·架构·kubernetes
不瘦80斤不改名7 小时前
HalfCart:基于LBS的1\.5km本地拼单系统全栈实践与踩坑复盘
python·docker·typescript·pycharm
IT大白鼠7 小时前
K8S发展历史及未来展望
云原生·容器·kubernetes