11.4. 在 DPU 上运行工作负载
在 DPU 上运行工作负载,可以将特定的基础架构任务卸载,如网络、安全性和存储到专用处理单元。这提高了性能,在基础架构和应用程序工作负载之间强制实施更强大的安全边界,并释放主机 CPU 资源。
11.4.1. 在 DPU 上运行工作负载 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
按照以下步骤在 DPU 上部署工作负载。
先决条件
-
已安装 OpenShift CLI (
oc)。 -
具有
cluster-admin权限的帐户。 - 已安装 DPU Operator。
流程
使用以下 YAML 在主机端创建示例工作负载,将文件保存为
workload-host.yaml:apiVersion: v1 kind: Pod metadata: name: my-pod namespace: default annotations: k8s.v1.cni.cncf.io/networks: default-sriov-net spec: nodeSelector: kubernetes.io/hostname: worker-2371 containers: - name: appcntr1 image: registry.access.redhat.com/ubi9/ubi:latest command: ['/bin/sh', '-c', 'sleep infinity'] imagePullPolicy: Always securityContext: priviledged: true runAsNonRoot: false runAsUser: 0 seccompProfile: type: RuntimeDefault resources: requests: openshift.io/dpu: '1' limits: openshift.io/dpu: '1'- 1
- 部署工作负载的节点的名称。
运行以下命令来创建工作负载:
$ oc apply -f workload-host.yaml
11.4.2. 在 DPU 上创建服务功能链 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
网络服务链(也称为服务功能链(SFC))是一种使用软件定义型网络(SDN)功能创建连接的网络服务链的功能,如防火墙、网络地址转换(NAT)和入侵保护。
按照此流程,在 DPU 上的服务功能链中创建网络功能 my-network-function。
先决条件
-
安装 OpenShift CLI(
oc)。 -
具有
cluster-admin特权的帐户。 - 安装 DPU Operator。
流程
将以下 YAML 文件示例保存为
sfc.yaml:apiVersion: config.openshift.io/v1 kind: ServiceFunctionChain metadata: name: sfc namespace: openshift-dpu-operator spec: networkFunctions: - name: my-network-function1 image: quay.io/example-org/my-network-function:latest2 在 DPU 节点上运行以下命令来创建链:
$ oc apply -f sfc.yaml