본문 바로가기
Come on IT/DevOps

bpf_jit 증가에 따른 seccomp 오류 해결 방법 (error loading seccomp filter)

by JONGSKY 2025. 1. 4.
728x90
SMALL

1. 글을 쓰게 된 계기

 

k8s와 docker 등을 수없이 여러번 올렸다 내렸다하는 작업을 진행하고

추후에 docker를 띄울려고 하니 seccomp 오류 등 각종 오류들이 나왔다.

 

이를 해결하는 방법에 대해 설명하고자 한다. (근본적인 해결방법은 아닌듯하다.)

 

Failed to create pod sandbox: rpc error: code = Unknown desc = failed to create containerd task: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: unable to init seccomp: error loading seccomp filter into kernel: error loading seccomp filter: errno 524: unknown

 

2. 해결 방법

 

단순한 해결 방법은 2가지가 존재한다.

 

첫번째는 bpf_jit_limit 을 올리는 방법이다.

 

sudo cat /proc/sys/net/core/bpf_jit_limit # 528482304

 

다음 명령어를 사용하면 최대 bpf_jit를 확인할 수 있는데 

 

sudo cat /proc/vmallocinfo | grep bpf_jit | awk '{s+=$2} END {print s}' # 769040384

 

최대 bpf_jit 보다 더 많은 메모리를 차지하고 있을 확률이 높다.

그래서 

 

sudo sysctl -w net.core.bpf_jit_limit=1073741824 # 1GB로 설정

 

최대 용량을 늘리는 방법이 있다.

 

영구적으로 설정하려면 /etc/sysctl.conf에 추가해야한다.

net.core.bpf_jit_limit=1073741824

 

 

두번째 방법은 docker를 재시작하는 것이다.

 

sudo systemctl restart docker

 

도커를 재시작하면 모든 컨테이너가 종료되고 재실행해야하니 참고해야한다.

(컨테이너 자체가 없어지는 것은 아님으로 다시 시작해주면 된다.)

 

도커를 재시작하면 seccomp와 BPF 설정은 초기화가 된다.

 

 

단, 해당 방법이 궁극적인 해결 방법이 아니다.

분명 bpf_jit 가 계속해서 늘어나고 있는데 이게 왜 늘어나고 누수가 생기는지 확인해야한다.

 

혹시 방법을 알고 있으신 분은 댓글로 주시면 감사드리겠습니다.

 

관련한 github issue들

 

Error running containers: Error loading seccomp filter into kernel · Issue #45498 · moby/moby

Description I have a server running some containers with docker-compose and the restart: always option, so when a container fails, Docker restarts it. The problem is since some months ago Docker sh...

github.com

 

 

Containers fail to create and probe exec errors related to seccomp on recent kernel-5.10 versions · Issue #1219 · awslabs/amaz

What happened: After upgrading EKS nodes from v20230203 to v20230217 on our 1.24 EKS clusters after a few days a number of the nodes have containers stuck in ContainerCreating state or liveness/rea...

github.com

 

 

728x90
LIST