我正在尝试在Kubernetes管理的容器上运行DPDK L2FWD应用程序。
要实现这一点,我已经完成了以下步骤-
我创建了单节点K8s设置,其中主机和客户端都在主机上运行。作为网络插件,我使用了Calico Network。
要创建自定义的DPDK docker映像,我使用了以下Dockerfile
从ubuntu:16.04运行apt获取更新
运行apt-get install -y net-tools
运行apt-get install -y python
运行apt-get install -y kmod 运行apt-get install -y iproute2
运行apt-get install -y net-tools 添加./dpdk/ / home / sdn / dpdk /
WORKDIR / home / sdn / dpdk /
/ mnt / huge
/ usr
/ lib
/ etc
下面是用于创建POD的k8s部署Yaml
apiVersion: v1
kind: Pod
metadata:
name: dpdk-pod126
spec:
containers:
- name: dpdk126
image: dpdk-test126
imagePullPolicy: IfNotPresent
command: ["/bin/sh"]
args: ["-c", "while true; do echo hello; sleep 10;done"]
resources:
requests:
memory: "2Gi"
cpu: "100m"
volumeMounts:
- name: hostvol1
mountPath: /mnt/huge
- name: hostvol2
mountPath: /usr
- name: hostvol3
mountPath: /lib
- name: hostvol4
mountPath: /etc
securityContext:
privileged: true
volumes:
- name: hostvol1
hostPath:
path: /mnt/huge
- name: hostvol2
hostPath:
path: /usr
- name: hostvol3
hostPath:
path: /home/sdn/kubernetes-test/libtest
- name: hostvol4
hostPath:
path: /etc
以下配置已在主机中完成-
成功创建POD之后,尝试在POD中运行DPDK L2FWD应用程序时,出现以下错误-
root @ dpdk-pod126:/ home / sdn / dpdk#./examples/l2fwd/build/l2fwd -c 0x0f--p 0x03 -q 1
EAL:检测到16个lcore
EAL:检测到1个NUMA节点
EAL:多进程套接字/ var / run / dpdk / rte / mp_socket
EAL:largepages-1048576kB中未报告免费的庞大页面
EAL:保留了1007个2097152大小的大页面,但未找到该大小的已装载hugetlbfs
EAL:致命:无法获取大量信息。
EAL:无法获取大量页面信息。
EAL:错误-退出,代码为1
原因:无效的EAL参数
答案 0 :(得分:0)
根据this,您可能会丢失
@tf.function
来自您庞大的页面量。
此外,巨大的页面可能有点精致。您能否提供以下内容的输出:
#model,loss, and optimizer defined previously
@tf.function
def train_step(features, labels):
with tf.GradientTape() as tape:
predictions = model(features)
loss_value = loss(labels, predictions)
gradients = tape.gradient(loss, model.trainable_variables)
optimizer.apply_gradients(zip(gradients, model.trainable_variables))
return loss_value
for features, labels in dataset:
lv = train_step(features, label)
print("loss: ", lv)
并检查playerLayer.videoGravity = .resizeAspectFill
中是否有文件?
也许this可能会有所帮助。您能以某种方式检查是否将大页装入为medium: HugePages
吗?