컨테이너 스토리지 인터페이스 드라이버 제품군: 노드가 다운되면 노드에 연결된 블록 볼륨을 다른 노드에 연결할 수 없습니다.
摘要: 노드 충돌, 노드 다운, 전원 끄기 시나리오로 인해 노드가 다운되면 노드에 연결된 블록 볼륨을 다른 노드에 연결할 수 없습니다.
本文适用于
本文不适用于
本文并非针对某种特定的产品。
本文并非包含所有产品版本。
症状
노드 충돌, 노드 다운, 전원 끄기 시나리오로 인해 노드가 다운되면 노드에 연결된 블록 볼륨을 다른 노드에 연결할 수 없습니다.
이 문제는 블록 볼륨에만 적용됩니다.
이 문제는 NFS 볼륨에 대해 표시되지 않습니다.
이 문제는 다음과 같은 요인에 영향을 미칩니다.
- PowerFlex용 CSI 드라이버
- PowerMax용 CSI 드라이버
- PowerScale용 CSI 드라이버
- Unity용 CSI 드라이버
이 문제는 PowerStore용 CSI 드라이버에 영향을 주지 않습니다.
문제는 GitHub #282
재현 단계에 보고됩니다.
- PVC1을 생성하고 POD1을 생성합니다.
- POD1이 생성된 노드를 확인하고 vSphere에서 노드의 전원을 끕니다.
- 노드가 준비되지 않은 경우 POD1을 삭제해 보십시오(노드가 준비되지 않았기 때문에 종료 상태가 중단됨).
- 동일한 PVC1을 사용하여 POD2를 생성해 보십시오. POD2는 컨테이너 생성 상태에 있으며 이 오류는 설명 출력에 있습니다.
Warning FailedAttachVolume 43s attachdetach-controller Multi-Attach error for volume "csivol-18eb3daee0" Volume is already used by pod(s) iscsipod1-p
예상 결과: 노드가 준비되지 않은 경우에도 POD가 삭제됩니다.
결과: POD가 준비되지 않은 노드로 인해 종료 상태가 중단되었습니다.
아래 출력은 컨테이너 생성에서 원래 포드가 종료되고 새 포드가 중단된 것을 보여줍니다.
kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES iscsipod1-p 1/1 Terminating 0 9m43s iscsipod2-p 0/1 ContainerCreating 0 55s
다음 명령을 실행하면 노드가 준비되지 않음이 표시됩니다.
kubectl get nodes
NAME STATUS ROLES AGE VERSION
Node1 Ready control-plane,master 163d v1.23.0
Node2 Ready 162d v1.23.0
Node3 NotReady 162d v1.23.0
다음 명령은 PVC가 여전히 PV에 바인딩되어 있음을 보여줍니다.
kubectl get pvc -n NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE iscsipvc1-p Bound csivol-18eb3daee0 5Gi RWO powerstore-iscsi 10m
다음 명령을 실행하면 경고가 표시됩니다.
kubectl describe pod -n
...
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 108s default-scheduler Successfully assigned default/iscsipod2-p to lglw3178
Warning FailedAttachVolume 108s attachdetach-controller Multi-Attach error for volume "csivol-18eb3daee0" Volume is already used by pod(s) iscsipod1-p
原因
解决方案
해결 방법:
이제 볼륨을 새 노드에 연결할 수 있습니다.
해결 방법:
수정 사항이 릴리스되면 이 솔루션이 업데이트됩니다.
- 중단된 노드에서 실행 중인 포드를 강제로 삭제합니다.
kubectl delete po --force --grace-period=0
- 다운된 노드에 대한 볼륨 첨부 파일을 삭제합니다.
kubectl delete volumeattachment
이제 볼륨을 새 노드에 연결할 수 있습니다.
해결 방법:
수정 사항이 릴리스되면 이 솔루션이 업데이트됩니다.
文章属性
文章编号: 000200778
文章类型: Solution
上次修改时间: 07 7月 2023
版本: 8
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。