다음을 통해 공유


"인수 목록이 너무 깁니다." 오류 메시지로 인한 애플리케이션 오류

이 문서에서는 AKS(Microsoft Azure Kubernetes Service)의 "인수 목록이 너무 깁니다." 오류 메시지로 인해 발생하는 애플리케이션 오류를 해결하기 위한 문제 해결 전략에 대해 설명합니다.

증상

kubelet실행 파일을 실행하려고 하면 애플리케이션이 실패하고 다음 출력과 유사한 오류 메시지가 표시됩니다.

standard_init_linux.go:228: exec 사용자 프로세스가 발생했습니다. 인수 목록이 너무 깁니다.

원인 1: 실행 파일에 제공된 인수 목록이 너무 깁니다.

애플리케이션의 실행 파일에 제공된 인수가 너무 길어 처리할 수 없습니다.

해결 방법: 인수 목록 단축

실행 파일에 대해 지정한 중복 또는 불필요한 인수를 제거합니다.

원인 2: 실행 파일에 제공된 환경 변수 집합이 너무 큽니다.

하나의 네임스페이스에 너무 많은 서비스가 배포되면 환경 변수 목록이 너무 커질 수 있으며 kubelet은 실행 파일을 실행하려고 할 때 오류 메시지를 생성합니다. kubelet이 각 활성 서비스에 대한 호스트 및 포트를 기록하는 환경 변수를 추가하여 서비스에서 이 정보를 사용하여 다른 활성 서비스를 찾을 수 있기 때문에 오류가 발생합니다.

해결 방법 1: 활성 상태인 서비스 수 줄이기

총 활성 서비스 수를 줄여 kubelet에서 더 적은 수의 전체 환경 변수를 추가할 수 있습니다.

솔루션 2: 서비스 호스트 및 포트에 대한 환경 변수를 추가하지 않도록 kubelet 다시 구성

PodSpec Core API 내에서 필드를 enableServiceLinks.로 설정합니다false. 이 변경은 호스트 및 포트가 각 활성 서비스에 대한 환경 변수로 자동으로 추가되지 않도록 kubelet 동작을 다시 구성합니다.

Warning

서비스가 이러한 환경 변수를 사용하여 다른 서비스를 찾는 경우 이 필드 변경으로 인해 서비스가 실패합니다. 이 시나리오를 방지하려면 CoreDNS를 사용하여 환경 변수 대신 서비스 검색에 DNS를 사용합니다.

타사 정보 고지 사항

이 문서에 나와 있는 다른 공급업체 제품은 Microsoft와 무관한 회사에서 제조한 것입니다. Microsoft는 이들 제품의 성능이나 안정성에 관하여 명시적이든 묵시적이든 어떠한 보증도 하지 않습니다.

도움을 요청하십시오.

질문이 있는 경우 Azure 커뮤니티 지원을 요청할 수 있습니다. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.