如何用 Go 封装大模型推理服务
本文介绍了使用 Go 语言构建高性能大模型推理服务的方法。文章设计了分层系统架构,定义了支持流式与批量推理的核心接口。通过工作池模式优化并发控制,并引入 LRU 缓存提升性能。文中实现了完整的 HTTP 服务,集成了错误处理与指标监控。最后,文章提供了基于容器化的部署方案、GPU 加速及模型量化等优化建议,旨在构建高效、可扩展的 AI 推理服务。
分布式存储longhron卸载
以下是针对Longhorn卸载问题的简洁摘要:
在Rancher/K3s环境中卸载Longhorn时,若操作不当(如过早删除命名空间或手动修改资源),会导致命名空间`longhorn-system`卡在`Terminating`状态,无法彻底清理。主因包括**Finalizer机制未正确释放**(如`longhorn-manager`、CRD资源残留)和**资源泄漏**(如未清理的Volume/StatefulSet)。核心解决方案分三步:
1. **强制移除Finalizer**:通过脚本或命令清理命名空间及CRD的finalizers(如`kubectl patch`移除`/metadata/finalizers`)。
2. **清理残留资源**:删除Longhorn相关的CRD、Pod及命名空间(`kubectl delete --force`)。
3. **官方卸载流程**:使用Helm或kubectl卸载器(需确认`deleting-confirmation-flag`),按顺序删除组件及CRD。
**注意**:操作前备份数据,避免强制删除引发数据丢失;优先参考[官方卸载文档](https://longhorn.io/docs/1.6.1/deploy/uninstall/)确保安全。
【工具篇】手把手教你自定义protobuf 标签
本文探讨了protoc生成的pb.go文件中json标签的问题:omitempty导致零值(如0)字段在JSON转换时被忽略,且难以添加其他标签(如form)。提出两种解决方案:一是修改protoc-gen-go源码,通过调整生成方法注入自定义标签;二是使用第三方库protoc-go-inject-tag,在proto文件中添加@gotags注释(如`// @gotags: json:"community_id" form:"community_id"`),再运行工具注入标签。推荐第二种方案,因其侵入性小、操作便捷,无需修改源码即可高效解决标签定制需求。
K8S-云原生
未读
K8S 证书过期修复
本文介绍了Kubernetes(K8S)证书过期问题的解决流程。当出现“Unable to connect to the server: x509: certificate has expired”错误时,首先使用`kubeadm certs check-expiration`检查证书有效期,确认证书即将到期。接着备份`/etc/kubernetes`目录以防数据丢失。然后通过`kubeadm alpha certs renew all`重新生成所有证书,无需提前删除过期证书。更新用户凭证后,重启kubelet服务。最后验证服务状态,确认kubelet正常运行,问题解决,集群恢复正常。整个过程简洁高效,确保系统安全性和可用性。(约150字)
K8S-云原生
未读
【k8s篇】搭建k8环境
本文详细介绍了Kubernetes集群的部署流程,涵盖环境准备、组件安装及网络配置。首先进行系统初始化:设置主机名、禁用SELinux和swap、配置内核参数(如开启网桥过滤和IP转发)、同步时区。接着准备ipvs模块并安装kubelet、kubeadm、kubectl(v1.20.9),通过脚本拉取K8s镜像。使用kubeadm初始化集群,配置kubectl访问权限,并提供节点加入命令及集群卸载方法。重点解决公网环境部署问题:配置虚拟网卡、修改kubelet参数绑定公网IP、调整kube-apiserver监听地址、配置iptables NAT规则及Flannel网络插件适配公网通信。最后启用ipvs代理模式,并集成KubeSphere及Helm工具。适用于跨公网的K8s集群搭建。
K8S-云原生
未读
Kafka 基本原理.md
Kafka是分布式流处理平台,基于ZooKeeper协调,支持高吞吐、分区多副本的消息处理。核心应用场景包括日志收集、消息系统解耦、用户活动跟踪及运营监控。其核心概念涵盖Broker(节点)、Topic(消息分类)、Producer(生产者)、Consumer(消费者)及Partition(有序分区)。设计上通过Controller选举管理集群,副本机制保障数据可靠性,HW(高水位)与LEO(日志末端位移)确保消息一致性。生产中需关注acks参数防消息丢失,手动提交offset避免重复消费,合理分区与消费组配置防止积压,并可通过JVM调优(如G1GC)提升性能。
Docker Registry 私有仓库搭建
本文介绍了Ubuntu系统下Docker的安装与私有Registry搭建流程。主要包括:
1. **Docker安装**:卸载旧版本后,通过APT配置HTTPS源、添加阿里云GPG密钥及软件源,安装docker-ce并启动服务;提供官方脚本自动安装方案。
2. **镜像加速器**:配置`daemon.json`使用网易/百度镜像源,重启服务生效。
3. **私有Registry搭建**:拉取registry镜像,启动容器并映射端口;解决HTTP信任问题(修改`daemon.json`或自建TLS证书)。
4. **API接口**:列出Registry V2的核心API方法(如获取镜像列表、上传下载等),并附官方文档链接。全文侧重实操步骤,关键配置均提供代码示例。
k3s集群搭建与Rancher部署
本文详细介绍了K3S与Rancher的部署流程,主要包含以下步骤:
1. **环境准备**:通过自动化脚本初始化CentOS7系统,安装依赖包、配置内核参数、关闭防火墙及SELinux,并安装Docker运行时。
2. **K3S部署**:在Master节点安装K3S Server,配置服务节点端口范围;Agent节点通过Token加入集群。同时部署NFS存储并配置默认StorageClass。
3. **证书管理**:生成自签名SSL证书,创建Kubernetes TLS密文,确保Rancher通信安全。
4. **Rancher安装**:使用Helm添加Chart仓库,通过私有证书方式部署Rancher,并设置初始访问密码。
5. **私有仓库配置**:配置containerd支持私有镜像仓库,包括证书认证和镜像加速。
6. **问题解决**:针对cgroup驱动不一致等常见问题提供解决方案。
全文涵盖系统初始化、集群部署、安全配置及运维优化,适用于轻量级Kubernetes环境搭建。

