Amazon Elastic Kubernetes Service(Amazon EKS) 노드의 nf_conntrack_max 할당량을 늘리고 싶습니다.
해결 방법
현재 nf_conntrack_max 값 확인
다음 단계를 완료하십시오.
- SSH 또는 AWS Systems Manager의 기능인 Session Manager를 사용하여 워커 노드에 연결합니다.
- 다음 명령을 실행하여 현재 nf_conntrack_max 값을 가져옵니다.
cat /proc/sys/net/netfilter/nf_conntrack_max
kube-proxy ConfigMap 수정
다음 단계를 완료하십시오.
-
다음 명령을 실행하여 kube-proxy-config ConfigMap을 편집합니다.
kubectl edit configmap kube-proxy-config -n kube-system
-
conntrack에서 min 값을 늘립니다.
conntrack:
maxPerCore: 32768
min: 131072
참고: 예시 값을 원하는 값으로 바꾸십시오. nf_conntrack_max 값을 **max(min, maxPerCore * number_of_CPU_cores)**로 계산합니다. 예를 들어 CPU 코어가 2개인 노드에서 min을 131072로, maxPerCore를 32768로 설정합니다. nf_conntrack_max 값은 131072가 됩니다. 32768에 2를 곱한 값보다 131072가 크기 때문입니다.
-
변경 사항을 저장한 다음 편집기를 닫습니다.
kube-proxy DaemonSet 다시 시작
ConfigMap을 수정한 후 다음 명령을 실행하여 kube-proxy DaemonSet을 다시 시작하여 변경 사항을 적용합니다.
kubectl rollout restart daemonset kube-proxy -n kube-system
nf_conntrack_max 값이 업데이트되었는지 확인
중요: nf_conntrack_max를 늘리면 노드 메모리 사용량이 증가합니다. 각 연결 추적 항목은 약 300바이트의 메모리를 사용합니다. 메모리를 충분히 할당했는지 확인하십시오.
다음 단계를 완료하십시오.
- SSH 또는 Session Manager를 사용하여 워커 노드에 연결합니다.
- 다음 명령을 실행하여 nf_conntrack_max 값이 업데이트되었는지 확인합니다.
cat /proc/sys/net/netfilter/nf_conntrack_max
관련 정보
Kubernetes kube-proxy 자체 관리형 추가 기능 업데이트
Amazon EKS 클러스터용 네트워킹 추가 기능 관리
Kubernetes 웹 사이트의 kube-proxy
AWS Systems Manager Session Manager