一个计算机技术爱好者与学习者

0%

前言

计划在三台Linux主机中搭建Spark on Yarn集群,Spark版本3.2.3,Hadoop版本3.2.3。

主机配置为4C8G,操作系统为CentOS7,hosts配置为:

1
2
3
192.168.56.101 spark-master
192.168.56.102 spark-slave1
192.168.56.103 spark-slave2

选择101作为master节点,另外两个作为worker节点。

参考文档:

阅读全文 »

Pod抓包概述

排查网络问题的最好方法就是抓包分析,在 Kubernetes 中对 Pod 进行抓包的常见方法包括:

  • 在 Pod 中安装 tcpdump 工具,直接对流量进行抓包,捕获网络流量并输出到文件或终端上。这种方法的优点是灵活性高,可以根据实际情况进行定制和调试,但需要在 Pod 中安装额外的工具,可能会增加 Pod 的大小和复杂度。
  • 使用 kubectl port-forward 命令将 Pod 的网络流量转发到本地,然后使用本地的 tcpdump 工具对流量进行抓包。这种方法的优点是简单易用,不需要在 Pod 中安装额外的工具,但需要手动进行转发和抓包,可能不太方便。
  • 使用 Kubernetes 中的网络插件提供的抓包功能,例如 Cilium、Weave Net、Calico 等。这些网络插件一般都提供了抓包工具或者抓包接口,可以直接对 Pod 的网络流量进行抓包,而无需在 Pod 中安装额外的工具或者进行手动转发。
  • 登录 Pod 所在节点,进入容器 netns,然后使用节点上 tcpdump 工具进行抓包。

以上方法都比较繁琐,令人惊喜的是出现了 ksniff,可以让我们在 Kubernetes 更简便地抓包。
本文中,我们会学习使用ksniff来进行Pod抓包。

参考文档:

阅读全文 »

需求描述

计划对CICD进行优化,主要包括降低pipeline的失败率和降低构建发布时间。

最开始,要对pipeline进行统计,搞清楚当前的情况,做到心里有“数”,制定合理的目标。
优化一段时间后,需要再用相同的统计方法对pipeline进行统计,看看优化的效果。

好了,问题来了:怎样统计最近两个月的gitlab pipeline?
具体需求包括:

  • 总的pipeline次数
  • 成功的pipeline次数
  • 失败的pipeline次数
  • 取消的pipeline次数
  • 跳过的pipeline次数
  • 耗时超过5分钟的pipeline次数
  • 耗时超过10分钟的pipeline次数
  • 耗时超过半小时的pipeline次数
  • 耗时超过1小时的pipeline次数
  • pipeline的失败率

使用GitLab的Analytics可以看到部分我们想要的数据,比如某个月的pipeline总次数,失败的总次数等。但是并不能根据我们的需要选择时间段进行统计,也不能统计pipeline的持续时间,因此最好的方法是通过GitLab API进行统计。

参考文档:Pipelines API

阅读全文 »