공부/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
위 명령어를 치면 아래와같이 나온다
/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가 뜨도록 스케줄링을 해주어야한다.