- 博客(149)
- 资源 (9)
- 收藏
- 关注
原创 kubeadm 部署kubernetes 1.26.1集群 Calico BGP ToR配置
完成内核升级、系统配置、部署容器运行时Containerd、安装crictl客户端命令、安装 kubeadm、kubelet 和 kubectl。备注:coredns Pending、节点NotReady 是因为没有安装CNI插件,下面步骤进行安装calico CNI讲述。由于使用了Calico ToR 网络模式每次新加入的节点都要修改calico node节点as number号。kubelet需要指定 --container-runtime-endpoint=检查BGP 连接状态。
2023-02-25 15:13:24
3062
原创 k8s 集群部署rook-ceph存储系统及使用
一、Rook 、ceph简介Ceph分布式存储系统Ceph是一种高度可扩展的分布式存储解决方案,提供对象、文件和块存储。在每个存储节点上,您将找到Ceph存储对象的文件系统和Ceph OSD(对象存储守护程序)进程。在Ceph集群上,您还可以找到Ceph MON(监控)守护程序,它们确保Ceph集群保持高可用性。RookRook 是一个开源的cloud-native storage编排, .........
2020-10-22 21:24:14
8633
4
原创 Vm-alertmanager 配置
摘要:本文配置了一个自定义的VictoriaMetrics告警管理器(VMAlertmanager),包含以下关键配置: 使用alertmanager:v0.28.1镜像,配置了节点亲和性和污点容忍 资源限制为2核CPU/4GB内存,存储使用10GB SSD 通过Secret配置告警规则,设置全局5分钟超时 定义了两类接收器:null接收器和全局webhook接收器 配置了分组策略,按namespace/container/severity分组,设置1分钟等待时间 该配置实现了高可用告警管理,支持webho
2025-12-17 16:16:35
397
原创 高效监控利器:vmagent全面解析
摘要:vmagent是VictoriaMetrics提供的轻量级代理工具,用于高效收集和转发监控指标。它支持Prometheus协议兼容,具有低资源消耗、高可靠性(支持断点续传)、灵活的标签重写和过滤功能。vmagent可通过集群分片模式扩展抓取能力,支持Kafka等消息队列集成,并提供去重、流聚合等高级特性。在Kubernetes环境中,可通过Operator实现自动配置,支持StatefulSet和DaemonSet部署模式。典型应用场景包括替代Prometheus抓取功能、大规模监控数据收集以及多租户
2025-12-17 16:12:31
600
原创 VMAlert告警规则与动态配置详解
摘要:VMAlert是VictoriaMetrics的告警组件,主要功能包括执行告警规则、生成告警事件并推送至Alertmanager或Webhook,同时处理RecordingRules。支持动态加载规则、提供UI查看状态,在集群模式下通过vminsert和vmselect组件实现读写分离。配置需注意数据去重参数和延迟设置,可通过Grafana监控看板(ID:24513)进行可视化。典型部署包含数据源、远程读写配置、资源限制等参数,支持Kubernetes Operator管理。文档参考VictoriaM
2025-12-17 15:57:29
294
原创 VictoriaMetrics集群架构与工作流解析
VictoriaMetrics集群架构由多个组件协同工作:数据采集链路中vmagent发现并拉取指标数据,通过vminsert分片写入vmstorage;查询链路通过vmselect聚合vmstorage数据返回结果;告警链路由vmalert执行规则并经由vm-alertmanager发送通知。核心组件包括vmagent(数据采集)、vminsert(写入入口)、vmstorage(数据存储)、vmselect(查询入口)等,通过Operator实现Kubernetes环境下的自动化部署管理。参数优化方面,
2025-12-17 15:44:38
1078
原创 快速部署Kubernetes版APISIX网关helm chart
Kubernetes 版本至少 1.12+(建议 1.19+ 或更高)Helm 版本 3.x(建议 3.8+)已配置 kubectl 并可访问 Kubernetes 集群。根据需要准备好:存储卷(如果你希望启用持久化)、网络负载均衡 / Ingress 权限、镜像拉取凭证(如私有仓库)等。
2025-10-24 14:26:41
427
原创 调用apisix admin 接口创建资源
本文介绍了在Kubernetes集群中使用APISIX实现路由管理、负载均衡、身份认证和限速功能的实践方法。通过APISIX-admin服务创建了转发至httpbin.org的路由,并演示了路由的增删改查操作。在负载均衡部分,展示了如何配置轮询策略和权重分配,实现灰度发布效果。身份认证部分详细说明了Key Authentication和Basic Authentication两种方式的配置流程,包括创建消费者、启用认证插件及测试验证。最后介绍了通过limit-count插件实现请求限速,并演示了限速效果的测
2025-10-16 18:23:36
901
原创 使用crd创建apisix 资源
本文介绍了APISIX Ingress Controller 3.13版本的使用方法,重点讲解了路由、上游、消费者认证、TLS证书等核心功能的配置。主要内容包括:1. 路由配置支持HTTP/7层和Stream/4层代理;2. 通过ApisixRoute实现流量分发;3. 多种认证方式(BasicAuth、KeyAuth、JWT)的实现;4. 速率限制、路径重写等插件应用;5. 全局和特定域名的TLS证书管理。文章提供了详细的YAML配置示例和测试验证方法,展示了APISIX强大的API网关功能。
2025-10-13 15:13:07
892
原创 探索Apache APISIX:动态高性能API网关
Apache APISIX是一个高性能的动态API网关,基于OpenResty和Etcd实现,支持负载均衡、动态路由、流量控制等多种功能。它支持多种协议,提供Dashboard管理和插件扩展能力。在Kubernetes环境中,APISIX可作为Ingress控制器使用,采用数据面与控制面分离架构,确保业务流量不受影响。APISIX Ingress支持CRD配置,兼容原生Ingress资源,并提供了灵活的负载均衡策略。官方推荐在K8s环境中使用CRD配置,非K8s环境则通过Admin API管理。APISIX
2025-10-13 14:24:10
1315
原创 大模型流式长链接场景下 k8s 优雅退出 JAVA
本文介绍了在Java Spring Boot应用和Kubernetes中配置优雅停机(Graceful Shutdown)的优化方案。在bootstrap.yml中设置spring.lifecycle.timeout-per-shutdown-phase=30m延长停机等待时间,避免服务中断。同时在K8S配置中添加preStop钩子执行70秒sleep,确保流量摘除后再停机,并设置terminationGracePeriodSeconds=1800作为最大回收时限。这些配置共同保证了服务升级时已建立的连接能
2025-07-31 15:50:57
370
原创 k8s 收集event事件至Loki
📌 Kubernetes事件监控方案:通过event-exporter将Kubernetes事件持久化存储至Loki,并在Grafana中可视化展示。部署过程包含RBAC权限配置、event-exporter部署(使用ConfigMap定义Loki接收端)、Grafana数据源配置及官方Dashboard(ID:17882)导入。方案实现事件长期存储、统一查询和可视化分析,支持故障排查与集群状态监控。主要步骤:1)部署RBAC权限;2)配置event-exporter对接Loki网关;3)导入Grafan
2025-06-17 14:39:08
749
原创 rancher 解决拉取dashboard-shell镜像失败的问题
通过以上方法,你应该能成功解决 Rancher Dashboard Shell 镜像拉取失败的问题。如果仍有疑问,欢迎在评论区交流!在 Kubernetes 集群中部署 Rancher 后,点击右上角的。(检查 Calico/NetworkPolicy 是否阻止访问镜像仓库)动态注入 Shell Pod 的配置,我们可以修改其默认镜像地址。如果镜像仓库需要认证(如 UCloud、Harbor),需创建。Pod,用于提供 Web 终端功能。或者,如果你已经替换为私有仓库但仍然遇到。Secret 并绑定到。
2025-04-11 12:21:54
992
原创 Kubernetes CronJob 定时重启 Pod 的最佳实践
每天自动执行 kubectl rollout restart 命令。在 Kubernetes 集群中,应用长时间运行可能会出现。等问题,影响服务稳定性。为了解决这些问题,我们可以使用。限制 kubectl 命令的权限,避免安全隐患。:仅赋予 patch 权限,确保安全。:不保留执行历史,防止资源浪费。:滚动重启,保证业务不中断。,确保服务持续稳定运行。
2025-03-18 11:02:10
748
原创 基于 Ingress-Nginx 实现 mTLS 双向认证
通过自签名证书启用双向 TLS在微服务架构中,安全性是至关重要的考虑因素。特别是在 Kubernetes 环境下,Ingress 作为流量入口,承担着重要的安全网关角色。默认情况下,Ingress-Nginx 仅支持 TLS 单向认证,即客户端验证服务器的证书,而 mTLS(Mutual TLS,双向 TLS 认证)则进一步增强了安全性,要求客户端也提供受信任的证书,以实现双向身份验证。mTLS 适用于需要严格身份认证的场景,如:•:确保只有受信任的客户端可以访问微服务。•。
2025-03-03 18:41:48
1669
原创 开源的工单系统 使用go+vue 适用于各种场景
基于Gin + Vue + Element UI OR Arco Design OR Ant Design的前后端分离权限管理系统,系统初始化极度简单,只需要配置文件中,修改数据库连接,系统支持多指令操作,迁移指令可以让初始化数据库信息变得更简单,服务指令可以很简单的启动api服务了解更多。后端项目:https://github.com/sunwenbo/smart-api。前端项目:https://github.com/sunwenbo/smart-ui。默认登录账户: admin / 123456。
2025-01-24 17:18:21
960
原创 Loki 各模式简介
Loki 部署模式Loki 是一个由许多微服务组成的分布式系统。它还具有独特的构建模型,其中所有这些微服务都存在于同一个二进制文件中。您可以使用命令行标志配置单个二进制文件的行为-target,以指定哪些微服务将在启动时运行。您可以进一步配置文件中的每个组件loki.yaml。由于 Loki 将其存储的数据与提取和查询数据的软件分离,因此您可以根据需求的变化轻松地在不同模式下重新部署集群,而无需进行任何配置更改或只需进行很少的配置更改。单片模式最简单的操作模式是单片部署模式。
2024-12-17 19:37:46
1427
原创 Loki 微服务模式组件介绍
Loki 是一个用于日志聚合和查询的系统,广泛用于 Kubernetes 和微服务架构中。Loki 的微服务模式将其核心功能拆分为多个独立的组件,每个组件专注于特定的任务。Distributor(分发器)接收日志数据(通常通过push协议或Promtail将日志数据分发到Ingester组件进行存储和处理。通过hash-ring算法,根据日志流的标签(labels)计算分区,并将数据路由到正确的Ingester。作为日志数据的入口,负责任务分配和路由。
2024-12-17 19:33:35
1676
原创 好用的工单系统,适用于各种场景
基于Gin + Vue + Element UI OR Arco Design OR Ant Design的前后端分离权限管理系统,系统初始化极度简单,只需要配置文件中,修改数据库连接,系统支持多指令操作,迁移指令可以让初始化数据库信息变得更简单,服务指令可以很简单的启动api服务了解更多。后端项目:https://github.com/sunwenbo/smart-api。前端项目:https://github.com/sunwenbo/smart-ui。默认登录账户: admin / 123456。
2024-12-17 16:24:47
451
原创 java性能分析 arthas 使用教程
显示这个页面后,我们需要退出到容器到bash环境。停止分析后将会生成一份火焰图文件。启动分析,需要执行一段时间。登陆web页面 访问。
2024-11-29 16:45:14
728
原创 Prometheus 监控接入规范
前缀: 使用清晰的前缀区分不同业务领域或服务。http_:与 HTTP 请求相关的指标。db_:与数据库相关的指标。cache_:与缓存系统相关的指标。命名风格: 使用小写字母和下划线分隔词。指标名称应简单易懂,并反映其所代表的内容。示例:简洁明了: 指标名称应当简洁、描述性强,便于理解和使用。避免使用复杂、难以理解的名称。例如,明确表明它代表 HTTP 请求的总数。使用标准前缀和单位: 遵循 Prometheus 社区推荐的命名惯例,以确保一致性和可读性。常见的后缀包括_total表示计数器,
2024-08-15 17:41:53
1438
原创 Prometheus operator 系统参数和监控数据抓取调优
抓取配置频率: 每 30 秒抓取一次。路径: 请求路径。端口: 使用端口9203tcp。协议: 使用 HTTP 协议。超时: 请求超时时长为 10 秒。标签重写使用labeldrop操作和正则表达式删除不需要的标签namespacecontainerendpointjobuser以减少标签的基数。样本限制配置限制每次抓取请求的样本数,以防止因单一抓取请求导致的过高开销。这份。
2024-08-12 19:46:31
1599
原创 k8s volcano + deepspeed多机训练 + RDMA ROCE+ 用户权限安全方案【建议收藏】
Ant系列GPU支持 NvLink & NvSwitch,若您使用多GPU卡的机型,需额外安装与驱动版本对应的nvidia-fabricmanager服务使GPU卡间能够互联,否则可能无法正常使用GPU实例。【摘要】 Nvidia A系列裸金属服务器安装NVIDIA和CUDA驱动,安装conda和pytorch2.0并验证cuda的有效性。选择安装环境相关版本: GPU驱动版本为530.30.02、CUDA版本为12.1.0。
2024-06-22 15:32:22
4362
7
原创 LVS NAT、DR、FULL-NAT 模式介绍
NAT模式下的转发流程当请求达到调度器时,此时请求会先达到PREROUTING链,这个时候源IP为CIP 目标IP为VIP当内核检测到访问的IP是本机是,会将数据包发送到INPUT链,IPVS检测到数据包中访问的后段服务是集群服务后,会将请求包发送至POSTROUTING链,这个时候会将目标IP改为RIP,此时源IP为CIP 目标IP为RIP,在这个过程中完成转换。
2024-04-07 11:54:20
806
原创 Calico IPIP和BGP TOR的数据包走向
Calico 通过一个巧妙的方法将 workload 的所有流量引导到一个特殊的网关 169.254.1.1,从而引流到主机的 calixxx 网络设备上,最终将二三层流量全部转换成三层流量来转发。在主机上通过开启代理 ARP 功能来实现 ARP 应答,使得 ARP 广播被抑制在主机上,抑制了广播风暴,也不会有 ARP 表膨胀的问题。发送arp request的接口与接收arp request的接口不能是相同,即容器中的默认网关不能是calico的虚拟网关。宿主机的arp代理得打开。
2024-04-04 23:46:52
1033
原创 k8s CNI Calico 网络模式总结【建议收藏】
IP in IP 使用 20 字节标头,IPv4 VXLAN 使用 50 字节标头,IPv6 VXLAN 使用 70 字节标头,IPv4 WireGuard 使用60 字节标头,IPv6 WireGuard 使用 80 字节标头。全网格非常适合 100 个或更少节点的中小型部署,但在规模明显更大时,全网格的效率会降低,我们建议使用路由反射器。备注: IBGP & EBGP 结合使用,集群大于100个节点以后使用TOR模式可以带来很好的性能。
2024-04-02 20:22:30
2317
原创 GPU A800 A100系列NVIDIA环境和PyTorch2.0基础环境配置【建议收藏】
Ant系列GPU支持 NvLink & NvSwitch,若您使用多GPU卡的机型,需额外安装与驱动版本对应的nvidia-fabricmanager服务使GPU卡间能够互联,否则可能无法正常使用GPU实例。【摘要】 Nvidia A系列裸金属服务器安装NVIDIA和CUDA驱动,安装conda和pytorch2.0并验证cuda的有效性。选择安装环境相关版本: GPU驱动版本为530.30.02、CUDA版本为12.1.0。注意事项: 不能选择Driver, 否则会覆盖已安装的NVIDIA驱动.
2024-03-19 20:22:00
4299
原创 Glusterfs 常用命令
删除卷的前提是先停止卷,如果要删除卷下面的数据,现在客户端将卷下的数据删除完毕,再停止卷,再删除卷。GlusterFS 卷快照功能基于精简配置的 LVM 快照。Brick LVM 不应包含除Brick以外的任何其他数据。任何Brick都不应该放在厚重的 LVM 上。每个块都应位于独立的精简配置的 LVM 上。Gluster 版本应为 3.6 及以上。
2024-03-13 18:21:44
1699
原创 k8s Sidecar filebeat 收集容器中的trace日志和app日志
将容器中服务的trace日志和应用日志收集到KAFKA,需要注意的是 trace 日志和app 日志需要存放在中。分别为APP_TOPIC和TRACE_TOPIC。
2024-01-31 16:00:56
1231
原创 ingres nginx 反向代理常见配置(持续更新)
当请求到达nginx时,nginx会将/v1/chat/create 这段url反向代理访问后端的节点。假设我的请求是https://xxx.xxx.com/im_chat/v1/chat/create。可以看到 proxy_pass http://chatbot_flask/;如果想实现访问的url 匹配到的location,不携带给后端服务。的,这代表反向代理给后端的upstream节点不携带。类似nginx的配置如下。
2024-01-30 17:03:27
3763
2
原创 client-go 实现一个自动创建ingress资源的controller
创建的service annotaion中如果包含ingress/http: "true"的时候,会自动将该服务的ingress资源创建出来,当删除掉ingress/http: "true"的时候,自动删除ingress, 同时将service删除掉的时候也会自动删除ingress。
2023-10-24 10:27:32
512
codis/redis 迁移redis cluster工具
2022-08-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅