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


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

중요

비정상적인 노드 종료 후 CSI 볼륨 분리는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

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.