File Storage for VPC 에 접속할 때 왜 ‘ MetadataServiceNotEnabled ’ 오류가 표시되나요?
가상 사설 클라우드
File Storage for VPC 와 함께 전송 중 암호화(EIT)를 사용 중일 때, 포드 또는 PVC에서 ‘ MetadataServiceNotEnabled ’ 오류가 발생하는 경우, 이 주제를 참고하여 원인을 파악하고 해결하십시오.
File Storage for VPC 와 함께 전송 중 암호화(EIT)를 사용하면, 해당 파드 또는 PVC에서 ‘ MetadataServiceNotEnabled ’ 오류가 발생하며 실패합니다.
팟 이벤트나 describe 출력 결과에서 다음과 같은 예시와 유사한 오류 메시지가 표시됩니다:
Code: MetadataServiceNotEnabled,
Description: Failed to mount target.,
Action: Metadata service might not be enabled for worker node.
Make sure to use IKS>=1.30 or ROKS>=4.16 cluster.
이 오류는 EIT 마운트 프로세스가 169.254.169.254 에서 인스턴스 메타데이터 서비스에 접속을 시도했으나 응답을 받지 못했음을 의미합니다. 두 가지 별개의 근본 원인이 있습니다. 두 가지 모두 확인해 보십시오.
문제 해결
다음의 근본 원인을 확인해 보십시오.
근본 원인 A — 클러스터 버전이 너무 오래됨
EIT를 사용하려면 ROKS 버전 4.16 이 이상이어야 합니다. 구형 클러스터에서는 워크로드가 메타데이터 서비스 엔드포인트를 사용할 수 없습니다.
현재 클러스터 버전을 확인하여 클러스터가 최소 요구 사항을 충족하는지 확인하십시오. 출력 결과에는 “ Pending ” 또는 “ normal ” 상태와 “ Kubernetes ” 버전이 표시됩니다.
ibmcloud ks cluster get --cluster CLUSTER_ID | grep "Version"
해결 방법: 클러스터를 ROKS 버전 4.16 이상으로 업그레이드하십시오.
근본 원인 B — ‘기본적으로 보안이 적용된’ 클러스터에 메타데이터 아웃바운드 규칙이 누락되어 있습니다
169.254.169.254 '기본적으로 보안 적용(Secure by Default)' 클러스터의 경우, kube-<clusterID> 으로의 아웃바운드 트래픽은 보안 그룹에 명시적인 아웃바운드 규칙이 추가되지 않는 한 차단됩니다. 이 규칙이 없으면, 지원되는 클러스터 버전에서도 EIT 프로세스가 메타데이터 서비스에 접근할 수 없습니다.
이 규칙은 버전 4.18 이상의 ROKS 클러스터에 자동으로 추가됩니다. 이전 버전의 클러스터의 경우, 해당 규칙을 수동으로 추가하십시오.
-
발신 규칙이 이미 있는지 확인하십시오. 명령어 실행 결과 “
169.254.169.254”가 포함된 행이 반환된다면, 해당 규칙이 존재하므로 이것이 원인은 아닙니다.ibmcloud is sg kube-CLUSTER_ID | grep 169.254.169.254 -
규칙이 없다면 추가하십시오.
ibmcloud is sg-rulec kube-CLUSTER_ID outbound \ --protocol all \ --remote 169.254.169.254또는 IBM Cloud UI의 ‘VPC 인프라 > 보안 그룹 >
kube-<clusterID>> 아웃바운드 규칙’에서 다음 값을 사용하여 규칙을 추가하십시오:메타데이터 서비스 액세스를 위한 아웃바운드 규칙 값 필드 값 프로토콜 임의 소스 유형 임의 소스 0.0.0.0/0대상 169.254.169.254 -
규칙을 추가한 후, 오류가 발생한 포드를 다시 실행해 보세요. 노드를 재시작할 필요가 없습니다.
두 가지 확인 사항을 모두 수행한 후에도 문제가 지속되면, IBM Cloud 컨테이너 스토리지 팀에 지원 티켓을 제출해 주십시오.