공부/Kubernetes

k8s kubelet forbidden sysctl: not whitelisted 에러 해결

토고미 2022. 7. 18. 14:52

kafkaconnect의 커널 파라미터 설정을 하는데 kubelet에 의해 다음과 같은 에러가 발생했다.

forbidden sysctl: "net.ipv4.tcp_retries2" not whitelisted

kubelet은 default로 몇몇 sysctl은 허용하지만, 위험한 sysctl은 막는다.

 

따라서 kubelet 설정에 해당 sysctl을 허용해주어야 한다.

 

1.  Kubelet 설정 파일 위치 찾기

systemctl status kubelet

위 명령어를 치면 아래와같이 나온다

systemctl status kubelet

/var/lib/kubelet/config.yaml에 위치하는 것을 알 수 있다.

2.  allowedUnsafeSysctls 추가

해당 파일을 연 후 아래와 같이 수정한다.

apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
...
allowedUnsafeSysctls:
- "net.ipv4.tcp_retries2"

3. Kubelet 재기동

그리고 kubelet을 재기동한다.

systemctl status kubelet

 

당연하지만 모든 노드의 kubelet에 설정을 해주거나,

이 설정을 추가한 노드에 pod가 뜨도록 스케줄링을 해주어야한다.