- 博客(392)
- 资源 (2)
- 收藏
- 关注
原创 k3s报错:Error: Kubernetes cluster unreachable: Get “http://localhost:8080/version“: dial tcp [::1]:xxx
而helm使用的是kubectl默认的配置文件,对于k3s环境,需要设置一下KUBECONFIG的值即可。设置完成之后,就可以使用helm工具了,从这里也能看到k3s的一些第三方插件也是通过helm部署的。
2024-03-26 10:15:06 172
原创 如何查找overlayfs对应的POD
客户生产环境监控发现在所有主机夜间2-3点,/home/t4目录磁盘使用率会暴涨后回落,由于时间范围比较固定,疑似某服务或主机设置定时任务导致,但和客户沟通在此时间段并未设置定时计划任务,和产研确认产品在此时间段也未设置定时计划任务。如此一来,就需要我们自己通过脚本抓取/home/t4下具体哪个目录导致的磁盘增长。
2024-01-19 15:30:17 905
原创 wireshark根据请求头过滤包
请求头在应用程序中是可以自定义的。在问题排查过程中需要根据请求头过滤http包,本文描述如何在wireshark中根据请求头过滤http包。添加需要过滤的header名,如mgw-traceid、operation-type等,添加好后确定。打开wireshark“首选项”(perfreences),点击“协议”下拉找到HTTP,点击custom http header fileds。添加好后,就可以根据http.haeader.xxx进行过滤了。
2024-01-18 15:29:35 344
原创 /hbase/.oldlogs 存储空间过多如何清理
打开http://${master}:${port}/cm.jsp 账号密码均为hbase输入密码后,页面如下:调整master的log保留时间由默认的3天改成1天(注意数据安全,尽量在存储空间无风险的情况不要进行改操作)hbase.master.logcleaner.ttl 该值默认为259200000,代表3天,将该修改为86400000 1天如下:点击load使得该值被加载。
2024-01-17 15:30:08 377
原创 docker pull镜像报错:‘invalid checksum digest format‘
这个命令将返回镜像的 manifest(元数据),其中包含有关镜像的详细信息,包括层(layers)和配置。通过多次执行docker push可以发现,连接会重置到443端口上,返回的类似是一个html的内容。可以看到已经有服务监听了443端口,我们需要把这个服务给停掉。然后,你可以提取 manifest 中的层信息,并使用。最终可以拉取成功,证明registry服务正常。可以看到,已经配置了registry的安全连接。镜像可以导入本地,证明镜像没有问题。最终镜像可以正常推拉到镜像仓库!
2023-12-08 15:49:20 267
转载 为啥有的configMap要重启Pod才生效
metadata:data:env方式envFrom方式volumes方式。env方式envFrom方式volumes方式。env方式和envFrom方式方式说白了是往容器里注入了环境变量,在容器启动的时候,就已经注入了,无法修改。每次修改configMap的key-value,需要重启Pod才能生效。volumes方式的方式,实际上把configMap的key-value写入到了容器对应的volume卷下,而且每次configMap变更,都会把最新值写入到volume卷下,这样容器每次都能取到最新值。
2023-11-23 16:16:17 292
转载 3 种方法限制 K8s Pod 磁盘容量使用
超过软限制后,仍然可以正常使用,但是登陆后会收到警告,在 grace time 倒计时完毕之前,用量低于软限制后,一切恢复正常。也就是说,如果你创建一个文件,打开文件,写入 1GB,然后删除文件,这种情况下 inode 仍然存在(直到你关闭文件),空间仍然被占用,但是 Kubelet 却没有算这 1GB.对于 Pod 级别的隔离,Pod 总用量限制,是每个容器限制之和。如果文件被创建、然后删除,但是它的文件描述符仍然处于打开状态,这种情况下,它仍然消耗空间,不会出现周期性扫描的那种漏统计的问题。
2023-11-23 15:23:30 322
原创 iowait过高问题查找及解决方案
如果 await 远大于 svctm,说明 I/O 队列太长,应用得到的响应时间变慢,如果响应时间超过了用户可以容许的范围,这时可以考虑更换更快的磁盘,调整内核 elevator 算法,优化应用,或者升级 CPU。另外,时机也很重要,可能 5 分钟前还人满为患的收款台,现在已是人去楼空,这时候交款可是很爽啊,当然,前提是那过去的 5 分钟里所做的事情比排队要有意义 (不过我还没发现什么事情比排队还无聊的)。确认是否是I/O导致的系统缓慢我们可以使用多个命令,最简单的是unix的命令 top。
2023-11-10 16:27:33 1606
原创 深入理解Kubernetes的驱逐机制
节点压力驱逐是指,Pod所在节点的资源,如CPU, 内存, inode等,这些资源被分为可压缩资源CPU (compressible resources) 与不可压缩资源 (incompressible resources) 磁盘IO, 内存等,当不可压缩资源不足时,Pod会被驱逐。Pod会根据节点的资源使用情况被逐出。如果集群中的节点数小于50,并且故障节点数超过总节点数的55%,则暂停 Pod 驱逐。即如果在 Pod 被驱逐并调度到新节点后该节点中的 Pod 也被驱逐,则该 Pod 将再次被驱逐。
2023-10-30 11:32:10 229
转载 kubernetes镜像GC
/ 执行垃圾回收策略,如果根据垃圾回收策略不能释放足够的空间,则会返回 error// 启动异步垃圾镜像回收Start()// 删除所有无用镜像。
2023-10-30 11:10:36 302
转载 Pod 的QoS服务质量
QoS(Quality of Service),可译为 "服务质量等级",或者译作 "服务质量保证",是作用在 Pod 上的一个配置,当 Kubernetes 创建一个 Pod 时,它就会给这个 Pod 分配一个 QoS 等级。Kubernetes 使用 Qos 类来决定 Pod 的调度和驱逐策略。
2023-10-20 15:45:16 77
转载 容器镜像安全漏洞扫描-Trivy
Trivy(tri 发音为 trigger,vy 发音为 envy)是一个简单而全面的漏洞/错误配置扫描器,用于容器和其他工件。软件漏洞是软件或操作系统中存在的故障、缺陷或弱点。Trivy 检测操作系统包(Alpine、RHEL、CentOS 等)和特定语言包(Bundler、Composer、npm、yarn 等)的漏洞。此外,Trivy 会扫描基础设施即代码 (IaC) 文件,例如 Terraform 和 Kubernetes,以检测使您的部署面临攻击风险的潜在配置问题。Trivy 易于使用。
2023-10-19 17:00:43 427
转载 如何使用Kaniko在 Kubernetes 集群中构建容器镜像
Github地址:https://github.com/GoogleContainerTools/kanikoKaniko 是Google开源的一款在 Kubernetes 用来构建容器镜像的工具,它是一个从 Dockerfile 构建容器镜像的工具,就像 Docker 一样,但主要区别在于 Kaniko 可以在容器内运行,这意味着它可以在 Kubernetes 集群内运行。不需要特权模式,也不需要公开任何套接字。不需要在我们集群的节点上运行 Docker,因此我们使用哪个容器引擎来运行容器并不重要。
2023-10-19 16:15:34 546
转载 如何在Kubernetes中使用Init Container
Pod 可以包含多个容器,应用运行在这些容器里面,同时 Pod 也可以有一个或多个先于应用容器启动的 Init 容器。
2023-10-19 15:54:08 265
转载 Kubernetes中的Pause容器到底是干嘛的
k8s.gcr.io 这个地址是需要连外网才可以拉取到,导致 pause 镜像拉不下来,Pod无法启动。以前都没关注过 pause 这个容器,它是啥,做什么用的,怎么在 Pod 里没看到过他,本文将带你了解 pause 容器。
2023-10-19 15:29:24 350
转载 一文了解负载均衡器、反向代理、API 网关区别
利用负载均衡器、反向代理和 API 网关在你的业务架构中可能很难区分和选择,但有了正确的知识,您就可以做出明智的决策并为您的 Web 应用程序选择完美的组件。请记住,负载均衡器在多个后端服务器之间分配流量,反向代理提供额外的应用程序级功能,API 网关为基于微服务的应用程序提供集中管理和安全性。希望这篇文章能够帮助你~
2023-10-19 10:38:23 76
转载 KubeVela 基础入门
KubeVela 是 OAM 规范(实际上 OAM 规范会滞后于 KubeVela 中使用的规范)的一个实现,是一个开箱即用的现代化应用交付与管理平台,它使得应用在面向混合云环境中的交付更简单、快捷。使用 KubeVela 的软件开发团队,可以按需使用云原生能力构建应用,随着团队规模的发展、业务场景的变化扩展其功能,一次构建应用,随处运行。
2023-10-16 17:03:28 586
原创 如何查找overlayfs对应的POD
大家有时候会在环境中碰到一个问题,就是在某一个时间段,docker或者containerd目录挂载的磁盘使用率会飙升(例如挂载的目录是/home/deployer/containerd),触发告警,飙升完之后又自动落回,由于时间范围比较固定,疑似某服务或主机设置定时任务导致,但是排查完之后,并没有发现这个时间段内有定时任务,如此一来,就需要我们自己通过某些手段查找是该磁盘下的具体哪个目录导致的。
2023-10-12 17:01:13 250
原创 HBase .oldlogs存储空间过多清理
hbase的/hbase/.oldlogs存储空间占用过多,触发hbase-slave存储空间占用告警。
2023-10-12 16:16:30 158
原创 prometheus之记录规则(recording rules)与告警规则(alerting rule)
记录规则允许您预先计算经常需要的或计算成本高昂的表达式,并将其结果保存为一组新的时间序列。查询预计算的结果通常会比每次需要时执行原始表达式快得多。这对于仪表板尤其有用,因为仪表板每次刷新时都需要重复查询同一个表达式。记录和警报规则存在于规则组中。组中的规则以固定的时间间隔按顺序运行,评估时间相同。记录规则的名称必须是有效的度量值名称。警报规则的名称必须是有效的标签值。
2023-10-09 15:33:29 781
原创 k8s容器的调试利器-nsenter
Nsenter是一个命令行工具,可以让我们进入一个运行中的容器内部。当使用Docker/Contained运行一个容器时,容器内部就像是一个隔离的虚拟机环境,你需要通过命令行进入容器内部来进行管理和操作。通过Nsenter命令,可以使用容器内部的Shell或其它工具,就像在本地主机上执行命令一样方便。
2023-08-29 17:11:54 328
转载 Java 程序问题排查 | JDK 常用工具详解
JDK 提供了一系列排查问题的工具,本文主要对 jps、jinfo、jstack、jstat、jmap、jhat 做介绍。
2023-08-29 16:50:06 182
原创 如何处理ephemeral-storage 不足问题
根本原因:Kubernetes使用的系统盘容量不足;触发项如下:1.image镜像太多,耗用太多ephemeral-storage;2.本地pv存储全部挂载了系统盘目录下;3.有些容器没有使用持久化存储,日志等全部打印到了ephemeral-storage。
2023-07-26 16:34:28 555
原创 自动化脚本清理registry历史镜像
如果 docker ps -a | grep registry 没有容器存在,那么请确定容器名称,然后-c参数执行容器名。经测试,再次push相同的镜像,因为容器运行缓存,无法正常生成镜像的manifest,需要重启下registry容器。默认镜像中心的docker容器名称为: registry。
2023-07-26 15:59:57 10
原创 zookeeper-数据备份和恢复
log 文件,包括 leader 和所有的 follower。否则可能导致恢复数据时发现本机上事务日志文件较新而无法同步数据。停止集群中所有服务器(一般3个)的zk服务。
2023-07-26 15:46:10 1177
原创 docker-registry目录扩容磁盘
8.rsync -avP /home/deployer/biangeng/registry/ /home/t4/registry/ 或者mv /home/deployer/biangeng/registry/* /home/t4/registry/6.编辑/etc/fstab,添加内容:/dev/mapper/yoda--ssd-mpaas_registry /home/t4/registry ext4 defaults 0 0。首先我的环境是ops1、ops2都部署了registry。
2023-07-21 16:41:37 168
原创 新增硬盘&扩容硬盘
6.编辑/etc/fstab,添加内容:/dev/mapper/yoda--ssd-mpaas_biangeng /home/deployer/biangeng ext4 defaults 0 0。5.初始化:mkfs.ext4 /dev/mapper/yoda-ssd-mpaas_biangeng。7.挂载:mount -a 检查:df -hT /home/deployer/biangeng。2.创建新目录:mkdir /home/deploy/biangeng。
2023-07-21 09:21:06 11
原创 编译kubeadm续签k8s1.22.0高可用集群证书100年
目录一、查看证书过期时间1.1 方式一1.2 方式二二、通过命令续期2.1 查看证书有效期2.2 备份原有数据2.3 备份证书2.4 更新证书2.5 确认证书有效期2.6 更新kubeconfig文件2.7 更新客户端证书2.8 重启相关的pod2.9 检查当前集群状态是否正常2.10 检查etcd集群状态三、编译源码kubeadm,证书时间自定义3.1 备份集群配置3.2 获取对应的kubeadm源码3.3 修改CA证书有效期3.4 修改其他证书有效期3.5 安装go环境进行编译3.6 go设置国内代理3
2023-04-26 16:27:34 850
原创 安装hybridnet网络插件
与 hybridnet 网络插件不同,terway 网络插件是与阿里云基础设施紧密结合的,并不考虑在非阿里云公有云基础设施环境部署的情况,而 hybridnet 更像是类似 flannel、calico 的社区解决方案,支持在任意环境拉起和部署。在异构的混合云基础设施上,对资源进行统一纳管和优化调度,以开放的、云原生的方式为平台及业务系统提供生产可用的产品及组件,帮助用户打造满足大规模、高性能、合规性和业务连续性等要求的分布式应用系统,提升企业数字化转型的整体效能。
2023-03-27 15:50:07 462
原创 提效小工具-浏览器批量访问多个url的工具
当我们平时运维,可能需要一次性打开多个白屏页面,进行巡检,比较繁琐,以下是一个简单的dos脚本,方便更快打开多个url页面。
2023-03-24 11:11:37 279
2022年最新Docker 常见面试题汇总
2022-06-09
MySQL一主两从迁移
2022-09-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人