Dockerfile 中 Run mv 比 cp 慢
· ☕ 4 分钟
不同于 CentOS、Ubuntu,我们感受到 mv 比 cp 快;在使用 Dockerfile 构建镜像时,使用 Run cp 会比 Run mv 更快。本篇将给出相关的一些测试、验证的数据结果。 1. 测试准备 机器环境 Ubuntu 20.04.1 LTS 32C 125Gi 由于是生产机器,上面会有些负载,因此测试会有偏差。我会多次测试,等结果稳定

如何修复重装系统后的 Kubernetes Master 节点
· ☕ 3 分钟
最近碰到两次,因故障需要重装主机系统。其中一次 Etcd 只剩下一个节点,导致整个集群宕机半个小时才恢复。本篇主要记录的是新系统 Ubuntu 20.04 初始化的过程,完成初始化之后采用优秀的集群安装工具 Kubekey 的 add nodes 命令,无需修改配置文件,一键就将节点重新加入了集群。 1. 恢复 Etcd

集群节点的弹性扩缩
· ☕ 3 分钟
弹性伸缩主要有三个维度: HPA,根据利用率,自动伸缩 Pod 数量 VPA,根据历史数据,自动设置 Pod 的 Request、Limit CA,根据使用率,自动伸缩 Node 数量 本篇主要讨论的是节点扩缩容部分。 1. 自动扩缩容组件 autoscaler autoscaler 是 Kubernetes 社区维护的项目。目前 autoscaler 组件已经提供

Tekton 压力测试及构建集群参数优化
· ☕ 4 分钟
1. 测试目的 调优构建集群的参数 探测 Tekton 并发流水线数量上限 给出单个集群最佳并发上限值 2. 相关组件及机器配置 Kubernetes 版本 v1.21.4 Tekton 版本 v0.24.1,与生产版本保持一致 OpenEBS 版本 localpv 版本 3.3.0,与生产版本保持一致 集群节点配置,共五个节点,四个用于构建 node1 master

如何估算 Prometheus 的本地存储和内存消耗
· ☕ 2 分钟
1. 本地存储容量 所需磁盘大小(GB) = 数据保留时长 * 每秒获取指标数量 * 指标数据大小 / 1024 / 1024 / 1024 其中 每秒获取指标数量 rate(prometheus_tsdb_head_samples_appended_total[1d]) 一个小时内样本的平均大小 rate(prometheus_tsdb_compaction_chunk_size_bytes_sum[1d])/rate(prometheus_tsdb_compaction_chunk_samples_sum[1d]) 一天(86400 秒)的磁盘消耗,可以在 Prometheus 中直接查询: 86400 * (rate(prometheus_tsdb_head_samples_appended_total[1d]) * (rate(prometheus_tsdb_compaction_chunk_size_bytes_sum[1d]) / rate(prometheus_tsdb_compaction_chunk_samples_sum[1d]))) / 1024 /1024 / 1024 例如,返回 {instance="localhost:9090", job="prometheus"} 4.437