Kubernetes
Kubernetes 下开源的 GPU 虚拟化项目
· ☕ 4 分钟
1. k8s-device-plugin https://github.com/NVIDIA/k8s-device-plugin 是 NVIDIA 官方提供的 Kubernetes 设备插件,用于在 Kubernetes 集群中管理和分配 NVIDIA GPU 资源。 k8s-device-plugin 通过与 kubelet 的交互,自动发现和注册 GPU 设备,并将其作为资源提供给 Kubernetes 调度器。它支持多种 GPU 型号,并能够处理 GPU 的分片和共享。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 apiVersion: v1 kind: Pod metadata: name: gpu-pod spec: restartPolicy: Never containers: - name: cuda-container

FoundationDB 数据备份与恢复
· ☕ 1 分钟
1. 设置环境变量 设置 foundationdb 集群名称和版本 1 2 3 4 5 export CLUSTER_NAME= export NAMESPACE= export DEPLOY_NAME=${CLUSTER_NAME}-deployment export SECRET_NAME=fdb-backup-secret export VERSION=7.1.26 设置 S3 备份存储桶和凭证 1 2 3 4 5 export BUCKET= export HOST=s3.us-west-2.amazonaws.com export AK=x export SK=x export S3_BACKUP_URI="blobstore://${AK}:${SK}@${HOST}/fdb-backup?bucket=${BUCKET}&sc=0" 2. 创建凭证 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 cat <<EOF | kubectl apply -f - apiVersion: v1 kind: Secret metadata: name: ${SECRET_NAME} namespace: ${NAMESPACE} type: Opaque stringData: credentials: | { "accounts": { "${BUCKET}@${HOST}": { "access_key": "${AK}", "secret": "${SK}", "endpoint": "${HOST}" } } } EOF 3. 创

给 Node Exporter 添加抓取凭证
· ☕ 1 分钟
1. 背景 Node Exporter 是 Prometheus 生态系统中用于收集主机指标的常用组件,但默认情况下不提供访问认证。本文介绍如何为 Kubernetes 环境中的 Node Exporter 添加基本认证,提高安全性。 2. Node Exporter 配置凭证 2.1 生成加密密码 使用 htpasswd 工具生成加密密码: 1 htpasswd -nBC 12 "" | tr -d ':\n' 这里需要输入密码,生成的输出将是一个

kube-proxy 异常导致节点上的 Pod 无法访问 Service
· ☕ 3 分钟
1. 问题描述 相关 Pod 1 2 3 4 5 6 kubectl -n istio-system get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES istiod-647c7c9d95-7n7n6 1/1 Running 0 77m 10.244.173.51 docs-ai-a800-4 <none> <none> istiod-647c7c9d95-k6l88 1/1 Running 0 30m 10.244.210.160 ai-a40-2 <none> <none> istiod-647c7c9d95-pj82r 1/1 Running 0 51m 10.244.229.217 docs-ai-a800-2 <none> <none> 相关 Service 1 2 3 4 kubectl -n istio-system get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istiod ClusterIP 10.99.225.56 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 645d 1 2 3 4 kubectl -n istio-system get endpoints NAME ENDPOINTS AGE istiod 10.244.173.51:15012,10.244.210.160:15012,10.244.229.217:15012 + 9 more... 645d Endpoints 与 Pod 的 IP 是一致的。 测试结果 在异常节点

容器化部署 DeepSeek 3FS 存储系统
· ☕ 7 分钟
1. 部署方案 在开始容器化部署之前,先提几点要求: 为了简化交付,只需要一个镜像 为了可靠性,尽可能多副本部署 通过不同的参数启动不同的服务 通过环境变量注入配置,渲染到配置文件中 下面是 DeepSeek 3FS 的部署方案: 需要部署: 一个 Monitor 用来收集监控数据,数据存储在 ClickHouse 中 一