k8s record 20240710 监控

不是adaptor 是opetator 案例

监控有了,日志搜集呢?

一、kubelet 的小弟

kubelet --- 负责维护容器的生命周期,节点和集群其他部分通信

  1. cAdvisor 集成在 Kubernetes 的 kubelet 中,能够自动发现和监控集群中所有的容器。
  2. dockershim 允许 kubelet 与 docker 守护进程通信,管理容器。k8s 1.24 版本后,Dockershim被弃,被 CRI 容器运行时接口代替,比如 containerd、CRI-O
  3. Garbage Collection 是 kubelet 的一个过程,用于清理不再需要的资源
  4. syncLoop 是一个持续的循环,定期从 API Server 获取 pod的期望状态和 节点的pod对比,发现差异,采取行动恢复与期望一致

Prometheus 部分

  1. ceph的metrics获取通过ceph mgr。也就是说Prometheus获取数据的地址,exporter的地址
  2. ceph自带 Prometheus,在Prometheus界面上的alert里面可以找到问题

TCP 和 UDP 可以同时使用相同的端口号,因为它们的协议栈在操作系统中是分离的。这意味着操作系统可以区分同一端口号上的 TCP 和 UDP 流量。

bash 复制代码
 netstat -tlunp |grep alertmanager
tcp6       0      0 :::9093                 :::*                    LISTEN      4182/alertmanager
tcp6       0      0 :::9094                 :::*                    LISTEN      4182/alertmanager
udp6       0      0 :::9094                 :::*                                4182/alertmanager

端口 9094 可以用于集群通信或 HTTP/2 gRPC 服务。

集群通信:在 Alertmanager 集群中,多个 Alertmanager 实例之间需要通信来共享告警状态和信息。这种通信可以使用 TCP 或 UDP 协议。

HTTP/2 gRPC 服务:某些高级通信需求可能会使用 HTTP/2 协议,这通常基于 TCP 实现。

Alertmanager 通常使用 TCP 端口 9093 来接收来自 Prometheus 的告警。

Prometheus 发送告警到 Alertmanager 时,会通过 HTTP 请求使用 TCP 端口 9093。

在 alertmanager.yml 那里配置发送告警给谁。然后在Prometheus.yml 里配置9093 也就是alertmanager的端口和 ip

3. 自动化运维

Ansible是不需要在其他节点安装客户端,只要能连进去就行,成百上千的机器方便。它是在一台机器上起10到20个进程去批量地做。

Saltstack 其他机器需要安装 minimal 服务,从master节点拿任务执行。它就被ansible的部署方式快很多

通过这些做运维平台,通过平台管理成百上千的机器。这就是所谓的运维开发。

Puppet 由于是 R 语言编写的,用的比较少,多用于数据分析。它能够轻松管理上万台节点

4. 日志收集

  1. Logstash 功能虽然强大,但是它依赖 Java. 数据量大的时候消耗系统资源大,影响性能
    Filebeat 基于Go 语言,无依赖,轻量级,性能好。版本7.7.1
相关推荐
程序边界2 小时前
AIGC时代Kubernetes企业级云原生运维实战:智能重构与深度实践指南
云原生·kubernetes·aigc
dessler5 小时前
Kubernetes(k8s)-Reloader介绍&使用
linux·运维·kubernetes
weixin_425878236 小时前
k8s 自动伸缩的场景与工作原理
java·容器·kubernetes
lzz的编码时刻6 小时前
K8s私有仓库拉取镜像报错解决:x509 certificate signed by unknown authority
云原生·容器·kubernetes
码哝小鱼6 小时前
docker stack常用命令
docker·容器·eureka
NorthCastle9 小时前
Centos7 上 卸载 docker
运维·docker·容器
{⌐■_■}9 小时前
【Kubernetes】RBAC(基于角色的访问控制)如何设置?如何管理 Kubernetes 的权限?
云原生·容器·kubernetes
kfepiza9 小时前
docker mysql 笔记250406
docker·容器
kfepiza9 小时前
`docker run --restart no,always,on-failure,unless-stopped` 笔记250406
docker·容器
rider18912 小时前
【7】搭建k8s集群系列(二进制部署)-master节点之配置kubectl客户端证书
云原生·容器·kubernetes