9.2. 자동 볼륨 분리를 위해 서비스 외부 테인트 추가
사전 요구 사항
- cluster-admin 권한으로 클러스터에 액세스합니다.
프로세스
비정상적인 노드 종료 후 노드에서 볼륨을 자동으로 분리할 수 있도록 하려면 다음을 수행합니다.
- 노드가 비정상으로 감지되면 작업자 노드를 종료합니다.
다음 명령을 실행하고 상태를 확인하여 노드가 종료되었는지 확인합니다.
oc get node <node name> 1
- 1
- <node name> = 무중단 종료 노드의 이름
중요노드가 완전히 종료되지 않으면 노드에 테인트를 진행하지 마십시오. 노드가 계속 작동 중이고 테인트가 적용되면 파일 시스템 손상이 발생할 수 있습니다.
다음 명령을 실행하여 해당 노드 오브젝트를 테인트합니다.
중요이렇게 하면 노드를 테인트하면 해당 노드의 모든 Pod가 삭제됩니다. 이로 인해 상태 저장 세트에서 지원하는 모든 Pod가 제거되고 다른 노드에서 Pod 교체도 생성됩니다.
oc adm taint node <node name> node.kubernetes.io/out-of-service=nodeshutdown:NoExecute 1
- 1
- <node name> = 무중단 종료 노드의 이름
테인트를 적용한 후 볼륨이 종료 노드에서 분리되므로 디스크를 다른 노드에 연결할 수 있습니다.
예제
결과 YAML 파일은 다음과 유사합니다.
spec: taints: - effect: NoExecute key: node.kubernetes.io/out-of-service value: nodeshutdown
- 노드를 재시작합니다.
다음 명령을 실행하여 해당 노드 오브젝트에서 테인트를 제거합니다.
oc adm taint node <node name> node.kubernetes.io/out-of-service=nodeshutdown:NoExecute- 1