自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 磁盘io飙升分析

这个现象在MySQL上更为常见,在5.6(performance_schema提供io instrument)之前,我们通常只能猜到是MySQL导致的高IO,但是没法定位具体是哪个文件带来的负载。在一般运维工作中经常会遇到这么一个场景,服务器的IO负载很高(iostat中的util),但是无法快速的定位到IO负载的来源进程和来源文件导致无法进行相应的策略来解决问题。通过ps aux|grep mysqld 找到 mysqld进程对应的进程号,通过pt-ioprofile查看哪个文件的IO占用时间最多。

2024-01-08 13:42:01 434

原创 kubelet pleg (docker container hang 住)

docker hang住可不可以不重启机器

2023-12-15 15:47:56 126

原创 bcc 安装

bcc的源码编译安装

2023-09-14 14:23:17 410 1

原创 registry数据清理的巨坑

最好不要做registry的数据清理,最好不要做registry的数据清理,最好不要做registry的数据清理!由于后端registry多年未做镜像的清理,倒是底层镜像的数据巨大,达到了1.2P的数据量,每月的存储费用巨高,所以想要通过镜像标记删除的方式,来清理镜像,释放磁盘空间。操作之前,查询了网上的诸多文章,发现都千遍一律,没有什么问题,也没有任何的坑的记录,所以开始做数据的标记及清理。重新搭建registry仓库,将用的的镜像push到新的镜像仓库,并行一段时间,切换镜像仓库。

2023-07-11 19:32:00 274

原创 若shell for 循环以\n作为分隔符,输出整行

【代码】若shell for 循环以\n作为分隔符,输出整行。

2023-07-11 19:17:01 307

原创 k8s业务故障集锦

通过观察问题主机的参数,发现net.netfilter.nf_conntrack_tcp_timeout_established的阈值为300,即5分钟后tcp_established的信息将不在记录,从而被nf_conntrack回收。2)当建立的tcp链接,在等待8分钟之后,再发送数据,却迟迟没有收到数据库的返回包,导致java服务端一直在进行包的重传,重传多次,也没有收到数据库的回包。1)数据库在于java服务端建立了tcp链接之后,在立即发送数据包的情况下,可以收到从java服务端发送来的数据包。

2023-07-06 17:09:38 491 1

原创 calico启动NodeName获取的顺序

2、如果1为false,则判断NODENAMEFromFile,默认文件路径为/var/lib/calico/nodename,如果不为空,则只用NODENAMEFromFile的内容作为NODENAME。3、如果2为false,则或者环境变量HOSTNAME,如果为true,则HOSTNAME作为NODENAME。2、如果2为false,则或者环境变量HOSTNAME,如果为true,则HOSTNAME作为NODENAME。3、如果3为false,则自动获取主机名称,作为NODENAME。

2023-06-07 16:38:45 165

原创 redis常用命令

【代码】redis常用命令。

2023-03-28 18:17:54 119

原创 redis-cluster 概念介绍

3、节点从正常状态到fail状态,需要收集每个节点对不正常节点(B)的确认:1)当节点(A)发送的ping包没有返回,此时将B节点的状态信息标记为(PFAIL)状态,然后将信息发送到集群的其它节点,同理当A收集本地有关B状态的信息,当大多数主节点认为B节点是PFAIL状态时,节点A将标记B的状态为FAIL状态,然后向所有的可达节点发送这个消息。8)之后,节点A会将节点B的信息通过Gossip协议传播给集群中的其他节点,让其他节点也与节点B进行握手,最终,经过一段时间后,节点B会被集群中的所有节点认识。

2023-03-28 18:08:17 974

原创 升级kubeadm安装部署的kubernetes集群

升级calico操作:找到calico的安装方式的yaml文件,准备一份老的版本的配置和新的版本的calico的配置文件,直接删除老的calico的配置,kubectl delete -f calico-old.yaml && kubectl apply -f calico-new.yaml,观察calico相关的pod,整个过程不会对线上的服务的访问路由造成影响。2、一般情况下,我们都会有多个控制节点,从代理层上摘除一个控制节点,然后进行升级操作,我们从1.19 升级到1.20。

2023-03-23 14:52:27 310

原创 nginx-ingress常用配置项

【代码】nginx-ingress常用配置项。

2023-03-20 18:46:52 296

原创 nginx-ingress蓝绿部署权重测试

3、要求:所有带有“version:canary”请求头的请求,都打到灰度的pod上面。结果:压测500次,所有请求都打到了灰度的pod上面。2、正式pod1个/canary 2个 ,canary权重占比 30%发送1000个请求,canary占139 + 138 = 277个。结果:压测500次,所有请求都打到了灰度的pod上面。发送500个请求,canary占71+72=143个。发送500个请求 ,canary占147个。发送1000个请求,canary占293个。

2023-03-20 18:45:23 319 1

转载 nginx-ingress 配置优化

转载。

2023-03-20 18:33:23 185

原创 calico全网互联转换为路由反射route reflector

calico 全网互联切换到路由反射

2023-03-20 18:31:40 164

原创 阿里云yum源

一、kubernetes源。

2023-03-16 18:42:03 150

原创 服务器间copy文件

到 10.126.10.42 进行wget。

2023-03-16 15:22:26 81

原创 根据etcd备份文件,重建etcd,恢复k8s

4)为每台机器配置外接etcd的前期配置,安装参考文档:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm/5) 由于etcd为外接集群,所以当我们更换集群时,我们的kubadm-config在初始化时添加的etcd集群的配置无法更新,需要我们手动更新,更新的configmaps为kubeadm-config。4)观察所有的pod对于一些失败的pod,删除重建即可。

2023-03-15 15:51:32 545

原创 k8s相关证书的更新

k8s证书更新

2023-03-13 09:55:21 1192

原创 gluster与nfs性能压测

一、glusterfs性能测试图。二、nfs性能测试图。

2023-03-13 09:47:11 382

原创 k8s外接etcd更换节点

把开始加入的两个etcd1和etcd2的member的数量在initial-cluster中跟etcd3保持一致,从而保持member一致。将老的etcd的ca.crt和ca.key同步到3个新的etcd节点,给新的etcd生成证书。创建优先于kubeadm提供的kubelet单位文件的优先级的新单位文件来覆盖服务优先级。为新的3个etcd节点生成kubeadm-config.yaml文件,文件内容如下。同理,将第二个和第三个节点的etcd都增加到集群当中。更新新的etcd的证书为10年。

2023-03-10 17:10:27 631

原创 calico ToR Bgp对等实战

ToR Bgp对等实战

2023-03-01 10:05:48 280

原创 etcd 数据压缩

etcd数据压缩

2023-02-24 18:30:11 994

原创 k8s常用命令

k8s常用命令

2023-02-22 10:19:19 443

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除