我试图在Kubernetes管理的容器上运行DPDK L2FWD应用程序。
为了达到这个目的,我做了以下步骤-
来自ubuntu:16.04运行apt-get更新 运行apt-获取安装-y网络工具 运行apt-获取安装-y python 运行apt-获取安装-y kmod运行apt-获取安装-y iproute2 运行apt-获取安装-y net-tools ADD ./dpdk/ /home/sdn/dpdk/ WORKDIR /home/sdn/dpdk/
/mnt/巨大 /usr /lib /etc
下面是用于创建过氧化物酶的k8s部署
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
1. Huge page mounting.
2. Interface binding in user space.
root@dpdk 126:/home/sdn/dpdk#./ -q /l2fwd/-q 0x0f -p 0x03 -q 1 EAL:检测到16个lcore EAL:检测到1个NUMA节点 EAL:多进程套接字/var/run/dpdk/rte/mp_socket EAL:没有免费的hugepages报告-1048576kB EAL: 1007个尺寸为2097152的大页保留了,但没有为这个尺寸找到安装的大文件。 致命:无法获得漏电信息。 EAL:无法获取大漏电信息。 EAL:错误退出与代码:1 原因: EAL参数无效
发布于 2019-03-21 03:35:41
发布于 2022-11-14 08:29:59
首先,你必须确认,你的系统中有足够多的拥抱。使用kubectl
命令检查它:
kubectl describe nodes
在那里你可以看到这样的东西:
Capacity:
cpu: 12
ephemeral-storage: 129719908Ki
hugepages-1Gi: 0
hugepages-2Mi: 8Gi
memory: 65863024Ki
pods: 110
如果您的hugepages-2Mi
是空的,那么您的k8s就不会看到已安装的拥抱页
在将抱抱器安装到主机上后,您可以准备好您的吊舱,以便与拥抱一起工作。如您所示,您不需要安装hugepages文件夹。您可以这样简单地添加emptyDir卷:
volumes:
- name: hugepage-2mi
emptyDir:
medium: HugePages-2Mi
HugePages-2Mi
是一个特定的资源名称,它对应于2Mb大小的抱页。如果您想使用1Gb大小的巨型页,那么还有另一个资源- hugepages-1Gi
。
定义了卷之后,您可以在volumeMounts中使用它,如下所示:
volumeMounts:
- mountPath: /hugepages-2Mi
name: hugepage-2mi
还有一个额外的步骤。您必须为hugepages的使用定义资源限制:
resources:
limits:
hugepages-2Mi: 128Mi
memory: 128Mi
requests:
memory: 128Mi
在所有这些步骤之后,您可以在容器中使用run页运行您的容器。
正如@AdamTL所提到的,您可以找到其他信息这里。
https://stackoverflow.com/questions/55157142
复制相似问题