5.8. 비정상적인 노드 종료 후 CSI 볼륨 분리


이 기능을 사용하면 노드가 비정상적으로 중단될 때 CSI(Container Storage Interface) 드라이버가 볼륨을 자동으로 분리할 수 있습니다.

5.8.1. 개요

kubelet의 노드 종료 관리자가 예정된 노드 종료 작업을 감지하면 정상 노드 종료가 발생합니다. 비정상적인 종료는 kubelet에서 노드 종료 작업을 감지하지 못하면 시스템 또는 하드웨어 오류로 인해 발생할 수 있습니다. 또한 shutdown 명령이 Linux에서 kubelet에서 사용하는 Inhibitor Locks 메커니즘을 트리거하지 않거나 예를 들어 shutdownGracePerioiod 및 shutdownGracePeriodCriticalPods 세부 정보가 올바르게 구성되지 않은 경우 kubelet에서 노드 종료 작업을 감지하지 못할 수 있습니다.

이 기능을 사용하면 비정상적인 노드 종료가 발생하면 노드에서 볼륨이 자동으로 분리될 수 있도록 노드에 out-of-service 테인트를 수동으로 추가할 수 있습니다.

5.8.2. 자동 볼륨 분리를 위해 서비스 외부 테인트 추가

사전 요구 사항

  • cluster-admin 권한으로 클러스터에 액세스합니다.

프로세스

비정상적인 노드 종료 후 노드에서 볼륨을 자동으로 분리할 수 있도록 하려면 다음을 수행합니다.

  1. 노드가 비정상으로 감지되면 작업자 노드를 종료합니다.
  2. 다음 명령을 실행하고 상태를 확인하여 노드가 종료되었는지 확인합니다.

    oc get node <node name> 1
    1
    <node name> = 무중단 종료 노드의 이름
    중요

    노드가 완전히 종료되지 않으면 노드에 테인트를 진행하지 마십시오. 노드가 계속 작동 중이고 테인트가 적용되면 파일 시스템 손상이 발생할 수 있습니다.

  3. 다음 명령을 실행하여 해당 노드 오브젝트를 테인트합니다.

    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
  4. 노드를 재시작합니다.
  5. 테인트를 제거합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.