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来查询和可视化指标。

相关推荐
一碗手擀面6 分钟前
docker镜像发布的应用程序,其配置https的流程
docker·容器·https
追风林1 小时前
mac 本地 docker 安装 kafka
macos·docker·kafka
奔跑中的小象2 小时前
低版本 Linux 系统通过二进制方式升级部署高版本 Docker
linux·docker
最数据3 小时前
收集了一些docker修改镜像源地址
docker·容器·镜像源·国内源地址
云上艺旅3 小时前
K8S学习之基础二十四:k8s的持久化存储之pv和pvc
学习·云原生·容器·kubernetes
人间凡尔赛4 小时前
VSCode-Server 在 Linux 容器中的手动安装指南
linux·运维·服务器·docker
Sans_4 小时前
初识Docker-Compose(包含示例)
后端·docker·容器
Java程序之猿4 小时前
Centos 安装docker,docker-compose
linux·docker·centos
孔令飞5 小时前
04 | 初始化 fastgo 项目仓库
开发语言·ai·云原生·golang·kubernetes
TechStack 创行者5 小时前
Docker+Flask 实战:打造高并发微服务架构
运维·docker·微服务·容器·架构