创建namespace
node-exporter-namespace.yaml
| apiVersion: v1 |
| kind: Namespace |
| metadata: |
| name: ns-monitor |
拉取镜像
| quay.io/prometheus/node-exporter:v0.18.1 |
node exporter的DaemonSet
node-exporter-daemonSet.yaml
| apiVersion: apps/v1 |
| kind: DaemonSet |
| metadata: |
| name: node-exporter |
| namespace: ns-monitor |
| labels: |
| name: node-exporter |
| spec: |
| selector: |
| matchLabels: |
| name: node-exporter |
| template: |
| metadata: |
| labels: |
| name: node-exporter |
| spec: |
| containers: |
| - name: node-exporter |
| image: quay.io/prometheus/node-exporter:v0.18.1 |
| imagePullPolicy: IfNotPresent |
| ports: |
| - containerPort: 9100 |
| resources: |
| requests: |
| cpu: 0.15 |
| securityContext: |
| privileged: true |
| args: |
| - --path.procfs |
| - /host/proc |
| - --path.sysfs |
| - /host/sys |
| - --collector.filesystem.ignored-mount-points |
| - '"^/(sys|proc|dev|host|etc)($|/)"' |
| volumeMounts: |
| - name: dev |
| mountPath: /host/dev |
| - name: proc |
| mountPath: /host/proc |
| - name: sys |
| mountPath: /host/sys |
| - name: rootfs |
| mountPath: /rootfs |
| tolerations: |
| - key: "node-role.kubernetes.io/master" |
| operator: "Exists" |
| effect: "NoSchedule" |
| volumes: |
| - name: proc |
| hostPath: |
| path: /proc |
| - name: dev |
| hostPath: |
| path: /dev |
| - name: sys |
| hostPath: |
| path: /sys |
| - name: rootfs |
| hostPath: |
| path: / |
node exporter的service
node-exporter-service.yaml
| apiVersion: v1 |
| kind: Service |
| metadata: |
| labels: |
| k8s-app: node-exporter |
| name: node-exporter |
| namespace: ns-monitor |
| spec: |
| ports: |
| - name: http |
| port: 9100 |
| targetPort:9100 |
| nodePort: 31672 |
| protocol: TCP |
| type: NodePort |
| selector: |
| name: node-exporter |
如果不使用Service部署,而使用hostNetwork方式部署可以不需要node-exporter-service.yaml文件。直接使用一下node-exporter-daemonSet.yaml即可
| apiVersion: apps/v1 |
| kind: DaemonSet |
| metadata: |
| name: node-exporter |
| namespace: ns-monitor |
| labels: |
| name: node-exporter |
| spec: |
| selector: |
| matchLabels: |
| name: node-exporter |
| template: |
| metadata: |
| labels: |
| name: node-exporter |
| spec: |
| hostPID: true |
| hostIPC: true |
| hostNetwork: true |
| containers: |
| - name: node-exporter |
| image: quay.io/prometheus/node-exporter:v0.18.1 |
| imagePullPolicy: IfNotPresent |
| ports: |
| - containerPort: 9100 |
| resources: |
| requests: |
| cpu: 0.15 |
| securityContext: |
| privileged: true |
| args: |
| - --path.procfs |
| - /host/proc |
| - --path.sysfs |
| - /host/sys |
| - --collector.filesystem.ignored-mount-points |
| - '"^/(sys|proc|dev|host|etc)($|/)"' |
| volumeMounts: |
| - name: dev |
| mountPath: /host/dev |
| - name: proc |
| mountPath: /host/proc |
| - name: sys |
| mountPath: /host/sys |
| - name: rootfs |
| mountPath: /rootfs |
| tolerations: |
| - key: "node-role.kubernetes.io/master" |
| operator: "Exists" |
| effect: "NoSchedule" |
| volumes: |
| - name: proc |
| hostPath: |
| path: /proc |
| - name: dev |
| hostPath: |
| path: /dev |
| - name: sys |
| hostPath: |
| path: /sys |
| - name: rootfs |
| hostPath: |
| path: / |
多增加了
| hostPID: true |
| hostIPC: true |
| hostNetwork: true |
启动
| kubectl apply -f node_export-namespace.yaml |
| kubectl apply -f . |
查看
| kubectl get pod -n ns-monitor -o wide |
| kubectl get svc -n ns-monitor |
访问
10.0.2.13
为宿主机的ip,31672
为node exporter service的port
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异