- 博客(312)
- 资源 (6)
- 收藏
- 关注
原创 k3s cpu load 和 cpu 使用率很高处理
在这期间还执行过缩减 sqlite3 数据库操作,不知道是哪个操作起了作用,亦或者两个操作有影响,删除 ns 促进了数据库缩减的执行(没删除之前数据库缩减不成功,db文件大小未减小,但不确定是不是执行完 VACUUM 之后需要时间 db 文件才会减小,或者是因为删除了 ns 才导致其减小),再或者是两个操作都起了作用。kubectl get ns 发现有很多卡在删除状态的 ns。k3s 官网关于这个问题的谈论。执行如下脚本删除掉这些 ns。有人详细说过这个问题。
2024-04-25 18:04:15 14
原创 ceph 1 pool(s) do not have an application enabled
详细状态输出已经给出了解决方法,问题 pool 是 .mgr ,app-name 这里使用了一个自定义的 mgr。
2024-04-24 13:10:38 37
原创 k8s rook-ceph rpc error: code = Internal desc = stat /var/lib/… globalmount: permission denied
kubeadm 部署的 k8s 集群,rook-ceph 部署的存储。登录该 pod 所在的宿主机,可以看到挂载的问题挂载点,这里是。客户端 pod 挂载 cephfs 的 pvc 报错。但是,按照这个操作,pod 会报新的错误,如下。1、直接重启 pod 所在的宿主机。describe pod 信息如下。ls 查看会报没有权限的错误。中提到了另外一种解决方法,
2024-04-24 11:35:01 4
原创 k8s rook-ceph MountDevice failed for volume pvc An operation with the given Volume ID already exists
如果挂载不上使用 telnet xx.xx.xx.xx:6789 ,正常是能通的,或者 curl xx.xx.xx.xx:6789(注意curl要取消操作系统中的代理配置)正常也是通的。kubeadm 搭建的 k8s 集群,rook-ceph 部署的 ceph 存储,mon pod 所在宿主机和挂载客户端机器 pod 所在机器不在一个二层网络里。xxxxxxxx 为 /etc/ceph/keyring中的key,这个文件在 rook-ceph-tools-xxxxx 这个 pod 中有。
2024-04-24 11:15:07 6
原创 curl使用
然后使用 YWRtaW46cHJvbS1vcGVyYXRvcg== 对其 api 资源进行访问。假设 grafana 具有权限的用户名为 admin 密码为 prom-operator。这里以 grafana api 举例。其中 xxx 表示加密后的。说明:以上命令等价于如下命令。curl 命令 -H 参数。
2024-04-08 11:43:37 148
原创 grafana This dashboard depends on Angular, which is deprecated and will stop working in future......
https://grafana.com/docs/grafana/latest/developers/angular_deprecation/To avoid disruption:Ensure that you are running the latest version of plugins by following this guide on updating. Many panels and data sources have migrated from AngularJS.If you are
2024-04-01 16:14:12 434
原创 ubuntu 安装 cuda
导出所有的 warning key 只指定 key id 值的后 8 位即可,导出到/etc/apt/trusted.gpg.d/ 目录下即可,gpg 名字自己随意指定。使用 apt-key list 命令列出 Warning key。删除 warning 的 key 文件。重新执行命令即可成功。
2024-03-14 15:47:36 338
原创 Ubuntu 根分区扩容
dev/ubuntu-vg/ubuntu-lv 为根分区的 lv 的名字。lsblk 发现 / 分区所用的 nvme0n1p3 并没有完全用完。df -h |grep -w / 命令查看根分区空间不够用。查看 vg 状态是否有剩余的 PE。继续查看 lv 名字。
2024-03-14 13:30:26 495
原创 k8s infiniband 和 RoCE(RDMA over Converged Ethernet)
vendors 为设备厂商编号,注意这里不是 ibv_devinfo 命令看到的vendor_id 的值,而是 lspci -n |grep “网卡的bdf” 得到的。如上文所述,启动了两个测试 pod ,登录其中一个 pod(该 pod roce 设备 ip 为 10.56.217.79)如上文所述,启动了两个测试 pod ,登录其中一个 pod(该 pod ip 为 10.96.225.24)说明:文中用到的镜像是自定义的,文末有其Dockerfile 文件。修改该文件,增加污点容忍的内容,如下。
2024-03-05 11:53:06 248
原创 k8s network-attachment-definition
这里列举了 3 个示例metadata:spec:config: '{"ipam": {],}'---metadata:spec:config: '{"ipam": {],}'---metadata:spec:config: '{"ipam": {],},}'EOF执行创建查看创建的 network-attachment-definitionNAME AGE。
2024-03-01 15:08:46 234
原创 attachdetach-controller Multi-Attach error for volume Volume is already exclusively attached to on
由于未知原因,pod 挂载了 rook-ceph 的 rbd pv,启动pod 失败。报错如下。
2024-02-28 12:53:42 64
原创 dragonfly 加 harbor 实现镜像预热
会话超时时间 和 令牌过期时间都是 默认 30分钟,加上限速 1M/s,因此当一个镜像 layer 超过 2G 的时候会预热失败(不通过 harbor 的方式预热),这个问题看 dragonfly issue。【项目】-选择设置了 P2P 预热并且想要预热的项目点进去-【P2P预热】-【新建策略】-选中策略-【其他操作】-【执行】-【确定】【项目】-选择触发了 P2P 预热的项目点进去-【P2P预热】-【新建策略】-选中策略。【项目】-选择一个项目点进去-【P2P预热】-【新建策略】
2024-01-16 19:05:33 217
原创 prometheus record
这是因为prometheus设置了record,例如,真实的查询语句是expr部分的内容。有时候监控图中的promsql语句类似于如下这样。
2024-01-08 18:55:55 426
原创 Dragonfly 部署
重启 docker 后,如果 redis 和 mysql 容器启动不了,其他容器也会无法启动,频繁重启,docker 日志报错如下。启动 redis mysql 容器后,再分别重启无法启动的 pod 即可解决。安装好 docker 和 docker-compose。如果输出类似如下的日志,代表成功。或者直接进入 peer 容器查看。正常后启动的容器如下。
2023-12-25 13:26:16 176
原创 k8s 安装firewalld导致的网络疑难问题处理
如果安装过 firewalld,并且卸载掉,造成了奇奇怪怪的问题,处理方法为再次安装 firewalld,然后执行 systemctl disable --now firewalld。如果安装了firewalld,直接卸载掉是不行的,仍然会造成奇奇怪怪的问题,比如在节点上ping pod ip 不通,traefik ingress 无法访问服务(502)等。部署了k8s集群,n 台 机器,某些机器之间 telnet ip 10250不通。问题机器上安装了 firewalld。
2023-12-12 16:58:21 246
原创 redis sentinel 错误处理
经过一系列的排查未发现 redis 及内存方面的原因导致这种情况出现,最后describe pod 的时候发现存活性检测失败的问题,进一步排查发现从库在 Flushing old data 的时候会阻塞那个存活性检测脚本,导致失败,然后 kill 掉 pod,固日志中会有 Received SIGTERM scheduling shutdown 这个信号。将 livenessProbe 中 timeoutSeconds 调大即可。从报错可知,是开启了无盘复制参数 repl-diskless-sync。
2023-11-30 20:03:37 376
原创 redis 重建主从记录
片刻间,temp-rewriteaof-bg-579.aof 文件消失变成 appendonlydir 目录下 appendonly.aof.2.base.rdb 文件,temp-appendonly.aof.incr 变成 appendonly.aof.2.incr.aof 文件。生成 dump.rbd 文件后内存用量会增加,当内存用量增加到一定极值后开始在 appendonlydir 目录下产生 temp-appendonly.aof.incr 文件,该文件不增加。重建主从期间日志变化。
2023-11-20 19:45:27 251
原创 ceph 常用命令
说明:对象 id ,有多少个对象,存储限制等信息都能查到。查看bucket的配置信息,例如索引分片值。说明:由于输出太多,所以只显示50行。说明:1为 osd 的 id 号。查看某个bucket的详细信息。查看 realm (区域)查看bucket 名字。
2023-11-17 10:59:47 351
原创 kube-prometheus-stack监控k8s1.24+ docker缺少图像
由于 Kubernetes 1.24 已经从 cadvisor 中删除了 docker 插件,因此虽然可以使用 cri-dockerd 来适配容器运行时,但 cadvisor 无法获取有关图像标签等 docker 容器信息。解决方法为对 prometheusrule 进行修改。参考 https://github.com/kubernetes/kubernetes/issues/111077。查看cadvisor中是有监控指标的,因此判定是 prometheus 配置导致的缺少容器网络指标。
2023-11-06 11:24:51 429
原创 k8s pvc 扩容报错could not be patched: is forbidden: only dynamically provisioned pvc can be resized and
pvc扩容后端sc必须设置参数 allowVolumeExpansion: true。
2023-10-17 12:03:30 135
原创 ubuntu 22.04修改永久修改 mac 地址
Ubuntu 20.04 默认不存在 /etc/rc.local,需要自己创建,注意第一行必须是#!/bin/bash,否则启动rc-local服务报错。Failed at step EXEC spawning /etc/rc.d/init.d/nginx: Exec format error.rc-local.service 是系统自带的一个开机自启服务,但是在 ubuntu 20.04 上,该服务默认没有开启。启动rc-local服务后,mac地址即可更改。并且以后reboot机器也不会失效。
2023-10-13 16:13:27 1956
原创 velero 迁移k8s集群资源
前言高版本的velero和低版本的velero部署参数有所变化,网上的文章大多是老旧版本的,另外即便是新版本的,说明以及例子也不够详细,照着做不会成功,故写本文,本文采用最新版本1.12.0进行说明。截止2023-10-11,velero版本为1.12.0。
2023-10-13 11:05:42 513
原创 grafana 监控无图解决
Kube1.24已经从cadvisor中删除了docker插件,因此虽然可以使用cri-dockerd来适配容器运行时,但cadvisor无法获取有关图像标签等docker容器信息。分析,是因为数据缺少container标签,而grafana查询语句中带有这个标签导致的无数据。进grafana dashboards 任意选取一张有问题的图,查看查询语句,如下。部署上之后,发现grafana很多dashboard无图。到prometheus界面执行如下语句查询。grafana查询语句修改为。
2023-09-11 17:28:35 598
原创 不同cpu平台互传docker镜像
说明:不同的平台之间docker镜像不能共用,假如使用mac pull的镜像,load 到amd平台上不能使用。但是可以在pull镜像使用 --platform linux/amd64 pull amd64 架构的镜像。
2023-08-02 12:01:59 275
原创 k8s部署minio
说明:也可由页面创建,这里使用命令行创建,页面创建的租户的 console 的svc默认为LoadBalancer类型,如下命令行创建的为CusterIP类型。这时候租户pod会重启,待重启完毕后再次查看其日志,会发现url信息由于https变为了http,并且console的svc端口由9443变为9090。创建完租户后查看租户pod的日志会看到报错,报错信息类似如下。在要方案的计算机中的/etc/hosts文件中加入域名解析。说明:ip地址为traefik的pod运行的节点的ip。
2023-07-21 10:14:18 232
原创 juicefs使用glusterfs卷
前提:搭建后redis,并配置无密码和远程访问。并且juicefs要使用1.1.0以上版本。编译安装juicefs步骤整理如下,要求系统为Ubuntu 22.04.1 LTS。删除文件后,会在挂载点目录的.trash目录下有备份(类似垃圾箱)使用glusterfs作为后端存储。1、格式化juicefs文件系统。编译安装juicefs。2、在每个主机上挂载。
2023-07-19 15:29:31 467
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人