1. 前言

本文档提供的信息属于上海燧原科技有限公司和/或其子公司(以下统称“燧原”)所有,且燧原保留不经通知随时对本文档信息或对任何产品和服务做出修改的权利。本文档所含信息和本文档所引用燧原其他信息均“按原样”提供。燧原不担保信息、文本、图案、链接或本文档内所含其他项目的准确性或完整性。燧原不对本文档所述产品的可销售性、所有权、不侵犯知识产权、准确性、完整性、稳定性或特定用途适用性做任何暗示担保、保证。燧原可不经通知随时对本文档或本文档所述产品做出更改,但不承诺更新本文档。

在任何情况下,燧原不对因使用或无法使用本文档而导致的任何损害(包括但不限于利润损失、业务中断和信息损失等损害)承担责任。燧原不承担因应用或使用本文档所述任何产品或服务而产生的任何责任。

本文档所列的规格参数、性能数据和等级需使用特定芯片或计算机系统或组件来测量。经该等测试,本文档所示结果反映了燧原产品的大概性能。系统配置及软硬件版本、环境变量等的任何不同会影响实际性能,产品实际效果与文档描述存在差异的,均属正常现象。燧原不担保测试每种产品的所有参数。客户自行承担对产品适合并适用于客户计划的应用以及对应用程序进行必要测试的责任。客户产品设计的脆弱性会影响燧原产品的质量和可靠性并导致超出本文档范围的额外或不同的情况和/或要求。

燧原和燧原的标志是上海燧原科技有限公司申请和/或注册的商标。本文档并未明示或暗示地授予客户任何专利、版权、商标、集成电路布图设计、商业秘密或任何其他燧原知识产权的权利或许可。

本文档为版权所有并受全世界版权法律和条约条款的保护。未经燧原的事先书面许可,任何人不可以任何方式复制、修改、出版、上传、发布、传输或分发本文档。为免疑义,除了允许客户按照本文档要求使用文档相关信息外,燧原不授予其他任何明示或暗示的权利或许可。

燧原对本文档享有最终解释权。

1.1. 版本申明

版本 修改内容 修改时间
v1.0 初始化 6/25/2023

2. 前言

Node Feature Discovery是一款部署在k8s集群上的用于检测硬件功能和系统配置的 Kubernetes 插件。

3. 部署示例

3.1. 部署要求

  • 安装docker

  • k8s集群版本高于1.8

  • 集群中安装了GCU驱动

  • 集群中安装了Enflame Container Toolkit

  • 集群中安装了Enflame K8s Device Plugin

3.2. 制作NFD组件镜像

在topscloud的release包中,打开NFD的目录:

node-feature-discovery_<VERSION>
├── bin
│   ├── nfd-master
│   ├── nfd-topology-updater
│   └── nfd-worker
├── docker
│   └── Dockerfile.ubuntu
├── build-image.sh
└── README.md


执行build-image.sh脚本一键构建GFD组件镜像:

node-feature-discovery_<VERSION> # ./build-image.sh
1. Clear old image if exist
Untagged: artifact.enflame.cn/enflame_docker_images/enflame/node-feature-discovery:v0.11.3
Deleted: sha256:a3ede8c067a2fb2ecfe8aab016e9d0f66a6e168926fbc62fa1d085b777178173
Deleted: sha256:12d3407af379fc022d3958babf676f0e86b13e8cd80ca8afc35294affceae3ca
Deleted: sha256:f757643fb311599cb891599084aae1c48bde3f7a3e176c452c69247013df8ca1
Deleted: sha256:7c0d2f44881b15bc63601eb2e450da8684c5a9f8eb1a6698516b1911974711b1
2. Build image start...
image name:artifact.enflame.cn/enflame_docker_images/enflame/node-feature-discovery, image version:v0.11.3
Sending build context to Docker daemon  239.9MB
Step 1/4 : FROM ubuntu:18.04
 ---> 35b3f4f76a24
Step 2/4 : WORKDIR .
 ---> Running in 2749e3269b4c
Removing intermediate container 2749e3269b4c
 ---> 8e4cf8612d30
Step 3/4 : ENV GRPC_GO_LOG_SEVERITY_LEVEL="INFO"
 ---> Running in 21a1b383e724
Removing intermediate container 21a1b383e724
 ---> 32e8e3254fd0
Step 4/4 : COPY ./bin/* /usr/bin/
 ---> 4e89e248dfc1
Successfully built 4e89e248dfc1
Successfully tagged artifact.enflame.cn/enflame_docker_images/enflame/node-feature-discovery:v0.11.3
build image success
3. save image to ./images

3.3. 部署使用

当前node-feature-discovery通过 gcu-operator_2.0 进行部署,在构建好node-feature-Discovery的镜像后,可以通过gcu-operator进行部署。相应过程可以参考《gcu_operator_2.0用户使用手册》。

4. 自定义node-feature-discovery镜像名称

build-image.sh 里默认的镜像路径与名称为: artifact.enflame.cn/enflame_docker_images/enflame/node-feature-discovery:v0.11.3,如下:

ORIGIN_NAME="node-feature-discovery"
VERSION="v0.11.3"
REPO="artifact.enflame.cn/enflame_docker_images/enflame"

可以根据自己的需要自定义这个镜像路径与名称。

5. node-feature-discovery功能介绍

topscloud里的node-feature-discovery与开源版本100%兼容,其他相关介绍见文档:

https://kubernetes-sigs.github.io/node-feature-discovery/stable/get-started/index.html