블록 스토리지가 읽기 전용으로 변경되는 이유는 무엇입니까?
읽기 전용 상태가 된 블록 스토리지 볼륨의 문제 해결.
가상 사설 클라우드 클래식 인프라
다음과 같은 증상이 표시될 수 있습니다.
oc get pods -o wide를 실행할 때 동일한 작업자 노드에 있는 여러 팟(Pod)이 계속ContainerCreating또는CrashLoopBackOff상태에 있습니다. 이러한 모든 팟(Pod)은 동일한 블록 스토리지 인스턴스를 사용합니다.oc describe pod명령을 실행할 때 이벤트 섹션에MountVolume.SetUp failed for volume ... read-only오류가 표시됩니다.
팟(Pod)이 볼륨에 기록하는 동안 네트워크 오류가 발생하면 IBM Cloud 인프라는 볼륨을 읽기 전용 모드로 변경하여 볼륨에 있는 데이터가 손상되지 않도록 보호합니다. 이 볼륨을 사용하는 팟(Pod)은 볼륨에 계속 쓸 수 없으며 실패합니다.
플러그인 버전을 확인하고, 앱을 다시 생성한 다음, 워커 노드를 안전하게 재시작하세요.
- 클러스터에 설치한 IBM Cloud Block Storage 플러그인 버전을 확인하십시오.
helm list --all-namespaces - 최신 IBM Cloud Block Storage 플러그인 버전을 사용하는지 확인하십시오. 그렇지 않은 경우에는 플러그인을 업데이트하십시오.
- 팟(Pod)에 대해 Kubernetes 배치를 사용한 경우 팟(Pod)을 제거하고 Kubernetes가 이를 다시 작성하도록 하여 실패한 팟(Pod)을 다시 시작하십시오. 배치를 사용하지 않은 경우
oc get pod <pod_name> -o yaml >pod.yaml을 실행하여 팟(Pod)을 작성하는 데 사용된 YAML 파일을 검색하십시오. 그런 다음, 팟(Pod)을 삭제하고 수동으로 다시 작성하십시오.oc delete pod <pod_name> - 팟(Pod)을 다시 작성하여 문제가 해결되는지 여부를 확인하십시오. 그렇지 않으면, 작업자 노드를 다시 로드하십시오.
- 팟(Pod)이 실행되는 작업자 노드를 찾아 작업자 노드에 지정된 사설 IP 주소를 기록해 두십시오.
oc describe pod <pod_name> | grep Node ``` 출력 예: ```sh {: screen} Node: 10.75.XX.XXX/10.75.XX.XXX Node-Selectors: <none> ``` 2. 이전 단계의 사설 IP 주소를 사용하여 작업자 노드의 **ID**를 검색하십시오. ```sh {: pre} ibmcloud oc worker ls --cluster CLUSTER_NAME_OR_ID ``` 3. 안전하게 [작업자 노드를 다시 로드하십시오](/docs/openshift?topic=openshift-kubernetes-service-cli#worker-reload-cli).