GKE 노드 접근 불가 현상 관련하여 질문드립니다

안녕하세요! GKE 노드 접근 불가해서 클러스터를 점검하다 보니 일부 노드에서 다음과 같은 경고 메시지가 뜬 것을 발견했습니다.

# kubectl get events --field-selector reason=ReadOnlyLocalSSDDetected -o wide
LAST SEEN   TYPE      REASON                     OBJECT                                               SUBOBJECT   SOURCE                                                             MESSAGE   FIRST SEEN   COUNT   NAME
65s         Warning   ReadOnlyLocalSSDDetected   node/gke-gke-prod-default-pool-7d8bb171-18fr                     device-fs-monitor, gke-gke-prod-default-pool-7d8bb171-18fr                   2d1h         591     gke-gke-prod-default-pool-7d8bb171-18fr.184705eee46860dd
3m17s       Warning   ReadOnlyLocalSSDDetected   node/gke-gke-prod-default-pool-7d8bb171-jlnj                     device-fs-monitor, gke-gke-prod-default-pool-7d8bb171-jlnj                   2d1h         591     gke-gke-prod-default-pool-7d8bb171-jlnj.184705d021a81a4d
3m30s       Warning   ReadOnlyLocalSSDDetected   node/gke-gke-prod-default-pool-7d8bb171-zhh7                     device-fs-monitor, gke-gke-prod-default-pool-7d8bb171-zhh7                   2d1h         590     gke-gke-prod-default-pool-7d8bb171-zhh7.18470612d8393973
3m48s       Warning   ReadOnlyLocalSSDDetected   node/gke-gke-prod-fmcbackendzip-pool-c9039ff2-shzk               device-fs-monitor, gke-gke-prod-fmcbackendzip-pool-c9039ff2-shzk             5d2h         1473    gke-gke-prod-fmcbackendzip-pool-c9039ff2-shzk.18461522078766af

출력된 결과를 보면 Read Only Local SSD Detected 경고가 계속 발생하고 있더라고요.
디바이스가 read-only 상태로 전환된 것처럼 보여요. 문제는, 이 노드들에 접근 자체가 안 됩니다.. :smiling_face_with_tear:
GCP Cloud Shell을 이용해 접속을 시도했는데도 실패했고 오류 메시지가 이렇게 뜹니다.

Error occurred: Pod creation timed outfailed to open a node shell: failed to create node pod

이상한 건 같은 환경 내에 비슷한 접속 불가 이슈가 있는 다른 노드도 있는데, 그 노드는 SSD read-only 경고가 뜨지 않았습니다.
IAM 권한 문제인가 싶어서 확인도 해봤는데, 권한 쪽 문제는 아닌 것 같고요…!

혹시 저처럼 이런 이슈 겪으신 분 계신가요? ㅠㅠ 노드를 리사이클하면 해결되는 문제일까요..
아니면 로컬 SSD를 다시 붙이는 다른 방법이 있을지 궁금합니다.
감사합니다.

2 Likes

[CloudBro AI Bot Response]
안녕하세요! GKE에서 노드의 Local SSD가 read-only 상태로 전환되고, 동시에 노드 접근 자체가 불가한 현상은 꽤 자주 발생하는 이슈 중 하나입니다. 자세한 설명과 함께 해결 방안을 안내드릴게요.

  1. ReadOnlyLocalSSDDetected 경고 의미
    이 경고는 GKE 노드에 연결된 Local SSD가 파일 시스템 레벨에서 read-only로 전환되었음을 의미합니다. 보통 하드웨어 장애, 파일 시스템 손상, 또는 SSD 수명 종료(wear-out) 등으로 인해 발생할 수 있습니다. 이 상태가 되면 해당 SSD를 사용하는 파드들이 제대로 동작하지 않거나, 심하면 노드 전체가 불안정해질 수 있습니다.

  2. 노드 접근 불가 현상
    Local SSD가 read-only로 바뀌면서 노드의 OS 레벨에서 파일 시스템 오류가 발생하고, 이로 인해 ssh나 Cloud Shell 등으로 노드에 접근 자체가 불가능해질 수 있습니다. 특히, GKE의 node shell 기능도 내부적으로 파드를 생성해 접근하는 방식이기 때문에, 파드 생성 자체가 실패하면 접근이 안 되는 것이 정상입니다.

  3. 다른 노드도 접근 불가인데 SSD 경고가 없는 경우
    이 경우는 네트워크, OS, Kubelet 등 다른 원인일 수도 있습니다. 하지만 SSD read-only 문제와는 별개로, 노드 불안정성이 클러스터 내에 퍼져 있을 가능성이 있습니다.

  4. 권한 문제는 아님
    IAM 권한 문제가 아니라는 점을 확인하셨으니, 인프라 자체의 문제로 보입니다.

  5. 해결 방법

    • 노드 리사이클(삭제 후 새로 생성): GKE에서 문제가 발생한 노드를 cordon/drain 후 삭제하면, 자동으로 새로운 노드가 생성되며 대부분의 경우 문제가 해결됩니다. Local SSD는 ephemeral storage이기 때문에, 노드 삭제 시 데이터가 사라지니 주의하세요.
    • Local SSD 복구: GCP에서는 Local SSD가 read-only로 바뀌면 복구가 불가능하다고 공식 문서에 나와 있습니다. (참고: GCP 공식 문서 - Local SSD Troubleshooting) 따라서, 단순히 다시 붙이거나 포맷해서 재사용하는 것은 지원되지 않습니다.
    • 자동화: 이런 장애가 반복된다면, node auto-repair 기능을 활성화하거나, node pool의 업그레이드/재생성 정책을 점검해보세요.
  6. 참고 자료

추가로 궁금하신 점 있으면 언제든 질문 주세요!

1 Like