如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像提供可插拔的webhooks和控制器组件,用于支持Kubernetes(K8s)环境下监控解决方案的部署、运行与扩展。镜像集成了轻量化的事件处理与资源管理能力,通过模块化设计满足多样化监控需求。
通过Docker Hub或私有镜像仓库拉取镜像:
bashdocker pull [镜像仓库地址]/k8s-monitor-support:latest # 示例(假设官方仓库):docker pull k8s-monitor/k8s-monitor-support:v1.0.0
适用于测试环境或单机调试,需映射配置文件与网络:
bashdocker run -d \ --name k8s-monitor-support \ --network host \ # 需访问Kubernetes API时使用host网络(或配置--add-host) -v /path/to/config:/etc/monitor/config \ # 挂载配置目录 -v /var/run/kubernetes.sock:/var/run/kubernetes.sock \ # 挂载K8s API socket(集群内运行时) -e LOG_LEVEL=info \ # 日志级别:debug/info/warn/error -e WEBHOOK_PORT=8080 \ # webhooks服务端口 -e CONTROLLER_ENABLED=true \ # 是否启用控制器组件 [镜像仓库地址]/k8s-monitor-support:latest
推荐通过Deployment或DaemonSet部署,以下为Deployment示例:
yaml# k8s-monitor-support-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: k8s-monitor-support namespace: monitoring spec: replicas: 1 # 单副本(控制器组件通常不需要多副本,避免冲突) selector: matchLabels: app: k8s-monitor-support template: metadata: labels: app: k8s-monitor-support spec: containers: - name: monitor-components image: [镜像仓库地址]/k8s-monitor-support:v1.0.0 ports: - containerPort: 8080 # webhooks服务端口 - containerPort: 8081 # 健康检查端口 env: - name: LOG_LEVEL value: "info" - name: KUBERNETES_SERVICE_HOST # 自动注入集群API地址(无需手动配置) valueFrom: fieldRef: fieldPath: status.hostIP - name: CONTROLLER_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace volumeMounts: - name: config-volume mountPath: /etc/monitor/config readOnly: true - name: kubeconfig-volume # 若集群外部署需挂载kubeconfig mountPath: /root/.kube/config readOnly: true resources: limits: cpu: 500m memory: 512Mi requests: cpu: 200m memory: 256Mi livenessProbe: httpGet: path: /healthz port: 8081 initialDelaySeconds: 30 periodSeconds: 10 volumes: - name: config-volume configMap: name: monitor-config # 需提前创建包含webhooks/控制器配置的ConfigMap - name: kubeconfig-volume secret: secretName: kubeconfig-secret # 集群外部署时的kubeconfig密钥(可选)
部署命令:
bashkubectl apply -f k8s-monitor-support-deployment.yaml -n monitoring
环境变量配置
| 参数名 | 描述 | 类型 | 默认值 | 示例值 |
|---|---|---|---|---|
LOG_LEVEL | 日志输出级别 | string | info | debug |
WEBHOOK_PORT | webhooks服务监听端口 | int | 8080 | 9090 |
CONTROLLER_ENABLED | 是否启用控制器组件 | bool | true | false |
CONTROLLER_THREADS | 控制器并发工作线程数 | int | 2 | 4 |
K8S_API_QPS | 访问K8s API的QPS限制 | int | 50 | 100 |
WEBHOOK_TIMEOUT | webhook请求超时时间(秒) | int | 30 | 60 |
PLUGINS_DIR | 插件目录路径 | string | /etc/monitor/plugins | /opt/monitor/plugins |
配置文件配置(config.yaml)
通过ConfigMap挂载/etc/monitor/config/config.yaml,示例结构:
yamlwebhooks: enabled: true endpoints: - name: prometheus-forwarder type: http url: "http://prometheus-server:9090/api/v1/write" timeout: 15s filters: # 仅转发符合条件的事件 event_types: ["PodCreated", "PodDeleted"] namespaces: ["default", "prod"] tls: # 启用HTTPS时配置 enabled: false cert_path: "/etc/tls/tls.crt" key_path: "/etc/tls/tls.key" controller: enabled: true resources: # 需管理的监控CRD资源 - group: monitoring.coreos.com version: v1 kind: ServiceMonitor namespace: "monitoring" sync_interval: "30s" # 资源状态同步周期
验证容器状态
bash# Docker运行时 docker ps | grep k8s-monitor-support # Kubernetes部署时 kubectl get pods -n monitoring | grep k8s-monitor-support
查看日志
bash# Docker运行时 docker logs -f k8s-monitor-support # Kubernetes部署时 kubectl logs -f [pod-name] -n monitoring -c monitor-components
验证webhooks服务
bash# 端口转发(K8s环境) kubectl port-forward pod/[pod-name] 8080:8080 -n monitoring # 发送测试事件 curl -X POST http://localhost:8080/webhook \ -H "Content-Type: application/json" \ -d '{"event_type":"PodCreated","namespace":"default","resource_name":"test-pod"}'
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务