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
相关推荐
Qayrup6 分钟前
docker 搭建私有仓库,推送并拉取
运维·docker·容器
黑黍2 小时前
如何在k8s中配置并使用nvidia显卡
云原生·容器·kubernetes
梁正雄2 小时前
6、prometheus资源规划
运维·服务器·服务发现·prometheus·监控
冷血~多好3 小时前
使用docker部署elk,实现日志追踪
elk·docker·容器
会飞的小蛮猪3 小时前
SkyWalking运维之路(Java探针接入)
java·运维·经验分享·容器·skywalking
天一生水water4 小时前
docker-compose安装
运维·docker·容器
蓝象_4 小时前
docker安装配置mysql
mysql·docker·容器
Cxzzzzzzzzzz5 小时前
Kubernetes 架构
容器·架构·kubernetes
return(b,a%b);6 小时前
docker拉取失败,更换docker的源
docker·容器·eureka
时鲟、时倾7 小时前
docker部署kafka
docker·容器·kafka