OpenShift AI 관리


Red Hat OpenShift AI Cloud Service 1

OpenShift AI 관리를 위한 클러스터 관리자 작업

초록

OpenShift 클러스터 관리자는 OpenShift AI 사용자 및 그룹, 대시보드 인터페이스 및 애플리케이션, 배포 리소스, 가속기, 분산 워크로드 및 데이터 백업을 관리합니다.

머리말

OpenShift 클러스터 관리자는 다음 Red Hat OpenShift AI 리소스를 관리할 수 있습니다.

  • 사용자 및 그룹
  • 탐색 메뉴 옵션의 가시성을 포함한 대시보드 인터페이스
  • 대시보드에 표시되는 애플리케이션
  • Red Hat OpenShift AI Operator와 관련된 사용자 정의 배포 리소스(예: CPU 및 메모리 제한 및 요청)
  • 가속기
  • 분산 워크로드
  • 데이터 백업

1장. 사용자 및 그룹 관리

OpenShift에 대한 클러스터 관리자 액세스 권한이 있는 사용자는 Red Hat OpenShift AI에 대한 사용자 권한을 추가, 수정, 제거할 수 있습니다.

1.1. 사용자 유형 및 권한 개요

표 1은 Red Hat OpenShift AI 사용자 유형을 설명합니다.

Expand
표 1.1. 사용자 유형
사용자 유형권한

사용자

머신러닝 운영(MLOps) 엔지니어와 데이터 과학자는 워크벤치 및 데이터 사이언스 파이프라인과 같은 Red Hat OpenShift AI의 개별 구성 요소에 액세스하고 사용할 수 있습니다. OpenShift AI 대시보드 액세스 도 참조하십시오.

관리자

관리자는 사용자에게 허용되는 작업 외에도 다음 작업을 수행할 수 있습니다.

  • Red Hat OpenShift AI 설정을 구성합니다.
  • 노트북 서버에 액세스 및 관리합니다.
  • 모든 데이터 사이언스 프로젝트에 대한 데이터 사이언스 파이프라인 애플리케이션에 액세스하고 관리합니다.

기본적으로 모든 OpenShift 사용자는 Red Hat OpenShift AI에 액세스할 수 있습니다. 또한 OpenShift 관리자 그룹(클러스터관리자 )의 사용자는 OpenShift AI에서 관리자 액세스 권한이 자동으로 제공됩니다.

선택적으로 OpenShift AI 배포에 대한 액세스를 특정 사용자 또는 그룹으로 제한하려면 사용자 및 관리자를 위한 사용자 그룹을 생성할 수 있습니다.

액세스를 제한하고 구성된 ID 공급자에 이미 사용자 그룹이 정의되어 있는 경우 이러한 사용자 그룹을 OpenShift AI 배포에 추가할 수 있습니다. ID 공급자에서 이러한 그룹을 추가하지 않고 사용자 그룹을 사용하려면 OpenShift에서 그룹을 생성한 다음 사용자를 추가해야 합니다.

cluster-admins 역할이 필요한 OpenShift AI와 관련된 몇 가지 작업이 있습니다. 이러한 작업에는 다음이 포함됩니다.

  • OpenShift AI 사용자 및 관리자 그룹에 사용자 추가
  • OpenShift AI 사용자 및 관리자 그룹에서 사용자 제거.
  • metapyter 노트북 리소스, ConfigMap 및 PVC(영구 볼륨 클레임)와 같은 OpenShift의 사용자 지정 환경 및 스토리지 구성 관리.
  • 모든 데이터 사이언스 프로젝트에 대해 OpenShift AI 대시보드 또는 CLI(명령줄 인터페이스)에서 데이터 사이언스 파이프라인 서버 및 파이프라인 애플리케이션을 관리합니다.
중요

OpenShift AI 및 해당 구성 요소의 사용자는 OpenShift를 통해 인증되지만 세션 관리는 인증과 다릅니다. 즉, OpenShift 또는 OpenShift AI에서 로그아웃하는 것은 해당 플랫폼에서 실행되는 로그인한inpyter 세션에는 영향을 미치지 않습니다. 즉, 사용자의 권한이 변경되면 해당 사용자가 변경 사항을 적용하려면 모든 현재 세션에서 로그아웃해야 합니다.

1.2. OpenShift AI 사용자 보기

OpenShift AI 사용자 그룹을 정의한 경우 이러한 그룹에 속하는 사용자를 볼 수 있습니다.

사전 요구 사항

  • Red Hat OpenShift AI 사용자 그룹, 관리자 그룹 또는 둘 다 있습니다.
  • cluster-admin 역할이 있거나 dedicated-admins 관리자 그룹의 일부입니다. dedicated-admins 그룹은 OpenShift Dedicated에만 적용됩니다.
  • OpenShift 클러스터에 지원되는 ID 공급자를 구성했습니다.

프로세스

  1. OpenShift 웹 콘솔에서 사용자 관리그룹을 클릭합니다.
  2. 보려는 사용자가 포함된 그룹의 이름을 클릭합니다.

    • 관리 사용자의 경우 관리자 그룹의 이름을 클릭합니다. 예: rhoai-admins.
    • 일반 사용자의 경우 사용자 그룹의 이름(예: rhoai-users )을 클릭합니다.

      그룹의 그룹 세부 정보 페이지가 표시됩니다.

검증

  • 관련 그룹의 사용자 섹션에서 Red Hat OpenShift AI에 액세스할 수 있는 권한이 있는 사용자를 볼 수 있습니다.

1.3. OpenShift AI 사용자 그룹에 사용자 추가

기본적으로 모든 OpenShift 사용자는 Red Hat OpenShift AI에 액세스할 수 있습니다.

선택적으로 사용자 그룹을 정의하여 OpenShift AI 인스턴스에 대한 사용자 액세스를 제한할 수 있습니다. Red Hat OpenShift AI 사용자 그룹, 관리자 그룹 또는 둘 다에 사용자 계정을 추가하여 사용자에게 Red Hat OpenShift AI 액세스 권한을 부여해야 합니다. 기본 그룹 이름을 사용하거나 ID 공급자에 이미 존재하는 그룹 이름을 지정할 수 있습니다.

사용자 그룹은 사용자에게 데이터 사이언스 파이프라인과 같은 Red Hat OpenShift AI 대시보드의 제품 구성 요소 및 propyter와 같은 관련 서비스에 대한 액세스 권한을 제공합니다. 기본적으로 사용자 그룹의 사용자는 자신이 생성한 데이터 사이언스 프로젝트 내에서 데이터 사이언스 파이프라인 애플리케이션에 액세스할 수 있습니다.

관리자 그룹은 사용자에게 데이터 사이언스 파이프라인과 같은 Red Hat OpenShift AI 대시보드의 개발자 및 관리자 기능에 대한 액세스 권한 및 propyter와 같은 관련 서비스를 제공합니다. 관리자 그룹의 사용자는 모든 데이터 사이언스 프로젝트에 대해 OpenShift AI 대시보드에서 데이터 사이언스 파이프라인 애플리케이션을 구성할 수 있습니다.

사용자 그룹을 사용하여 액세스를 제한하는 경우 OpenShift AI 사용자 그룹 또는 관리자 그룹에 없는 사용자는 대시보드를 볼 수 없으며 유나이터와 같은 관련 서비스를 사용할 수 없습니다. 클러스터 설정 페이지에 액세스할 수도 없습니다.

중요

LDAP를 ID 공급자로 사용하는 경우 OpenShift와 LDAP 동기화를 구성해야 합니다. 자세한 내용은 ROSA(Red Hat OpenShift Service on AWS)에서 OpenShift Dedicated 의 LDAP 그룹 동기화 또는 LDAP 그룹 동기화를 참조하십시오.

이 섹션의 단계에 따라 OpenShift AI 관리자 및 사용자 그룹에 사용자를 추가합니다.

참고: OpenShift AI에서 사용자를 추가할 수 있지만 OpenShift 웹 콘솔에서 사용자 목록을 관리해야 합니다.

사전 요구 사항

  • OpenShift 클러스터에 지원되는 ID 공급자를 구성했습니다.
  • OpenShift 클러스터의 cluster-admins 또는 dedicated-admins 사용자 그룹의 일부입니다. dedicated-admins 사용자 그룹은 OpenShift Dedicated에만 적용됩니다.
  • OpenShift AI에 대한 관리자 그룹 및 사용자 그룹을 정의했습니다.

프로세스

  1. OpenShift 웹 콘솔에서 사용자 관리그룹을 클릭합니다.
  2. 사용자를 추가할 그룹의 이름을 클릭합니다.

    • 관리 사용자의 경우 관리자 그룹(예: rhoai-admins )을 클릭합니다.
    • 일반 사용자의 경우 사용자 그룹(예: rhoai-users )을 클릭합니다.

      해당 그룹의 그룹 세부 정보 페이지가 표시됩니다.

  3. 작업사용자 추가를 클릭합니다.

    사용자 추가 대화 상자가 나타납니다.

  4. 사용자 필드에 그룹에 추가할 관련 사용자 이름을 입력합니다.
  5. 저장을 클릭합니다.

검증

  • 각 그룹의 세부 정보 탭을 클릭하고 사용자 섹션에 추가한 사용자 이름이 포함되어 있는지 확인합니다.

1.4. OpenShift AI 관리자 및 사용자 그룹 선택

기본적으로 OpenShift에서 인증된 모든 사용자는 OpenShift AI에 액세스할 수 있습니다.

또한 기본적으로 cluster-admin 권한이 있는 사용자는 OpenShift AI 관리자입니다. 클러스터 관리자는 OpenShift 클러스터의 모든 프로젝트에서 모든 작업을 수행할 수 있는 슈퍼유저입니다. 로컬 바인딩을 통해 사용자에게 바인딩하면 할당량은 물론 프로젝트의 모든 리소스에 대한 모든 조치를 완전히 제어할 수 있습니다.

클러스터 관리자 사용자가 OpenShift에서 추가 관리자 및 사용자 그룹을 정의한 후 OpenShift AI 대시보드에서 해당 그룹을 선택하여 OpenShift AI에 해당 그룹을 추가할 수 있습니다.

사전 요구 사항

  • OpenShift AI 관리자 권한이 있는 사용자로 OpenShift AI에 로그인했습니다.
  • OpenShift AI의 관리자 및 사용자 그룹을 선택하려는 그룹이 이미 OpenShift에 있습니다. 자세한 내용은 사용자 및 그룹 관리를 참조하십시오.

프로세스

  1. OpenShift AI 대시보드에서 설정사용자 관리를 클릭합니다.
  2. OpenShift AI 관리자 그룹: 데이터 과학 관리자 그룹에서 텍스트 상자를 클릭하고 OpenShift 그룹을 선택합니다. 이 프로세스를 반복하여 여러 관리자 그룹을 정의합니다.
  3. OpenShift AI 사용자 그룹: Under Data Science 사용자 그룹 을 선택하고 텍스트 상자를 클릭하고 OpenShift 그룹을 선택합니다. 이 프로세스를 반복하여 여러 사용자 그룹을 정의합니다.

    중요

    system:authenticated 설정을 사용하면 OpenShift에서 인증된 모든 사용자가 OpenShift AI에 액세스할 수 있습니다.

  4. 변경 사항 저장을 클릭합니다.

검증

  • 관리자 사용자는 OpenShift AI에 성공적으로 로그인하고 Settings (설정) 탐색 메뉴에 액세스할 수 있습니다.
  • 관리자가 아닌 사용자는 OpenShift AI에 성공적으로 로그인할 수 있습니다. 또한 프로젝트 및 워크벤치와 같은 개별 구성 요소에 액세스하고 사용할 수 있습니다.

1.5. 사용자 삭제

1.5.1. 사용자 및 해당 리소스 삭제 정보

OpenShift에 대한 관리자 액세스 권한이 있는 경우 Red Hat OpenShift AI에서 사용자 리소스를 취소하고 사용자 리소스를 삭제할 수 있습니다.

사용자와 사용자 리소스를 삭제하려면 다음 작업이 필요합니다.

  • OpenShift AI에서 사용자를 삭제하기 전에 PVC(영구 볼륨 클레임)의 데이터를 백업하는 것이 좋습니다.
  • 사용자가 소유한 노트북 서버를 중지합니다.
  • sendpyter에 대한 사용자 액세스 권한을 취소합니다.
  • OpenShift ID 공급자의 허용된 그룹에서 사용자를 제거합니다.
  • 사용자를 삭제한 후 OpenShift에서 관련 구성 파일을 삭제합니다.

1.5.2. 다른 사용자가 소유한 노트북 서버 중지

OpenShift AI 관리자는 다른 사용자가 소유한 노트북 서버를 중지하여 클러스터에서 리소스 사용을 줄이거나 클러스터의 사용자 및 해당 리소스를 제거하는 과정의 일부로 중지할 수 있습니다.

사전 요구 사항

프로세스

  1. sendpyter를 시작할 때 열리는 페이지에서 Administration 탭을 클릭합니다.
  2. 하나 이상의 서버를 중지합니다.

    • 하나 이상의 특정 서버를 중지하려면 다음 작업을 수행합니다.

      1. 사용자 섹션에서 노트북 서버가 속한 사용자를 찾습니다.
      2. 노트북 서버를 중지하려면 다음 작업 중 하나를 수행합니다.

        • 관련 사용자 옆에 있는 작업 메뉴(Cryostat )를 클릭하고 중지 서버 를 선택합니다.
        • 관련 사용자 옆에 있는 View server (서버 보기)를 클릭한 다음 노트북 서버 중지 를 클릭합니다.

          서버 중지 대화 상자가 나타납니다.

      3. 서버 중지 를 클릭합니다.
    • 모든 서버를 중지하려면 다음 작업을 수행합니다.

      1. 모든 서버 중지 버튼을 클릭합니다.
      2. OK 를 클릭하여 모든 서버 중지를 확인합니다.

검증

  • 서버 옆에 있는 서버 중지 링크가 노트북 서버가 중지되면 시작 서버 링크로 변경됩니다.

1.5.3. sendpyter에 대한 사용자 액세스 취소

OpenShift AI에 대한 액세스를 정의하는 OpenShift AI 사용자 그룹에서 사용자를 제거하여 sendpyter에 대한 사용자의 액세스를 취소할 수 있습니다. 사용자 그룹에서 사용자를 제거하면 사용자가 OpenShift AI 대시보드에 액세스하지 못하고 클러스터에서 리소스를 사용하는 관련 서비스를 사용할 수 없습니다.

중요

OpenShift AI 사용자 그룹을 구현하여 OpenShift AI에 대한 액세스를 제한하는 경우에만 다음 단계를 따르십시오. OpenShift AI에서 사용자를 완전히 제거하려면 OpenShift ID 공급자의 허용된 그룹에서 해당 사용자를 제거해야 합니다.

사전 요구 사항

  • 삭제하려는 사용자가 소유한 모든 노트북 서버를 중지했습니다.
  • OpenShift 클러스터의 cluster-admins 또는 dedicated-admins 사용자 그룹의 일부입니다. dedicated-admins 사용자 그룹은 OpenShift Dedicated에만 적용됩니다.
  • OpenShift AI 사용자 그룹을 사용하고 있으며 사용자는 사용자 그룹, 관리자 그룹 또는 둘 다의 일부입니다.

프로세스

  1. OpenShift 웹 콘솔에서 사용자 관리그룹을 클릭합니다.
  2. 사용자를 제거할 그룹의 이름을 클릭합니다.

    • 관리 사용자의 경우 관리자 그룹의 이름을 클릭합니다(예: rhoai-admins ).
    • 관리자가 아닌 사용자의 경우 사용자 그룹 이름(예: rhoai-users )을 클릭합니다.

    그룹의 그룹 세부 정보 페이지가 표시됩니다.

  3. 세부 정보 탭의 사용자 섹션에서 제거할 사용자를 찾습니다.
  4. 제거하려는 사용자 옆에 있는 작업 메뉴( Cryostat )를 클릭하고 사용자 제거를 클릭합니다.

검증

  • 세부 정보 탭에서 사용자 섹션을 확인하고 제거한 사용자가 표시되지 않는지 확인합니다.
  • rhods-notebooks 프로젝트에서 WorkloadsPod 에서 확인하고 이 사용자에 대한 노트북 서버 Pod가 없는지 확인합니다. 삭제한 사용자의 경우 jupyter-nb-<username>-* 이라는 Pod가 표시되면 해당 Pod를 삭제하여 삭제된 사용자가 클러스터에서 리소스를 사용하지 않도록 합니다.
  • OpenShift AI 대시보드에서 데이터 사이언스 프로젝트 목록을 확인합니다. 사용자에 속하는 모든 프로젝트를 삭제합니다.

1.5.4. 스토리지 데이터 백업

PVC(영구 볼륨 클레임)의 데이터를 정기적으로 백업하는 것이 좋습니다.

OpenShift AI가 제거될 때 모든 PVC가 삭제되므로 사용자를 삭제하기 전에 데이터를 백업하는 것이 특히 중요합니다.

PVC 백업에 대한 자세한 내용은 클러스터 플랫폼에 대한 설명서를 참조하십시오.

1.5.5. 사용자를 삭제한 후 정리

Red Hat OpenShift AI 또는 metapyter에 대한 사용자 액세스를 제거한 후 OpenShift에서 사용자의 구성 파일도 삭제해야 합니다. 구성 파일을 제거하기 전에 사용자의 데이터를 백업하는 것이 좋습니다.

사전 요구 사항

  • (선택 사항) OpenShift AI에 대한 사용자의 액세스를 완전히 제거하려면 ID 공급자에서 해당 인증 정보를 삭제했습니다.
  • sendpyter에 대한 사용자의 액세스 권한을 취소했습니다.
  • Amazon EBS 또는 Google Persistent Disk에서 사용자의 스토리지 데이터를 백업했습니다.
  • cluster-admin 역할의 사용자로 OpenShift 웹 콘솔에 로그인했습니다.

프로세스

  1. 사용자의 PVC(영구 볼륨 클레임)를 삭제합니다.

    1. 스토리지영구 볼륨 클레임을 클릭합니다.
    2. 아직 선택되지 않은 경우 프로젝트 목록에서 rhods-notebooks 프로젝트를 선택합니다.
    3. jupyter-nb-<username> PVC 를 찾습니다.

      &lt ;username& gt;을 관련 사용자 이름으로 바꿉니다.

    4. 작업 메뉴( Cryostat)를 클릭하고 목록에서 Delete PersistentVolumeClaim 을 선택합니다.

      PersistentVolumeClaim 삭제 대화 상자가 표시됩니다.

    5. 대화 상자를 검사하고 올바른 PVC를 삭제하고 있는지 확인합니다.
    6. 삭제를 클릭합니다.
  2. 사용자의 ConfigMap을 삭제합니다.

    1. 워크로드ConfigMap 을 클릭합니다.
    2. 아직 선택되지 않은 경우 프로젝트 목록에서 rhods-notebooks 프로젝트를 선택합니다.
    3. jupyterhub-singleuser-profile-<username> ConfigMap을 찾습니다.

      &lt ;username& gt;을 관련 사용자 이름으로 바꿉니다.

    4. 작업 메뉴( Cryostat)를 클릭하고 목록에서 Delete ConfigMap 을 선택합니다.

      Delete ConfigMap 대화 상자가 표시됩니다.

    5. 대화 상자를 검사하고 올바른 ConfigMap을 삭제하고 있는지 확인합니다.
    6. 삭제를 클릭합니다.

검증

  • 사용자는 더 이상 sendpyter에 액세스할 수 없으며 "액세스 권한이 필요한" 메시지가 표시됩니다.
  • 사용자의 단일 사용자 프로필, PVC(영구 볼륨 클레임) 및 ConfigMap은 OpenShift에 표시되지 않습니다.

2장. 사용자 정의 워크벤치 이미지 생성

Red Hat OpenShift AI에는 다양한 기본 워크벤치 이미지가 포함되어 있으며 데이터 벤처는 워크벤치를 만들거나 편집할 때 선택할 수 있습니다.

또한 데이터 과학자가 자주 사용하는 라이브러리를 추가하거나 데이터 과학자에 기본 이미지에 제공된 버전과 다른 특정 버전의 라이브러리가 필요한 경우 사용자 정의 워크벤치 이미지를 가져올 수 있습니다. 사용자 지정 워크벤치 이미지는 데이터 과학자가 실행 중인 환경에 직접 설치할 수 없기 때문에 운영 체제 패키지 또는 애플리케이션이 필요한 경우에도 유용합니다(데이터가 사용자에게 루트 액세스 권한이 없으므로 해당 작업에 필요한 루트 액세스 권한이 없습니다).

사용자 정의 워크벤치 이미지는 컨테이너 이미지일 뿐입니다. 컨테이너 파일(또는 Dockerfile)을 사용하여 표준 컨테이너 이미지를 빌드합니다. 기존 이미지( FROM 명령)에서 시작한 다음 필요한 요소를 추가합니다.

사용자 정의 워크벤치 이미지를 생성하기 위한 다음 옵션이 있습니다.

중요

Red Hat은 OpenShift AI 배포에 사용자 정의 워크벤치 이미지 추가를 지원하여 워크벤치 생성 시 선택할 수 있도록 합니다. 그러나 Red Hat은 사용자 정의 워크벤치 이미지의 내용을 지원하지 않습니다. 즉, 워크벤치 생성 중에 사용자 정의 워크벤치 이미지를 선택할 수 있지만 사용 가능한 워크벤치 이미지를 생성하지 않는 경우 Red Hat은 사용자 정의 워크벤치 이미지를 수정할 수 없습니다.

추가 리소스

OpenShift AI 기본 워크벤치 이미지 및 사전 설치된 패키지 목록은 지원되는 구성을 참조하십시오.

이미지 생성에 대한 자세한 내용은 다음 리소스를 참조하십시오.

2.1. 기본 OpenShift AI 이미지에서 사용자 정의 이미지 생성

Red Hat OpenShift AI가 클러스터에 설치된 후 redhat-ods-applications 프로젝트의 빌드ImageStreams 에서 OpenShift 콘솔에서 기본 워크벤치 이미지를 찾을 수 있습니다.

기본 OpenShift AI 이미지에 OS 패키지 또는 애플리케이션을 추가하여 사용자 지정 이미지를 생성할 수 있습니다.

사전 요구 사항

  • 사용자 정의 이미지의 기반으로 사용할 기본 이미지를 알고 있습니다.

    OpenShift AI 기본 워크벤치 이미지 및 사전 설치된 패키지는 지원되는 구성 을 참조하십시오.

  • OpenShift AI가 설치된 클러스터의 OpenShift 콘솔에 대한 cluster-admin 액세스 권한이 있어야 합니다.

프로세스

  1. 사용자 정의 이미지의 기반으로 사용할 기본 이미지의 위치를 가져옵니다.

    1. OpenShift 콘솔에서 빌드 → 이미지 스트림을 선택합니다.
    2. redhat-ods-applications 프로젝트를 선택합니다.
    3. 설치된 이미지 스트림 목록에서 사용자 정의 이미지의 기반으로 사용할 이미지 이름을 클릭합니다. 예를 들어 pytorch 를 클릭합니다.
    4. ImageStream 세부 정보 페이지에서 YAML 을 클릭합니다.
    5. spec:tags 섹션에서 사용하려는 이미지 버전의 태그를 찾습니다.

      원본 이미지의 위치는 태그의 from:name 섹션에 표시됩니다. 예를 들면 다음과 같습니다.

      name: 'quay.io/modh/odh-pytorch-notebook@sha256:b68e0192abf7d…'

    6. 사용자 정의 이미지에서 사용할 이 위치를 복사합니다.
  2. 표준 컨테이너 파일 또는 Dockerfile을 생성합니다.
  3. FROM 명령의 경우 1단계에서 복사한 기본 이미지 위치를 지정합니다. 예를 들면 다음과 같습니다.

    FROM quay.io/modh/odh-pytorch-notebook@sha256:b68e0…

  4. 선택 사항: OS 이미지를 설치합니다.

    1. USER 0 으로 전환합니다(OS 패키지를 설치하려면 사용자 0이 필요합니다).
    2. 패키지를 설치합니다.
    3. USER 1001 로 다시 전환합니다.

      다음 예제에서는 Java를 기본 PyTorch 이미지에 추가하는 사용자 지정 워크벤치 이미지를 생성합니다.

       FROM quay.io/modh/odh-pytorch-notebook@sha256:b68e0…
      
       USER 0
      
       RUN INSTALL_PKGS="java-11-openjdk java-11-openjdk-devel" && \
          dnf install -y --setopt=tsflags=nodocs $INSTALL_PKGS && \
          dnf -y clean all --enablerepo=*
      
       USER 1001
      Copy to Clipboard Toggle word wrap
  5. 선택 사항: Python 패키지를 추가합니다.

    1. USER 1001 을 지정합니다.
    2. requirements.txt 파일을 복사합니다.
    3. 패키지를 설치합니다.

      다음 예제에서는 기본 PyTorch 이미지에 requirements.txt 파일에서 패키지를 설치합니다.

       FROM quay.io/modh/odh-pytorch-notebook@sha256:b68e0…
      
       USER 1001
      
       COPY requirements.txt ./requirements.txt
      
       RUN pip install -r requirements.txt
      Copy to Clipboard Toggle word wrap
  6. 이미지 파일을 빌드합니다. 예를 들어 이미지 파일이 있는 위치에서 podman build 를 로컬로 사용한 다음 OpenShift AI에 액세스할 수 있는 레지스트리로 이미지를 푸시할 수 있습니다.

    $ podman build -t my-registry/my-custom-image:0.0.1 .
    $ podman push my-registry/my-custom-image:0.0.1
    Copy to Clipboard Toggle word wrap

    또는 BuildConfig 를 사용하여 OpenShift의 이미지 빌드 기능을 활용할 수 있습니다.

2.2. 자체 이미지에서 사용자 정의 이미지 생성

고유한 사용자 정의 이미지를 빌드할 수 있습니다. 그러나 이미지가 OpenShift 및 OpenShift AI와 호환되는지 확인해야 합니다.

2.2.1. 자체 워크벤치 이미지 생성을 위한 기본 지침

다음 기본 지침은 자체 사용자 정의 워크벤치 이미지를 빌드할 때 고려해야 할 정보를 제공합니다.

USER 1001로 실행되도록 이미지 설계

OpenShift에서 컨테이너는 임의의 UID 및 GID 0 으로 실행됩니다. 특히 디렉터리에 대한 쓰기 권한이 필요한 경우 이미지가 이러한 사용자 및 그룹 요구 사항과 호환되는지 확인하십시오. 가장 좋은 방법은 USER 1001 로 실행되도록 이미지를 설계하는 것입니다.

$HOME에 아티팩트를 배치하지 마십시오.

워크벤치에 연결된 영구 볼륨은 /opt/app-root/src 에 마운트됩니다. 이 위치는 $HOME 의 위치이기도 합니다. 따라서 워크벤치 배포 후 볼 수 없고 영구 볼륨이 마운트된 후 파일 또는 기타 리소스를 $HOME 에 직접 배치하지 마십시오.

API 끝점 지정

OpenShift 준비 및 활성 프로브는 /api 엔드포인트를 쿼리합니다. sendpyter IDE의 경우 기본 끝점입니다. 다른 IDE의 경우 /api 끝점을 구현해야 합니다.

2.2.2. 자체 워크벤치 이미지 생성을 위한 고급 지침

다음 지침은 사용자 정의 워크벤치 이미지를 빌드할 때 고려해야 할 정보를 제공합니다.

이미지 크기 최소화

워크벤치 이미지는 "계층" 파일 시스템을 사용합니다. 워크벤치 이미지 파일에서 COPY 또는 RUN 명령을 사용할 때마다 새 계층이 생성됩니다. 아티팩트는 삭제되지 않습니다. 예를 들어 파일처럼 아티팩트를 제거할 때 다음 계층에서 "마스크링"됩니다. 따라서 워크벤치 이미지 파일을 만들 때 다음 지침을 고려하십시오.

  • dnf update 명령을 사용하지 마십시오.

    • Red Hat 카탈로그의 ubi9/python-39 와 같이 지속적으로 업데이트되는 이미지에서 시작하는 경우 dnf update 명령을 사용할 필요가 없습니다. 이 명령은 새 메타데이터를 가져오고 영향을 미치지 않을 수 있는 파일을 업데이트하고, 워크벤치 이미지 크기를 늘립니다.
    • 이전 버전에서 dnf 업데이트를 수행하는 대신 기본 이미지의 최신 버전을 가리킵니다.
  • 그룹 RUN 명령. 각 줄의 끝에 && \ 를 추가하여 명령을 연결합니다.
  • 사용자 지정 이미지에 포함하려면 코드(예: 라이브러리 또는 애플리케이션)를 컴파일해야 하는 경우 최종 이미지에 빌드 아티팩트를 포함하지 않도록 다중 단계 빌드를 구현합니다. 즉, 중간 이미지로 라이브러리 또는 애플리케이션을 컴파일한 다음 결과를 최종 이미지에 복사하여 포함하지 않는 빌드 아티팩트 뒤에 둡니다.

파일 및 디렉터리에 대한 액세스 설정

  • 파일 및 폴더의 소유권을 1001:0 (사용자 "기본", 그룹 "0")으로 설정합니다. 예를 들면 다음과 같습니다.

    COPY --chown=1001:0 os-packages.txt ./
    Copy to Clipboard Toggle word wrap

    OpenShift에서 모든 컨테이너는 표준 네임스페이스에 있습니다(보안을 수정하지 않는 경우). 컨테이너는 임의의 사용자 ID(uid)가 있고 그룹 ID(gid)가 0 인 사용자로 실행됩니다. 따라서 쓰기하려는 모든 폴더와 (임시적으로) 수정하려는 모든 파일은 이미지에서 임의의 사용자 ID(uid)가 있는 사용자가 액세스할 수 있어야 합니다. 또는 다음 예와 같이 모든 사용자에게 액세스를 설정할 수 있습니다.

    COPY --chmod=775 os-packages.txt ./
    Copy to Clipboard Toggle word wrap
  • 지속하려는 데이터의 기본 위치로 /opt/app-root/src 로 이미지를 빌드합니다. 예를 들면 다음과 같습니다.

    WORKDIR /opt/app-root/src
    Copy to Clipboard Toggle word wrap

    사용자가 OpenShift AI ApplicationsEnabled 페이지에서 워크벤치를 시작하면 사용자의 "개인" 볼륨이 /opt/app-root/src 에 마운트됩니다. 이 위치는 구성할 수 없으므로 사용자 정의 이미지를 빌드할 때 지속 가능한 데이터에 대해 이 기본 위치를 지정해야 합니다.

  • OpenShift 환경에서 PIP(Python 패키지 관리자)를 지원하도록 권한을 수정합니다. 사용자 지정 이미지에 다음 명령을 추가합니다(필요한 경우 python3.9 를 사용 중인 Python 버전으로 변경합니다).

    chmod -R g+w /opt/app-root/lib/python3.9/site-packages && \
       fix-permissions /opt/app-root -P
    Copy to Clipboard Toggle word wrap
  • 워크벤치 이미지 내의 서비스는 ${NB_PREFIX}/api 에서 응답해야 합니다. 그러지 않으면 OpenShift 활성/읽기 상태 프로브가 실패하고 워크벤치 이미지의 Pod를 삭제합니다.

    NB_PREFIX 환경 변수는 컨테이너가 수신 대기할 것으로 예상되는 URL 경로를 지정합니다.

    다음은 Nginx 구성의 예입니다.

    location = ${NB_PREFIX}/api {
    	return 302  /healthz;
    	access_log  off;
    }
    Copy to Clipboard Toggle word wrap
  • 유휴 조각이 작동하려면 다음 예와 같이 ${NB_PREFIX}/api/kernels URL에서 특정 형식의 JSON 페이로드를 반환해야 합니다.

    다음은 Nginx 구성의 예입니다.

    location = ${NB_PREFIX}/api/kernels {
    	return 302 $custom_scheme://$http_host/api/kernels/;
    	access_log  off;
    }
    
    location ${NB_PREFIX}/api/kernels/ {
    	return 302 $custom_scheme://$http_host/api/kernels/;
    	access_log  off;
    }
    
    location /api/kernels/ {
      index access.cgi;
      fastcgi_index access.cgi;
      gzip  off;
      access_log	off;
     }
    Copy to Clipboard Toggle word wrap

    반환된 JSON 페이로드는 다음과 같아야 합니다.

    {"id":"rstudio","name":"rstudio","last_activity":(time in ISO8601 format),"execution_state":"busy","connections": 1}
    Copy to Clipboard Toggle word wrap

CRB(CodeReady Builder) 및 EPEL(Extra Packages for Enterprise Linux) 활성화

CRB 및 EPEL은 표준 RHEL(Red Hat Enterprise Linux) 또는 UBI(Universal Base Image) 설치에 없는 패키지를 제공하는 리포지토리입니다. R Cryostat와 같이 일부 소프트웨어를 설치하는 데 유용하고 필요합니다.

UBI9 이미지에서 CRB는 기본적으로 활성화되어 있습니다. UBI9 기반 이미지에서 EPEL을 활성화하려면 다음 명령을 실행합니다.

 RUN yum install -y https://download.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
Copy to Clipboard Toggle word wrap

Centos Stream 9 기반 이미지에서 CRB 및 EPEL을 활성화하려면 다음 명령을 실행합니다.

 RUN yum install -y yum-utils && \
    yum-config-manager --enable crb && \
    yum install -y https://download.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
Copy to Clipboard Toggle word wrap

Elyra 호환성 추가

Red Hat OpenShift AI 버전 2.9 이상에서 데이터 과학 파이프라인 V2( odh-elyra 패키지로 제공)에 대한 지원을 사용할 수 있습니다. 이전 버전의 OpenShift AI는 데이터 사이언스 파이프라인 V1을 지원합니다( elyra 패키지와 함께 제공됨).

사용자 지정 이미지에서 데이터 사이언스 파이프라인 V2를 지원하려면 다음 요구 사항을 충족해야 합니다.

  • Data Science pipeline V2 ( elyra 패키지가 아님)를 지원하는 odh-elyra 패키지를 포함합니다. 예를 들면 다음과 같습니다.

     USER 1001
    
     RUN pip install odh-elyra
    Copy to Clipboard Toggle word wrap
  • 데이터 사이언스 파이프라인 구성을 런타임 구성으로 자동으로 포함하려면 사용자 정의 워크벤치 이미지를 가져올 때 주석을 추가합니다.

2.3. OpenShift AI에서 사용자 정의 이미지 활성화

모든 OpenShift AI 관리자는 기본적으로 OpenShift AI 대시보드에서 SettingsNotebook images 탐색 옵션을 선택하여 사용자 정의 워크벤치 이미지를 가져올 수 있습니다.

설정노트북 이미지 옵션을 사용할 수 없는 경우 대시보드에 표시되지 않는 탐색 요소에 따라 다음 설정을 확인합니다.

  • OpenShift AI 탐색 모음에 설정 메뉴가 나타나지 않습니다.

    OpenShift AI 대시보드 설정 메뉴의 가시성은 사용자 권한에 따라 결정됩니다. 기본적으로 Settings 메뉴는 OpenShift AI 관리 사용자( rhoai-admins 그룹의 멤버인 사용자)에서 사용할 수 있습니다. OpenShift cluster-admin 역할의 사용자는 rhoai-admins 그룹에 자동으로 추가되며 OpenShift AI에서 관리자 액세스 권한이 부여됩니다.

    사용자 권한에 대한 자세한 내용은 사용자 및 그룹 관리를 참조하십시오.

  • 노트북 이미지 메뉴 옵션이 설정 메뉴에 표시되지 않습니다.

    Notebook images 메뉴 옵션의 가시성은 dashboardConfig: disableBYONImageStream 옵션의 값에 따라 대시보드 구성에서 제어됩니다. 기본적으로 false ( 노트북 이미지 메뉴 옵션이 표시됨)로 설정됩니다.

    대시보드 구성을 편집하려면 cluster-admin 권한이 필요합니다.

    대시보드 구성 옵션 설정에 대한 자세한 내용은 대시보드 사용자 지정을 참조하십시오.

2.4. 사용자 정의 워크벤치 이미지 가져오기

Red Hat 및 ISV(독립 소프트웨어 벤더)에서 제공하고 지원하는 워크벤치 이미지 외에도 프로젝트의 특정 요구 사항을 충족하는 사용자 정의 워크벤치 이미지를 가져올 수 있습니다.

OpenShift AI 사용자(데이터 과학자)가 프로젝트 워크벤치를 생성할 때 액세스할 수 있도록 가져와야 합니다.

Red Hat은 OpenShift AI 배포에 사용자 정의 워크벤치 이미지 추가를 지원하여 워크벤치 생성 시 선택할 수 있도록 합니다. 그러나 Red Hat은 사용자 정의 워크벤치 이미지의 내용을 지원하지 않습니다. 즉, 워크벤치 생성 중에 사용자 정의 워크벤치 이미지를 선택할 수 있지만 사용 가능한 워크벤치 이미지를 생성하지 않는 경우 Red Hat은 사용자 정의 워크벤치 이미지를 수정할 수 없습니다.

사전 요구 사항

프로세스

  1. OpenShift AI 대시보드에서 설정노트북 이미지를 클릭합니다.

    노트북 이미지 페이지가 나타납니다. 이전에 가져온 이미지가 표시됩니다. 이전에 가져온 이미지를 활성화하거나 비활성화하려면 관련 이미지가 포함된 행에서 Enable 열의 토글을 클릭합니다.

  2. 선택 사항: 액셀러레이터를 연결하려면 액셀러레이터 프로파일을 아직 생성하지 않은 경우 이미지가 포함된 행에서 프로필 생성 을 클릭하고 관련 필드를 완료합니다. 이미지에 가속기 식별자가 포함되어 있지 않은 경우 연결된 액셀러레이터 프로필을 생성하기 전에 수동으로 구성해야 합니다.
  3. 새 이미지 가져오기 를 클릭합니다. 또는 이전에 가져온 이미지가 없는 경우 이미지 가져오기 를 클릭합니다.

    노트북 이미지 가져오기 대화 상자가 나타납니다.

  4. 이미지 위치 필드에 이미지가 포함된 리포지토리의 URL을 입력합니다. 예: quay.io/my-repo/my-image:tag,quay.io/my-repo/my-image@sha256:xxxxxxxxx 또는 docker.io/my-repo/my-image:tag.
  5. 이름 필드에 이미지에 적절한 이름을 입력합니다.
  6. 선택 사항: 설명 필드에 이미지에 대한 설명을 입력합니다.
  7. 선택 사항: 액셀러레이터 식별자 목록에서 ID를 선택하여 이미지에 권장되는 대로 가속기를 설정합니다. 이미지에 하나의 액셀러레이터 식별자만 포함된 경우 기본적으로 식별자 이름이 표시됩니다.
  8. 선택 사항: 이미지에 소프트웨어를 추가합니다. 가져오기가 완료되면 소프트웨어가 이미지의 메타 데이터에 추가되고 popyter 서버 생성 페이지에 표시됩니다.

    1. 소프트웨어 탭을 클릭합니다.
    2. 소프트웨어 추가 버튼을 클릭합니다.
    3. 편집 ( The Edit icon )을 클릭합니다.
    4. 소프트웨어 이름을 입력합니다.
    5. 소프트웨어 버전을 입력합니다.
    6. 확인 ( The Confirm icon )을 클릭하여 항목을 확인합니다.
    7. 추가 소프트웨어를 추가하려면 소프트웨어 추가 를 클릭하고 관련 필드를 작성하고 항목을 확인합니다.
  9. 선택 사항: 노트북 이미지에 패키지를 추가합니다. 가져오기가 완료되면 해당 패키지가 이미지의 메타 데이터에 추가되고 popyter 서버 생성 페이지에 표시됩니다.

    1. 패키지 탭을 클릭합니다.
    2. 패키지 추가 버튼을 클릭합니다.
    3. 편집 ( The Edit icon )을 클릭합니다.
    4. 패키지 이름을 입력합니다. 예를 들어 데이터 사이언스 파이프라인 V2를 런타임 구성으로 자동으로 포함하려면 odh-elyra 를 입력합니다.
    5. 패키지 버전을 입력합니다. 예를 들어 3.16.7 을 입력합니다.
    6. 확인 ( The Confirm icon )을 클릭하여 항목을 확인합니다.
    7. 추가 패키지를 추가하려면 패키지 추가 를 클릭하고 관련 필드를 작성하고 항목을 확인합니다.
  10. 가져오기 를 클릭합니다.

검증

  • 가져온 이미지가 노트북 이미지 페이지의 표에 표시됩니다.
  • 사용자가 워크벤치를 만들 때 사용자 지정 이미지를 선택할 수 있습니다.

3장. 대시보드 사용자 정의

OpenShift AI 대시보드는 대부분의 시나리오에서 작동하도록 설계된 기능을 제공합니다. 이러한 기능은 OdhDashboardConfig CR(사용자 정의 리소스) 파일에서 구성됩니다.

OpenShift AI 대시보드 구성 파일의 옵션에 대한 설명을 보려면 대시보드 구성 옵션을 참조하십시오.

관리자는 예를 들어 일부 대시보드 탐색 메뉴 옵션을 표시하거나 숨기도록 대시보드의 인터페이스를 사용자 지정할 수 있습니다. 대시보드의 기본 설정을 변경하려면 대시보드 구성 파일 편집에 설명된 대로 OdhDashboardConfig CR(사용자 정의 리소스) 파일을 편집합니다.

3.1. 대시보드 구성 파일 편집

관리자는 대시보드 구성 파일을 편집하여 대시보드의 인터페이스를 사용자 지정할 수 있습니다.

사전 요구 사항

  • OpenShift 클러스터에 대한 클러스터 관리자 권한이 있습니다.

프로세스

  1. 클러스터 관리자로 OpenShift 콘솔에 로그인합니다.
  2. 관리자 화면에서 API Explorer 를 클릭합니다.
  3. 검색 표시줄에 OdhDashboardConfig 를 입력하여 종류별로 필터링합니다.
  4. OdhDashboardConfig CR(사용자 정의 리소스)을 클릭하여 리소스 세부 정보 페이지를 엽니다.
  5. 프로젝트 목록에서 redhat-ods-applications 프로젝트를 선택합니다.
  6. Instances 탭을 클릭합니다.
  7. odh-dashboard-config 인스턴스를 클릭하여 세부 정보 페이지를 엽니다.
  8. YAML 탭을 클릭합니다.
  9. 변경할 옵션의 값을 편집합니다.
  10. 저장을 클릭하여 변경 사항을 적용한 다음 다시 로드 를 클릭하여 변경 사항을 클러스터에 동기화합니다.

검증

OpenShift AI에 로그인하고 대시보드 구성이 적용되는지 확인합니다.

3.2. 대시보드 구성 옵션

OpenShift AI 대시보드에는 대부분의 시나리오에서 작동하도록 설계된 기본적으로 활성화된 핵심 기능 세트가 포함되어 있습니다. 관리자는 OpenShift의 OdhDashboardConfig CR(사용자 정의 리소스)에서 OpenShift AI 대시보드를 구성할 수 있습니다.

Expand
표 3.1. 대시보드 기능 구성 옵션

기능

기본

설명

dashboardConfig: disableAcceleratorProfiles

false

대시보드 탐색 메뉴의 설정 → 액셀러레이터 프로필 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 true 로 설정합니다.

dashboardConfig: disableBYONImageStream

false

대시보드 탐색 메뉴의 설정 → 노트북 이미지 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 true 로 설정합니다.

dashboardConfig: disableClusterManager

false

대시보드 탐색 메뉴 의 설정 → 클러스터 설정 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 true 로 설정합니다.

dashboardConfig: disableConnectionTypes

true

참고: 기본값을 편집하지 마십시오. 이 기능은 이 OpenShift AI 버전에서 사용할 수 없습니다.

dashboardConfig: disableCustomServingRuntimes

false

대시보드 탐색 메뉴의 설정 → Serving 런타임 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 true 로 설정합니다.

dashboardConfig: disableDistributedWorkloads

false

대시보드 탐색 메뉴의 Distributed Workload Metrics 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 true 로 설정합니다.

dashboardConfig: Home 비활성화

false

대시보드 탐색 메뉴에서 Home 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 true 로 설정합니다.

dashboardConfig: disableInfo

false

애플리케이션 → 탐색 페이지에서 사용자가 애플리케이션 타일을 클릭하면 애플리케이션에 대한 자세한 정보가 포함된 정보 패널이 열립니다. 애플리케이션 → 탐색 페이지의 모든 애플리케이션에 대한 정보 패널을 비활성화하려면 값을 true 로 설정합니다.

dashboardConfig:ISVBadges 비활성화

false

애플리케이션이 "Red Hat managed", "Partner managed" 또는 "Self-managed"인지를 나타내는 타일의 레이블을 표시합니다. 이러한 레이블을 숨기려면 값을 true 로 설정합니다.

dashboardConfig: disableKServe

false

KServe를 모델 서비스 플랫폼으로 선택할 수 있습니다. 이 기능을 비활성화하려면 값을 true 로 설정합니다.

dashboardConfig: disableKServeAuth

false

KServe에서 인증을 사용할 수 있습니다. 이 기능을 비활성화하려면 값을 true 로 설정합니다.

dashboardConfig: disableKServeMetrics

false

KServe 메트릭을 볼 수 있는 기능을 활성화합니다. 이 기능을 비활성화하려면 값을 true 로 설정합니다.

dashboardConfig: disableModelMesh

false

모델 서비스 플랫폼으로 ModelMesh를 선택할 수 있는 기능을 활성화합니다. 이 기능을 비활성화하려면 값을 true 로 설정합니다.

dashboardConfig: disableModelRegistry

false

대시보드 탐색 메뉴의 모델 레지스트리 옵션과 모델 레지스트리 설정 옵션을 표시합니다. 이러한 메뉴 옵션을 숨기려면 값을 true 로 설정합니다.

dashboardConfig: disableModelServing

false

대시보드 탐색 메뉴와 데이터 사이언스 프로젝트의 구성 요소 목록에 있는 Model Serving 옵션을 표시합니다. 대시보드 탐색 메뉴와 데이터 사이언스 프로젝트의 구성 요소 목록에서 Model Serving 을 숨기려면 값을 true 로 설정합니다.

dashboardConfig: disableNIMModelServing

true

NVIDIA NIM을 모델 서비스 플랫폼으로 선택하는 기능을 비활성화합니다. 이 기능을 활성화하려면 값을 false 로 설정합니다.

dashboardConfig: disablePerformanceMetrics

false

Model Serving 페이지의 끝점 성능 탭이 표시됩니다. 이 탭을 숨기려면 값을 true 로 설정합니다.

dashboardConfig: disablePipelines

false

대시보드 탐색 메뉴에서 Data Science Pipelines 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 true 로 설정합니다.

dashboardConfig: disableProjects

false

대시보드 탐색 메뉴의 Data Science Projects 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 true 로 설정합니다.

dashboardConfig: disableProjectSharing

false

사용자가 자신의 데이터 과학 프로젝트에 대한 액세스를 다른 사용자와 공유할 수 있습니다. 사용자가 데이터 사이언스 프로젝트를 공유하지 못하도록 하려면 값을 true 로 설정합니다.

dashboardConfig: disableStorageClasses

false

대시보드 탐색 메뉴의 설정 → 스토리지 클래스 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 true 로 설정합니다.

dashboardConfig: disableSupport

false

대시보드 도구 모음에서 도움말 아이콘을 클릭할 때 지원 메뉴 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 true 로 설정합니다.

dashboardConfig: disableTracking

true

Red Hat은 클러스터에서 OpenShift AI 사용에 대한 데이터를 수집할 수 있습니다. 데이터 수집을 활성화하려면 값을 false 로 설정합니다. 설정 → 클러스터 설정 탐색 메뉴에서 OpenShift AI 대시보드 인터페이스에서 이 옵션을 설정할 수도 있습니다.

dashboardConfig: disableTrustyBiasMetrics

false

Model Serving 페이지의 모델 Bias 탭을 표시합니다. 이 탭을 숨기려면 값을 true 로 설정합니다.

dashboardConfig: disableUserManagement

false

대시보드 탐색 메뉴의 설정 → 사용자 관리 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 true 로 설정합니다.

dashboardConfig: 활성화

true

OpenShift AI 관리자는 OpenShift AI 대시보드 애플리케이션 → 활성화 페이지에 애플리케이션을 추가할 수 있습니다. 이 기능을 비활성화하려면 값을 false 로 설정합니다.

atorController: enabled

true

대시보드에서 활성화되어 있는지 여부와 표시되는 부분과 같은 Notebook Controller 옵션을 제어합니다.

notebookSizes

 

노트북의 이름 및 리소스를 사용자 지정할 수 있습니다. Kubernetes 스타일 크기는 Notebook Controller를 사용하여 워크벤치를 시작할 때 표시되는 드롭다운 메뉴에 표시됩니다. 참고: 이러한 크기는 규칙을 따라야 합니다. 예를 들어 요청은 제한보다 작아야 합니다.

ModelServerSizes

 

모델 서버의 이름 및 리소스를 사용자 지정할 수 있습니다.

groupsConfig

 

허용된 사용자를 위한 노트북 서버 컨트롤 패널 과 OpenShift AI 관리자를 위한 클러스터 설정 사용자 인터페이스와 같은 대시보드 기능에 대한 액세스를 제어합니다.

templateOrder

 

사용자 지정 Serving 런타임 템플릿의 순서를 지정합니다. 사용자가 새 템플릿을 생성하면 이 목록에 추가됩니다.

4장. 대시보드에 표시되는 애플리케이션 관리

4.1. 대시보드에 애플리케이션 추가

OpenShift 클러스터에 애플리케이션을 설치한 경우 해당 애플리케이션의 타일을 OpenShift AI 대시보드(애플리케이션 → 활성화 페이지)에 추가하여 OpenShift AI 사용자가 액세스할 수 있도록 할 수 있습니다.

사전 요구 사항

프로세스

  1. 클러스터 관리자로 OpenShift 콘솔에 로그인합니다.
  2. 관리자 화면에서 API Explorer 를 클릭합니다.
  3. API Explorer 페이지에서 OdhApplication kind를 검색합니다.
  4. OdhApplication kind를 클릭하여 리소스 세부 정보 페이지를 엽니다.
  5. OdhApplication 세부 정보 페이지의 프로젝트 목록에서 redhat-ods-applications 프로젝트를 선택합니다.
  6. Instances 탭을 클릭합니다.
  7. Create OdhApplication 을 클릭합니다.
  8. Create OdhApplication 페이지에서 다음 코드를 복사하여 YAML 편집기에 붙여넣습니다.

    apiVersion: dashboard.opendatahub.io/v1
    kind: OdhApplication
    metadata:
      name: examplename
      namespace: redhat-ods-applications
      labels:
        app: odh-dashboard
        app.kubernetes.io/part-of: odh-dashboard
    spec:
      enable:
        validationConfigMap: examplename-enable
      img: >-
        <svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
        <path d="path data" fill="#ee0000"/>
        </svg>
      getStartedLink: 'https://example.org/docs/quickstart.html'
      route: exampleroutename
      routeNamespace: examplenamespace
      displayName: Example Name
      kfdefApplications: []
      support: third party support
      csvName: ''
      provider: example
      docsLink: 'https://example.org/docs/index.html'
      quickStart: ''
      getStartedMarkDown: >-
        # Example
    
        Enter text for the information panel.
    
      description: >-
        Enter summary text for the tile.
      category: Self-managed | Partner managed | {org-name} managed
    Copy to Clipboard Toggle word wrap
  9. 애플리케이션 코드에서 매개변수를 수정합니다.

    작은 정보

    예제 YAML 파일을 보려면 API Explorer 를 클릭하고 OdhApplication 을 선택하고 인스턴스 탭을 클릭하고 인스턴스를 선택한 다음 YAML 탭을 클릭합니다.

  10. 생성을 클릭합니다. 애플리케이션 세부 정보 페이지가 표시됩니다.
  11. OpenShift AI에 로그인합니다.
  12. 왼쪽 메뉴에서 애플리케이션 → 탐색을 클릭합니다.
  13. 애플리케이션의 새 타일을 찾아서 클릭합니다.
  14. 애플리케이션의 정보 창에서 사용을 클릭합니다.

검증

  • OpenShift AI 대시보드의 왼쪽 메뉴에서 애플리케이션 → 활성화를 클릭하고 애플리케이션을 사용할 수 있는지 확인합니다.

4.2. 사용자가 대시보드에 애플리케이션을 추가하지 못하도록 방지

기본적으로 OpenShift AI 관리자는 OpenShift AI 대시보드 애플리케이션 → 활성화된 페이지에 애플리케이션을 추가할 수 있습니다.

클러스터 관리자는 OpenShift AI 관리자가 대시보드에 애플리케이션을 추가하는 기능을 비활성화할 수 있습니다.

참고: pinpyter 타일은 기본적으로 활성화되어 있습니다. 이를 비활성화하려면 기본 ovnpyter 애플리케이션 숨기기를 참조하십시오.

사전 요구 사항

  • OpenShift 클러스터에 대한 클러스터 관리자 권한이 있습니다.

프로세스

  1. 클러스터 관리자로 OpenShift 콘솔에 로그인합니다.
  2. 대시보드 구성 파일을 엽니다.

    1. 관리자 화면에서 API Explorer 를 클릭합니다.
    2. 검색 표시줄에 OdhDashboardConfig 를 입력하여 종류별로 필터링합니다.
    3. OdhDashboardConfig CR(사용자 정의 리소스)을 클릭하여 리소스 세부 정보 페이지를 엽니다.
    4. 프로젝트 목록에서 redhat-ods-applications 프로젝트를 선택합니다.
    5. Instances 탭을 클릭합니다.
    6. odh-dashboard-config 인스턴스를 클릭하여 세부 정보 페이지를 엽니다.
    7. YAML 탭을 클릭합니다.
  3. spec:dashboardConfig 섹션에서 대시보드 사용자가 대시보드에 애플리케이션을 추가할 수 있는 기능을 비활성화하려면 활성화 값을 false 로 설정합니다.
  4. 저장을 클릭하여 변경 사항을 적용한 다음 다시 로드 를 클릭하여 변경 사항이 클러스터와 동기화되었는지 확인합니다.

검증

  • OpenShift AI 대시보드 애플리케이션 → 활성화 페이지를 엽니다.

4.3. OpenShift AI에 연결된 애플리케이션 비활성화

예를 들어 데이터 과학자가 더 이상 애플리케이션을 사용하지 않거나 애플리케이션 라이센스가 만료될 때 더 이상 사용하지 않으려는 경우 OpenShift AI 대시보드에 표시되지 않도록 애플리케이션 및 구성 요소를 비활성화할 수 있습니다.

사용되지 않는 애플리케이션을 비활성화하면 데이터 과학자가 OpenShift AI 대시보드에서 이러한 애플리케이션 타일을 수동으로 제거하여 사용할 가능성이 높은 애플리케이션에 집중할 수 있습니다. 애플리케이션 타일을 수동으로 제거하는 방법에 대한 자세한 내용은 대시보드에서 비활성화된 애플리케이션 제거를 참조하십시오.

중요

다음 애플리케이션을 비활성화할 때 다음 절차를 따르지 마십시오.

  • Anaconda Professional Edition. Anaconda Professional Edition을 수동으로 비활성화할 수 없습니다. 라이센스가 만료된 경우에만 자동으로 비활성화됩니다.
  • Red Hat OpenShift API Management. OpenShift Cluster Manager에서 Red Hat OpenShift API Management를 설치 제거할 수 있습니다.

사전 요구 사항

  • OpenShift 웹 콘솔에 로그인했습니다.
  • OpenShift 클러스터의 cluster-admins 또는 dedicated-admins 사용자 그룹의 일부입니다. dedicated-admins 사용자 그룹은 OpenShift Dedicated에만 적용됩니다.
  • OpenShift 클러스터에 서비스를 설치하거나 구성했습니다.
  • 비활성화하려는 애플리케이션 또는 구성 요소가 활성화되어 있으며 사용 가능한 페이지에 표시됩니다.

프로세스

  1. OpenShift 웹 콘솔에서 관리자 화면으로 전환합니다.
  2. redhat-ods-applications 프로젝트로 전환합니다.
  3. Operators설치된 Operators를 클릭합니다.
  4. 제거할 Operator를 클릭합니다. Operator를 더 빠르게 찾을 수 있도록 이름으로 필터링 필드에 키워드를 입력할 수 있습니다.
  5. Operator 인터페이스의 탭을 사용하여 Operator 리소스 또는 인스턴스를 삭제합니다.

    설치 중에 일부 Operator는 관리자가 리소스를 생성하거나 Operator 인터페이스의 탭을 사용하여 프로세스 인스턴스를 시작해야 합니다. Operator를 올바르게 제거하려면 먼저 삭제해야 합니다.

  6. Operator 세부 정보 페이지에서 작업 드롭다운 메뉴를 클릭하고 Operator 설치 제거를 선택합니다.

    Operator를 설치 제거하시겠습니까? 대화 상자가 표시됩니다.

  7. 설치 제거를 선택하여 Operator, Operator 배포 및 Pod를 설치 제거합니다. 이 작업이 완료되면 Operator가 실행을 중지하고 더 이상 업데이트를 수신하지 않습니다.
중요

Operator를 제거해도 Operator의 사용자 정의 리소스 정의 또는 관리 리소스는 제거되지 않습니다. 사용자 정의 리소스 정의 및 관리 리소스는 여전히 존재하며 수동으로 정리해야 합니다. Operator 및 구성된 모든 클러스터 외부 리소스가 계속 실행되며 수동으로 정리해야 합니다.

검증

  • 대상 클러스터에서 Operator가 설치 제거됩니다.
  • 설치된 Operator 페이지에 Operator가 더 이상 표시되지 않습니다.
  • 비활성화된 애플리케이션은 데이터 과학자에서 더 이상 사용할 수 없으며 OpenShift AI 대시보드의 활성화 페이지에서 Disabled 로 표시됩니다. Operator를 제거한 후 이 작업을 수행하는 데 몇 분이 걸릴 수 있습니다.

4.4. 활성화된 애플리케이션에 대한 정보 표시 또는 숨기기

OpenShift 클러스터에 다른 애플리케이션을 설치한 경우 해당 애플리케이션의 타일을 OpenShift AI 대시보드(애플리케이션 → 활성화 페이지)에 추가하여 OpenShift AI 사용자가 액세스할 수 있도록 할 수 있습니다.

사전 요구 사항

  • OpenShift 클러스터에 대한 클러스터 관리자 권한이 있습니다.

프로세스

  1. 클러스터 관리자로 OpenShift 콘솔에 로그인합니다.
  2. 관리자 화면에서 API Explorer 를 클릭합니다.
  3. API Explorer 페이지에서 OdhApplication kind를 검색합니다.
  4. OdhApplication kind를 클릭하여 리소스 세부 정보 페이지를 엽니다.
  5. OdhApplication 세부 정보 페이지의 프로젝트 목록에서 redhat-ods-applications 프로젝트를 선택합니다.
  6. Instances 탭을 클릭합니다.
  7. Create OdhApplication 을 클릭합니다.
  8. Create OdhApplication 페이지에서 다음 코드를 복사하여 YAML 편집기에 붙여넣습니다.

    apiVersion: dashboard.opendatahub.io/v1
    kind: OdhApplication
    metadata:
      name: examplename
      namespace: redhat-ods-applications
      labels:
        app: odh-dashboard
        app.kubernetes.io/part-of: odh-dashboard
    spec:
      enable:
        validationConfigMap: examplename-enable
      img: >-
        <svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
        <path d="path data" fill="#ee0000"/>
        </svg>
      getStartedLink: 'https://example.org/docs/quickstart.html'
      route: exampleroutename
      routeNamespace: examplenamespace
      displayName: Example Name
      kfdefApplications: []
      support: third party support
      csvName: ''
      provider: example
      docsLink: 'https://example.org/docs/index.html'
      quickStart: ''
      getStartedMarkDown: >-
        # Example
    
        Enter text for the information panel.
    
      description: >-
        Enter summary text for the tile.
      category: Self-managed | Partner managed | Red Hat managed
    Copy to Clipboard Toggle word wrap
  9. 애플리케이션 코드에서 매개변수를 수정합니다.

    작은 정보

    예제 YAML 파일을 보려면 API Explorer 를 클릭하고 OdhApplication 을 선택하고 인스턴스 탭을 클릭하고 인스턴스를 선택한 다음 YAML 탭을 클릭합니다.

  10. 생성을 클릭합니다. 애플리케이션 세부 정보 페이지가 표시됩니다.
  11. OpenShift AI에 로그인합니다.
  12. 왼쪽 메뉴에서 애플리케이션 → 탐색을 클릭합니다.
  13. 애플리케이션의 새 타일을 찾아서 클릭합니다.
  14. 애플리케이션의 정보 창에서 사용을 클릭합니다.

검증

  • OpenShift AI 대시보드의 왼쪽 메뉴에서 애플리케이션 → 활성화를 클릭하고 애플리케이션을 사용할 수 있는지 확인합니다.

4.5. 기본 pripyter 애플리케이션 숨기기

OpenShift AI 대시보드에는 기본적으로 duepyter가 활성화된 애플리케이션으로 포함되어 있습니다.

활성화된 애플리케이션 목록에서 sendpyter 타일을 숨기려면 대시보드 구성 파일을 편집합니다.

사전 요구 사항

  • OpenShift 클러스터에 대한 클러스터 관리자 권한이 있습니다.

프로세스

  1. 클러스터 관리자로 OpenShift 콘솔에 로그인합니다.
  2. 대시보드 구성 파일을 엽니다.

    1. 관리자 화면에서 API Explorer 를 클릭합니다.
    2. 검색 표시줄에 OdhDashboardConfig 를 입력하여 종류별로 필터링합니다.
    3. OdhDashboardConfig CR(사용자 정의 리소스)을 클릭하여 리소스 세부 정보 페이지를 엽니다.
    4. 프로젝트 목록에서 redhat-ods-applications 프로젝트를 선택합니다.
    5. Instances 탭을 클릭합니다.
    6. odh-dashboard-config 인스턴스를 클릭하여 세부 정보 페이지를 엽니다.
    7. YAML 탭을 클릭합니다.
  3. spec:notebookController 섹션에서 enabled 값을 false 로 설정하여 활성화된 애플리케이션 목록에서 sendpyter 타일을 숨깁니다.
  4. 저장을 클릭하여 변경 사항을 적용한 다음 다시 로드 를 클릭하여 변경 사항이 클러스터와 동기화되었는지 확인합니다.

검증

OpenShift AI 대시보드에서 Applications> Enabled를 선택합니다. sendpyter 타일이 표시되지 않아야 합니다.

5장. OpenShift AI 사용자에게 추가 리소스 할당

클러스터 관리자는 컴퓨팅 집약적인 데이터 사이언스 작업을 지원하기 위해 클러스터에 추가 리소스를 할당할 수 있습니다. 이러한 지원에는 클러스터의 노드 수를 늘리고 클러스터의 할당된 머신 풀을 변경하는 작업이 포함됩니다.

사전 요구 사항

  • OpenShift Cluster Manager(https://console.redhat.com/openshift/)에서 클러스터를 관리하기 위한 인증 정보가 있습니다. OpenShift Cluster Manager에서 관리 액세스 구성에 대한 자세한 내용은 OpenShift Cluster Manager의 클러스터에 대한 액세스 구성 을 참조하십시오.
  • 액셀러레이터를 사용하여 머신 풀의 크기를 늘리려면 OpenShift 클러스터가 이를 지원하는지 확인해야 합니다.
  • 더 큰 컨테이너 크기를 생성할 수 있는 용량이 있는 AWS 또는 GCP 인스턴스가 있습니다. 컴퓨팅 집약적 작업의 경우 AWS 또는 GCP 인스턴스에는 가장 큰 컨테이너 크기 XL 을 수용하기에 충분한 용량이 있습니다.

프로세스

  1. OpenShift Cluster Manager(https://console.redhat.com/openshift/)에 로그인합니다.
  2. 클러스터를 클릭합니다.

    클러스터 페이지가 열립니다.

  3. 추가 리소스를 할당할 클러스터 이름을 클릭합니다.
  4. 작업노드 수 편집을 클릭합니다.
  5. 목록에서 머신 풀 을 선택합니다.
  6. 노드 수 목록에서 시스템 풀에 할당된 노드 수를 선택합니다.
  7. 적용을 클릭합니다.

검증

  • 클러스터에 할당한 추가 리소스가 머신 풀 탭에 표시됩니다.

6장. 구성 요소 배포 리소스 사용자 정의

6.1. 구성 요소 리소스 사용자 정의 개요

Red Hat OpenShift AI Operator와 관련된 배포 리소스를 사용자 지정할 수 있습니다(예: CPU 및 메모리 제한 및 요청). Operator에서 덮어쓰지 않고 리소스 사용자 정의를 유지하려면 구성 요소 배포를 위한 YAML 파일에 opendatahub.io/managed: true 주석이 없어야 합니다. 이 주석은 기본적으로 없습니다.

다음 표는 redhat-ods-applications 네임스페이스의 각 구성 요소의 배포 이름을 보여줍니다.

중요

이 표의 (기술 프리뷰) 에 표시된 구성 요소는 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. Red Hat은 프로덕션 환경에서 기술 프리뷰 기능을 사용하지 않는 것이 좋습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다. Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

Expand
Component배포 이름

CodeFlare

codeflare-operator-manager

KServe

  • kserve-controller-manager
  • odh-model-controller

ray

kuberay-operator

Kueue

kueue-controller-manager

워크벤치

  • notebook-controller-deployment
  • odh-notebook-controller-manager

대시보드

RHODS-dashboard

모델 서비스

  • modelmesh-controller
  • odh-model-controller

모델 레지스트리 (기술 프리뷰)

model-registry-operator-controller-manager

데이터 과학 파이프라인

data-science-pipelines-operator-controller-manager

training Operator

kubeflow-training-operator

6.2. 구성 요소 리소스 사용자 정의

구성 요소 배포에 대한 YAML 파일의 .spec.template.spec.containers.resources 섹션을 업데이트하여 구성 요소 배포 리소스를 사용자 지정할 수 있습니다.

사전 요구 사항

  • OpenShift 클러스터에 대한 클러스터 관리자 권한이 있습니다.

프로세스

  1. 클러스터 관리자로 OpenShift 콘솔에 로그인합니다.
  2. 관리자 화면에서 워크로드 > 배포를 클릭합니다.
  3. 프로젝트 드롭다운 목록에서 redhat-ods-applications 를 선택합니다.
  4. 이름 열에서 리소스를 사용자 지정할 구성 요소의 배포 이름을 클릭합니다.

    참고

    각 구성 요소의 배포 이름에 대한 자세한 내용은 구성 요소 리소스 사용자 지정 개요 를 참조하십시오.

  5. 표시되는 Deployment details 페이지에서 YAML 탭을 클릭합니다.
  6. .spec.template.spec.containers.resources 섹션을 찾습니다.
  7. 사용자 지정할 리소스의 값을 업데이트합니다. 예를 들어 메모리 제한을 500Mi로 업데이트하려면 다음과 같이 변경합니다.

    containers:
            - resources:
                limits:
                    cpu: '2'
                    memory: 500Mi
                requests:
                    cpu: '1'
                    memory: 1Gi
    Copy to Clipboard Toggle word wrap
  8. 저장을 클릭합니다.
  9. 새로 고침을 클릭합니다.

검증

  • OpenShift AI에 로그인하고 리소스 변경 사항이 적용되는지 확인합니다.

6.3. 구성 요소 리소스 사용자 정의 비활성화

구성 요소 배포의 YAML 파일에 opendatahub.io/managed: true 주석을 추가하여 구성 요소 배포 리소스의 사용자 지정을 비활성화하고 기본값을 복원할 수 있습니다.

중요

구성 요소 배포의 YAML 파일에 수동으로 추가한 후 opendatahub.io/managed: true 주석을 false 로 제거하거나 설정하면 예기치 않은 클러스터 문제가 발생할 수 있습니다.

배포에서 주석을 제거하려면 구성 요소 리소스 사용자 지정 재 활성화에 설명된 단계를 사용하십시오.

사전 요구 사항

  • OpenShift 클러스터에 대한 클러스터 관리자 권한이 있습니다.

프로세스

  1. 클러스터 관리자로 OpenShift 콘솔에 로그인합니다.
  2. 관리자 화면에서 워크로드 > 배포를 클릭합니다.
  3. 프로젝트 드롭다운 목록에서 redhat-ods-applications 를 선택합니다.
  4. 이름 열에서 주석을 추가할 구성 요소의 배포 이름을 클릭합니다.

    참고

    각 구성 요소의 배포 이름에 대한 자세한 내용은 구성 요소 리소스 사용자 지정 개요 를 참조하십시오.

  5. 표시되는 Deployment details 페이지에서 YAML 탭을 클릭합니다.
  6. metadata.annotations: 섹션을 찾습니다.
  7. opendatahub.io/managed: true 주석을 추가합니다.

    metadata:
      annotations:
         opendatahub.io/managed: true
    Copy to Clipboard Toggle word wrap
  8. 저장을 클릭합니다.
  9. 새로 고침을 클릭합니다.

검증

  • opendatahub.io/managed: true 주석은 구성 요소 배포의 YAML 파일에 표시됩니다.

6.4. 구성 요소 리소스 사용자 정의 다시 활성화

수동으로 비활성화한 후 구성 요소 배포 리소스의 사용자 지정을 다시 활성화할 수 있습니다.

중요

구성 요소 배포의 YAML 파일에 추가한 후 opendatahub.io/managed: 주석을 false 로 수동으로 제거하거나 설정하면 예기치 않은 클러스터 문제가 발생할 수 있습니다.

배포에서 주석을 제거하려면 다음 단계를 사용하여 배포를 삭제합니다. 배포에 대한 컨트롤러 Pod는 기본 설정으로 자동으로 재배포됩니다.

사전 요구 사항

  • OpenShift 클러스터에 대한 클러스터 관리자 권한이 있습니다.

프로세스

  1. 클러스터 관리자로 OpenShift 콘솔에 로그인합니다.
  2. 관리자 화면에서 워크로드 > 배포를 클릭합니다.
  3. 프로젝트 드롭다운 목록에서 redhat-ods-applications 를 선택합니다.
  4. 이름 열에서 주석을 제거할 구성 요소의 배포 이름을 클릭합니다.
  5. 옵션 메뉴 Options menu 를 클릭합니다.
  6. 배포 삭제를 클릭합니다.

검증

  • 배포에 대한 컨트롤러 Pod는 기본 설정으로 자동으로 재배포됩니다.

7장. 가속기 활성화

7.1. NVIDIA GPU 활성화

OpenShift AI에서 NVIDIA GPU를 사용하려면 먼저 NVIDIA GPU Operator를 설치해야 합니다.

중요

NVIDIA GPU 애드온은 더 이상 지원되지 않습니다. 대신 NVIDIA GPU Operator를 설치하여 GPU를 활성화합니다. 배포에 이전에 설치된 NVIDIA GPU 애드온이 있는 경우 NVIDIA GPU Operator를 설치하기 전에 Red Hat OpenShift Cluster Manager를 사용하여 클러스터에서 NVIDIA GPU 애드온을 제거합니다.

사전 요구 사항

  • OpenShift 클러스터에 로그인했습니다.
  • OpenShift 클러스터에 cluster-admin 역할이 있습니다.

프로세스

  1. OpenShift 클러스터에서 GPU 지원을 활성화하려면 NVIDIA 문서의 Red Hat OpenShift Container Platform에 대한 NVIDIA GPU Operator 의 지침을 따르십시오.
  2. migration-gpu-status ConfigMap을 삭제합니다.

    1. OpenShift 웹 콘솔에서 관리자 화면으로 전환합니다.
    2. 적절한 ConfigMap을 보려면 프로젝트를 모든 프로젝트 또는 redhat-ods-applications 로 설정합니다.
    3. migration-gpu-status ConfigMap을 검색합니다.
    4. 작업 메뉴( Cryostat)를 클릭하고 목록에서 Delete ConfigMap 을 선택합니다.

      Delete ConfigMap 대화 상자가 표시됩니다.

    5. 대화 상자를 검사하고 올바른 ConfigMap을 삭제하고 있는지 확인합니다.
    6. 삭제를 클릭합니다.
  3. 대시보드 복제본 세트를 다시 시작합니다.

    1. OpenShift 웹 콘솔에서 관리자 화면으로 전환합니다.
    2. 워크로드배포를 클릭합니다.
    3. 적절한 배포를 볼 수 있도록 프로젝트를 모든 프로젝트 또는 redhat-ods-applications 로 설정합니다.
    4. rhods-dashboard 배포를 검색합니다.
    5. 작업 메뉴( Cryostat)를 클릭하고 목록에서 롤아웃 재시작 을 선택합니다.
    6. Status 열에 롤아웃의 모든 포드가 완전히 다시 시작될 때까지 기다립니다.

검증

  • NVIDIA GPU Operator는 OpenShift 웹 콘솔 의 Operator → 설치된 Operator 페이지에 나타납니다.
  • reset migration-gpu-status 인스턴스는 AcceleratorProfile CRD(사용자 정의 리소스 정의) 세부 정보 페이지의 Instances 탭에 있습니다.
참고

OpenShift AI에서 Red Hat은 동일한 클러스터 내에서만 액셀러레이터 사용을 지원합니다. Red Hat은 NVIDIA GPUDirect 또는 NVLink와 같은 기술을 사용하여 액셀러레이터 또는 네트워크에서 가속기 간의 원격 직접 메모리 액세스(RDMA)를 지원하지 않습니다.

NVIDIA GPU Operator를 설치한 후 액셀러레이터 프로파일 작업에 설명된 대로 액셀러레이터 프로필을 생성합니다.

7.2. Intel Gaudi AI Accelerator 통합

고성능 딥 러닝 모델을 가속화하기 위해 Intel Gaudi AI 액셀러레이터를 OpenShift AI에 통합할 수 있습니다. 이러한 통합을 통해 데이터 과학자는 사용자 지정 워크벤치 인스턴스를 통해 Intel Gaudi AI 액셀러레이터와 관련된 Gaudi 라이브러리 및 소프트웨어를 사용할 수 있습니다.

Intel Gaudi AI 액셀러레이터는 최신 Gaudi 3 장치를 통해 딥 러닝 워크로드에 최적화된 성능을 제공하여 교육 속도와 에너지 효율성을 크게 개선할 수 있습니다. 이러한 가속기는 OpenShift AI에서 머신러닝 및 AI 애플리케이션을 실행하는 기업에 적합합니다.

OpenShift AI에서 Intel Gaudi AI 가속기를 활성화하려면 다음 단계를 완료해야 합니다.

  1. OperatorHub에서 Intel Gaudi AI Accelerator Operator의 버전 1.18을 설치합니다.
  2. Intel Gaudi AI 액셀러레이터에 대한 사용자 지정 워크벤치 이미지를 생성하고 구성합니다. Gaudi 액셀러레이터를 위한 사전 빌드된 워크벤치 이미지는 OpenShift AI에 포함되어 있지 않습니다.
  3. 사용자 환경에서 각 Intel Gaudi AI 장치에 대한 액셀러레이터 프로파일을 수동으로 정의하고 구성합니다.

OpenShift AI는 Intel Gaudi 3까지 Intel Gaudi 장치를 지원합니다. Intel Gaudi 3 액셀러레이터는 특히 다음을 제공합니다.

  • 개선된 교육 처리량: 고급 수십 개 처리 코어와 메모리 대역폭을 늘림으로써 대규모 모델을 교육하는 데 필요한 시간을 단축합니다.
  • 에너지 효율성: 고성능을 유지하면서 전력 소비를 낮추고 대규모 배포의 운영 비용을 줄입니다.
  • 확장 가능한 아키텍처: 여러 장치 및 노드 간 스케일링을 지원하여 OpenShift의 분산 교육 구성에 효과적으로 적용됩니다.

OpenShift 플랫폼은 Amazon EC2 DL1 인스턴스에서 Intel Gaudi AI 액셀러레이터를 사용하려면 EC2 DL1 인스턴스를 지원해야 합니다. 가속기를 활성화한 후 작업벤치 인스턴스 또는 모델에서 Intel Gaudi AI 가속기를 사용하고, 사용자 지정 워크벤치 이미지를 생성하고, 액셀러 프로파일을 구성할 수 있습니다.

배포에 있는 Intel Gaudi AI 액셀러레이터를 확인하려면 lspci 유틸리티를 사용합니다. 자세한 내용은 lspci(8) - Linux 도움말 페이지를 참조하십시오.

중요

lspci 유틸리티에 표시된 대로 배포에 Intel Gaudi AI 액셀러레이터가 있으면 장치를 사용할 준비가 되었다고 보장하지 않습니다. 모든 설치 및 구성 단계가 성공적으로 완료되었는지 확인해야 합니다.

7.2.1. Intel Gaudi AI 가속기 활성화

OpenShift AI에서 Intel Gaudi AI 액셀러레이터를 사용하려면 필요한 종속 항목을 설치하고 Intel Gaudi AI Accelerator Operator를 배포하고 환경을 구성해야 합니다.

사전 요구 사항

  • OpenShift에 로그인했습니다.
  • OpenShift에 cluster-admin 역할이 있습니다.
  • Intel Gaudi 액셀러레이터를 설치하고 사용자 환경에서 감지되었는지 확인했습니다.
  • AWS(Amazon Web Services)에서 실행 중인 경우 OpenShift 환경에서는 EC2 DL1 인스턴스를 지원합니다.

프로세스

  1. GaudiAI Operator OpenShift 설치에 설명된 대로 Intel Gaudi AI Accelerator Operator의 버전 1.18을 설치합니다.
  2. 사용자 지정 워크벤치 이미지 생성에 설명된 대로 Intel Gaudi AI 가속기용 사용자 지정 워크벤치 이미지를 만듭니다.
  3. Intel Gaudi AI Accelerator Operator를 설치한 후 액셀러레이터 프로파일 작업에 설명된 대로 액셀러레이터 프로필을 생성합니다.

검증

관리자 화면에서 Operator → 설치된 Operator 페이지로 이동합니다. 다음 Operator가 표시되는지 확인합니다.

  • Intel Gaudi AI Accelerator
  • NFD(Node Feature Discovery)
  • 커널 모듈 관리 (KMM)

8장. 분산 워크로드 관리

8.1. Kue resources 개요

클러스터 관리자는 Kueue 오브젝트(예: 리소스 플레이버, 클러스터 대기열, 로컬 대기열)를 구성하여 OpenShift 클러스터의 여러 노드에서 분산 워크로드 리소스를 관리할 수 있습니다.

참고

OpenShift AI에서 Red Hat은 공유 코호트를 지원하지 않습니다.

8.1.1. resource 플레이버

Kueue ResourceFlavor 오브젝트는 클러스터에서 사용할 수 있는 리소스 변형을 설명합니다.

클러스터의 리소스는 동종 또는 이기종 일 수 있습니다.

  • 동종 리소스는 클러스터에서 동일한 노드 유형, CPU, 메모리, 가속기 등에서 동일합니다.
  • 이기종 리소스에는 클러스터 전체에서 변형이 있습니다.

클러스터에 동종 리소스가 있거나 다양한 리소스 플레이버에 대해 별도의 할당량을 관리할 필요가 없는 경우 클러스터 관리자는 다음과 같이 default-flavor 라는 빈 ResourceFlavor 오브젝트를 생성할 수 있습니다.

홈 리소스에 대한 빈 Kueue 리소스 플레이버

apiVersion: kueue.x-k8s.io/v1beta1
kind: ResourceFlavor
metadata:
  name: default-flavor
Copy to Clipboard Toggle word wrap

클러스터에 이기종 리소스가 있는 경우 클러스터 관리자는 사용 가능한 리소스의 각 변형에 대해 다른 리소스 플레이버를 정의할 수 있습니다. 변형의 예로는 서로 다른 CPU, 다른 메모리 또는 다른 가속기 등이 있습니다. 클러스터에 여러 유형의 액셀러레이터가 있는 경우 클러스터 관리자는 각 액셀러레이터 유형에 대해 리소스 플레이버를 설정할 수 있습니다. 그런 다음 클러스터 관리자는 다음 예와 같이 레이블, 테인트 및 허용 오차를 사용하여 리소스 플레이버를 클러스터 노드와 연결할 수 있습니다.

이기종 리소스의 Kueue 리소스 플레이버의 예

apiVersion: kueue.x-k8s.io/v1beta1
kind: ResourceFlavor
metadata:
  name: "spot"
spec:
  nodeLabels:
    instance-type: spot
  nodeTaints:
  - effect: NoSchedule
    key: spot
    value: "true"
  tolerations:
  - key: "spot-taint"
    operator: "Exists"
    effect: "NoSchedule"
Copy to Clipboard Toggle word wrap

각 리소스 플레이버에 워크로드가 예상 노드에서 실행되도록 올바른 라벨 선택기 및 테인트 허용 오차가 있는지 확인합니다.

Example Kueue 리소스 구성에 제공된 구성 예제를 참조하십시오.

리소스 플레이버 구성에 대한 자세한 내용은 Kue 문서의 리소스 플레이버를 참조하십시오.

8.1.2. 클러스터 대기열

Kue ClusterQueue 오브젝트는 Pod, CPU, 메모리, 액셀러레이터와 같은 클러스터 리소스 풀을 관리합니다. 클러스터에는 여러 클러스터 큐가 있을 수 있으며 각 클러스터 대기열은 여러 리소스 플레이버를 참조할 수 있습니다.

클러스터 관리자는 대기열에서 관리하는 리소스 플레이버를 정의하고 각 리소스 플레이버의 각 리소스에 대한 할당량을 할당하도록 클러스터 큐를 구성할 수 있습니다.

다음 예제에서는 9개의 CPU, 36GiB 메모리, 5개의 Pod 및 5 NVIDIA GPU의 할당량을 할당하도록 클러스터 대기열을 구성합니다.

클러스터 대기열 예

apiVersion: kueue.x-k8s.io/v1beta1
kind: ClusterQueue
metadata:
  name: "cluster-queue"
spec:
  namespaceSelector: {} # match all.
  resourceGroups:
  - coveredResources: ["cpu", "memory", "pods", "nvidia.com/gpu"]
    flavors:
    - name: "default-flavor"
      resources:
      - name: "cpu"
        nominalQuota: 9
      - name: "memory"
        nominalQuota: 36Gi
      - name: "pods"
        nominalQuota: 5
      - name: "nvidia.com/gpu"
        nominalQuota: '5'
Copy to Clipboard Toggle word wrap

클러스터 관리자는 해당 클러스터 대기열의 할당량 제한에 대해 클러스터 큐에 대해 알려야 합니다. 클러스터 대기열은 필요한 총 리소스가 이러한 할당량 제한 내에 있는 경우에만 분산 워크로드를 시작합니다. 분산 워크로드의 리소스 요청 합계가 클러스터 큐에서 해당 리소스에 대해 지정된 할당량보다 크면 클러스터 큐에서 분산 워크로드를 허용하지 않습니다.

Example Kueue 리소스 구성에 제공된 구성 예제를 참조하십시오.

클러스터 대기열 구성에 대한 자세한 내용은 Kue 문서의 Cluster Queue 를 참조하십시오.

8.1.3. 로컬 대기열

Kue LocalQueue 오브젝트 그룹은 프로젝트에서 밀접하게 관련된 분산 워크로드를 그룹화합니다. 클러스터 관리자는 로컬 큐를 구성하여 프로젝트 이름 및 관련 클러스터 큐를 지정할 수 있습니다. 그런 다음 각 로컬 대기열은 지정된 클러스터 대기열에서 관리하는 리소스에 대한 액세스 권한을 부여합니다. 클러스터 관리자는 선택적으로 프로젝트에서 하나의 로컬 큐를 해당 프로젝트의 기본 로컬 큐로 정의할 수 있습니다.

분산 워크로드를 구성할 때 사용자는 로컬 큐 이름을 지정합니다. 클러스터 관리자가 기본 로컬 큐를 구성한 경우 사용자는 분산 워크로드 코드에서 로컬 대기열 사양을 생략할 수 있습니다.

Kue는 요청된 총 리소스가 해당 클러스터 큐에 지정된 할당량 제한 내에 있는 경우 로컬 큐와 연결된 클러스터 대기열의 분산 워크로드에 리소스를 할당합니다.

다음 예제에서는 team-a 프로젝트에 대해 team-a-queue 라는 로컬 큐를 구성하고 cluster-queue 를 연결된 클러스터 큐로 지정합니다.

로컬 대기열의 예

apiVersion: kueue.x-k8s.io/v1beta1
kind: LocalQueue
metadata:
  namespace: team-a
  name: team-a-queue
  annotations:
    kueue.x-k8s.io/default-queue: "true"
spec:
  clusterQueue: cluster-queue
Copy to Clipboard Toggle word wrap

이 예에서 kueue.x-k8s.io/default-queue: "true" 주석은 이 로컬 대기열을 team-a 프로젝트의 기본 로컬 큐로 정의합니다. 사용자가 team-a 프로젝트에서 분산 워크로드를 제출하고 분산 워크로드가 클러스터 구성에서 로컬 큐를 지정하지 않으면 Kueue는 분산 워크로드를 team-a-queue 로컬 큐로 자동으로 라우팅합니다. 그러면 분산 워크로드가 cluster-queue 클러스터 대기열에서 관리하는 리소스에 액세스할 수 있습니다.

로컬 큐 구성에 대한 자세한 내용은 Kue 문서의 로컬 큐 를 참조하십시오.

8.2. Kue 리소스 구성의 예

이 예제에서는 Kueue 리소스 플레이버 및 클러스터 대기열을 구성하는 방법을 보여줍니다.

참고

OpenShift AI에서 Red Hat은 공유 코호트를 지원하지 않습니다.

8.2.1. NVIDIA GPU

8.2.1.1. NVIDIA RTX A400 GPU 리소스 플레이버
apiVersion: kueue.x-k8s.io/v1beta1
kind: ResourceFlavor
metadata:
  name: "A400-node"
spec:
  nodeLabels:
    instance-type: nvidia-a400-node
  tolerations:
  - key: "HasGPU"
    operator: "Exists"
    effect: "NoSchedule"
Copy to Clipboard Toggle word wrap
8.2.1.2. NVIDIA RTX A1000 GPU 리소스 플레이버
apiVersion: kueue.x-k8s.io/v1beta1
kind: ResourceFlavor
metadata:
  name: "A1000-node"
spec:
  nodeLabels:
    instance-type: nvidia-a1000-node
  tolerations:
  - key: "HasGPU"
    operator: "Exists"
    effect: "NoSchedule"
Copy to Clipboard Toggle word wrap
8.2.1.3. NVIDIA RTX A400 GPU 클러스터 대기열
apiVersion: kueue.x-k8s.io/v1beta1
kind: ClusterQueue
metadata:
  name: "A400-queue"
spec:
  namespaceSelector: {} # match all.
  resourceGroups:
  - coveredResources: ["cpu", "memory", "nvidia.com/gpu"]
    - name: "A400-node"
      resources:
      - name: "cpu"
        nominalQuota: 16
      - name: "memory"
        nominalQuota: 64Gi
      - name: "nvidia.com/gpu"
        nominalQuota: 2
Copy to Clipboard Toggle word wrap
8.2.1.4. NVIDIA RTX A1000 GPU 클러스터 대기열
apiVersion: kueue.x-k8s.io/v1beta1
kind: ClusterQueue
metadata:
  name: "A1000-queue"
spec:
  namespaceSelector: {} # match all.
  resourceGroups:
  - coveredResources: ["cpu", "memory", "nvidia.com/gpu"]
    flavors:
    - name: "A1000-node"
      resources:
      - name: "cpu"
        nominalQuota: 16
      - name: "memory"
        nominalQuota: 64Gi
      - name: "nvidia.com/gpu"
        nominalQuota: 2
Copy to Clipboard Toggle word wrap

8.3. 분산 워크로드에 대한 할당량 관리 구성

여러 데이터 과학 프로젝트 간에 리소스를 공유할 수 있도록 클러스터에서 분산 워크로드에 대한 할당량을 구성합니다.

사전 요구 사항

  • cluster-admin 역할을 사용하여 OpenShift에 로그인했습니다.
  • OpenShift CLI(명령줄 인터페이스)를 다운로드하여 설치했습니다. OpenShift CLI(OpenShift Dedicated) 설치 또는 OpenShift CLI(AWS에 Red Hat OpenShift Service) 설치를 참조하십시오.
  • 분산 워크로드 구성 요소 설치에 설명된 대로 필요한 분산 워크로드 구성 요소를 설치했습니다.
  • 워크벤치가 포함된 데이터 사이언스 프로젝트를 생성했으며 워크벤치는 CodeFlare SDK를 포함하는 기본 노트북 이미지를 실행하고 있습니다(예: Standard Data Science 노트북). 프로젝트를 만드는 방법에 대한 자세한 내용은 데이터 과학 프로젝트 만들기를 참조하십시오.
  • 충분한 리소스가 있습니다. 기본 OpenShift AI 리소스 외에도 분산 워크로드 인프라를 배포하려면 1.6 vCPU 및 2GiB 메모리가 필요합니다.
  • 리소스는 클러스터에서 물리적으로 사용할 수 있습니다.

    참고

    OpenShift AI에서 Red Hat은 클러스터당 단일 클러스터 대기열(즉, 동종 클러스터)만 지원하며 빈 리소스 플레이버만 지원합니다. Kue resources에 대한 자세한 내용은 Kueue resources 개요 를 참조하십시오.

  • GPU(그래픽 처리 장치)를 사용하려는 경우 OpenShift AI에서 GPU 지원을 활성화했습니다. NVIDIA GPU 활성화를 참조하십시오.

    참고

    OpenShift AI에서 Red Hat은 분산 워크로드에 대한 NVIDIA GPU 액셀러레이터만 지원합니다.

프로세스

  1. 터미널 창에서 클러스터 관리자로 OpenShift 클러스터에 로그인하지 않은 경우 다음 예와 같이 OpenShift CLI에 로그인합니다.

    $ oc login <openshift_cluster_url> -u <admin_username> -p <password>
    Copy to Clipboard Toggle word wrap
  2. 다음과 같이 빈 Kue 리소스 플레이버를 생성합니다.

    1. default_flavor.yaml 이라는 파일을 생성하고 다음 콘텐츠로 채웁니다.

      빈 Kue 리소스 플레이버

      apiVersion: kueue.x-k8s.io/v1beta1
      kind: ResourceFlavor
      metadata:
        name: default-flavor
      Copy to Clipboard Toggle word wrap

    2. default-flavor 오브젝트를 생성하려면 구성을 적용합니다.

      $ oc apply -f default_flavor.yaml
      Copy to Clipboard Toggle word wrap
  3. 다음과 같이 클러스터 큐를 생성하여 빈 Kueue 리소스 플레이버를 관리합니다.

    1. cluster_queue.yaml 이라는 파일을 생성하고 다음 콘텐츠로 채웁니다.

      클러스터 대기열 예

      apiVersion: kueue.x-k8s.io/v1beta1
      kind: ClusterQueue
      metadata:
        name: "cluster-queue"
      spec:
        namespaceSelector: {}  # match all.
        resourceGroups:
        - coveredResources: ["cpu", "memory", "nvidia.com/gpu"]
          flavors:
          - name: "default-flavor"
            resources:
            - name: "cpu"
              nominalQuota: 9
            - name: "memory"
              nominalQuota: 36Gi
            - name: "nvidia.com/gpu"
              nominalQuota: 5
      Copy to Clipboard Toggle word wrap

    2. 예제 할당량 값(9개의 CPU, 36GiB 메모리, 5 NVIDIA GPU)을 클러스터 큐에 적절한 값으로 바꿉니다. 클러스터 대기열은 필요한 총 리소스가 이러한 할당량 제한 내에 있는 경우에만 분산 워크로드를 시작합니다.

      spec.resourceGroups 섹션을 다음과 같이 업데이트하여 요청된 값이 0인 경우에도 사용자가 요청할 수 있는 각 리소스에 대한 할당량을 지정해야 합니다.

      • coveredResources 목록에 리소스 이름을 포함합니다.
      • nominalQuota 값이 0인 경우에도 flavor.resources 섹션에 리소스 이름과 nominalQuota 를 지정합니다.
    3. 구성을 적용하여 cluster-queue 오브젝트를 생성합니다.

      $ oc apply -f cluster_queue.yaml
      Copy to Clipboard Toggle word wrap
  4. 다음과 같이 클러스터 큐를 가리키는 로컬 큐를 생성합니다.

    1. local_queue.yaml 이라는 파일을 생성하고 다음 콘텐츠로 채웁니다.

      로컬 대기열의 예

      apiVersion: kueue.x-k8s.io/v1beta1
      kind: LocalQueue
      metadata:
        namespace: test
        name: local-queue-test
        annotations:
          kueue.x-k8s.io/default-queue: 'true'
      spec:
        clusterQueue: cluster-queue
      Copy to Clipboard Toggle word wrap

      kue.x-k8s.io/default-queue: 'true' 주석은 이 큐를 기본 큐로 정의합니다. 분산 워크로드는 데이터 사이언스 파이프라인 또는 Microsoft Visual Studio Code 파일의 ClusterConfiguration 섹션에 local_queue 값이 지정되지 않은 경우 이 큐에 제출됩니다.

    2. namespace 값을 업데이트하여 Cryostat 클러스터를 생성하는 ClusterConfiguration 섹션과 동일한 네임스페이스를 지정합니다.
    3. 선택 사항: 그에 따라 name 값을 업데이트합니다.
    4. 구성을 적용하여 local-queue 오브젝트를 생성합니다.

      $ oc apply -f local_queue.yaml
      Copy to Clipboard Toggle word wrap

      클러스터 대기열은 리소스를 할당하여 로컬 큐에서 분산 워크로드를 실행합니다.

검증

다음과 같이 프로젝트의 로컬 대기열 상태를 확인합니다.

$ oc get -n <project-name> localqueues
Copy to Clipboard Toggle word wrap

8.4. CodeFlare Operator 구성

OpenShift AI의 분산 워크로드에 대한 CodeFlare Operator의 기본 구성을 변경하려면 관련 구성 맵을 편집할 수 있습니다.

사전 요구 사항

  • cluster-admin 역할을 사용하여 OpenShift에 로그인했습니다.
  • 분산 워크로드 구성 요소 설치에 설명된 대로 필요한 분산 워크로드 구성 요소를 설치했습니다.

프로세스

  1. OpenShift 콘솔에서 워크로드 → ConfigMap 클릭합니다.
  2. 프로젝트 목록에서 redhat-ods-applications 를 선택합니다.
  3. codeflare-operator-config 구성 맵을 검색하고 구성 맵 이름을 클릭하여 ConfigMap 세부 정보 페이지를 엽니다.
  4. YAML 탭을 클릭하여 구성 맵 사양을 표시합니다.
  5. data:config.yaml:kuberay 섹션에서 다음 항목을 편집할 수 있습니다.

    ingressDomain

    이 구성 옵션은 기본적으로 null(ingressDomain: "")입니다. OpenShift에서 Ingress 컨트롤러가 실행되지 않는 한 이 옵션을 변경하지 마십시오. OpenShift AI는 다음 예와 같이 이 값을 사용하여 모든 Cryostat 클러스터에 대한 대시보드 및 클라이언트 경로를 생성합니다.

    대시보드 및 클라이언트 경로의 예

    ray-dashboard-<clustername>-<namespace>.<your.ingress.domain>
    ray-client-<clustername>-<namespace>.<your.ingress.domain>
    Copy to Clipboard Toggle word wrap

    mTLSEnabled

    이 구성 옵션은 기본적으로 활성화되어 있습니다(mTLSEnabled: true). 이 옵션을 활성화하면 Cryostat 클러스터 노드 간에 상호 인증 형식인 mTLS(mutual Transport Layer Security)에 사용되는 인증서를 생성합니다. 이 옵션을 활성화하면 ca-secret-_<cluster_name>_ secret 에서 생성된 인증서를 다운로드하여 mTLS 통신에 필요한 인증서를 생성한 다음 필요한 Cryostat 환경 변수를 설정하지 않는 한 Cryostat 헤드 노드에 연결할 수 없습니다. 그런 다음 사용자는 변경 사항을 적용하려면 Cryostat 클라이언트를 다시 초기화해야 합니다. CodeFlare SDK는 Cryostat 클라이언트의 인증 프로세스를 단순화하기 위해 다음과 같은 기능을 제공합니다.

    Cryostat 클라이언트 인증 코드의 예

    from codeflare_sdk import generate_cert
    
    generate_cert.generate_tls_cert(cluster.config.name, cluster.config.namespace)
    generate_cert.export_env(cluster.config.name, cluster.config.namespace)
    
    ray.init(cluster.cluster_uri())
    Copy to Clipboard Toggle word wrap

    rayDashboardOauthEnabled

    이 구성 옵션은 기본적으로 활성화되어 있습니다(rayDashboardOAuthEnabled: true). 이 옵션을 활성화하면 OpenShift AI에서 Cryostat 클러스터 헤드 노드 앞에 OpenShift OAuth 프록시를 배치합니다. 그런 다음 사용자는 브라우저를 통해 Cryostat 대시보드에 액세스할 때 OpenShift 클러스터 로그인 자격 증명을 사용하여 인증해야 합니다. 사용자가 다른 방식으로 Cryostat 대시보드에 액세스하려는 경우(예: Cryostat JobSubmissionClient 클래스를 사용하여) 다음 예와 같이 권한 부여 헤더를 요청의 일부로 설정해야 합니다.

    인증 헤더의 예

    {Authorization: "Bearer <your-openshift-token>"}
    Copy to Clipboard Toggle word wrap

  6. 변경 사항을 저장하려면 저장을 클릭합니다.
  7. 변경 사항을 적용하려면 Pod를 삭제합니다.

    1. 워크로드포드 를 클릭합니다.
    2. codeflare-operator-manager- <pod-id> Pod 를 찾습니다.
    3. 해당 Pod의 옵션 메뉴( Cryostat)를 클릭한 다음 Delete Pod 를 클릭합니다. 변경 사항이 적용된 후 Pod가 다시 시작됩니다.

검증

다음과 같이 codeflare-operator-manager Pod의 상태를 확인합니다.

  1. OpenShift 콘솔에서 워크로드 → 배포를 클릭합니다.
  2. codeflare-operator-manager 배포를 검색한 다음 배포 이름을 클릭하여 배포 세부 정보 페이지를 엽니다.
  3. 포드 탭을 클릭합니다. codeflare-operator-manager- <pod-id > Pod의 상태가 Running 이면 Pod를 사용할 준비가 된 것입니다. Pod에 대한 자세한 내용을 보려면 포드 이름을 클릭하여 Pod 세부 정보 페이지를 연 다음 로그 탭을 클릭합니다.

8.5. 관리자를 위한 분산 워크로드의 일반적인 문제 해결

사용자가 분산 워크로드와 관련된 Red Hat OpenShift AI에 오류가 발생하는 경우 이 섹션을 읽고 문제를 해결하는 방법을 알아보십시오.

문제가 여기에 또는 릴리스 노트에 설명되어 있지 않은 경우 Red Hat 지원팀에 문의하십시오.

8.5.1. 사용자의 Cryostat 클러스터가 일시 중단됨

문제

클러스터 큐 구성에 지정된 리소스 할당량이 충분하지 않거나 리소스 플레이버가 아직 생성되지 않을 수 있습니다.

진단

사용자의 Cryostat 클러스터 헤드 Pod 또는 작업자 Pod는 일시 중단된 상태로 유지됩니다. Cryostat Cluster 리소스로 생성된 Workloads 리소스의 상태를 확인합니다. status.conditions.message 필드는 다음 예와 같이 일시 중지된 상태에 대한 이유를 제공합니다.

status:
 conditions:
   - lastTransitionTime: '2024-05-29T13:05:09Z'
     message: 'couldn''t assign flavors to pod set small-group-jobtest12: insufficient quota for nvidia.com/gpu in flavor default-flavor in ClusterQueue'
Copy to Clipboard Toggle word wrap

해결

  1. 다음과 같이 resource 플레이버가 생성되었는지 확인합니다.

    1. OpenShift 콘솔의 프로젝트 목록에서 사용자의 프로젝트를 선택합니다.
    2. 홈 → 검색을 클릭하고 리소스 목록에서 ResourceFlavor 를 선택합니다.
    3. 필요한 경우 resource 플레이버를 만듭니다.
  2. 사용자 코드에서 클러스터 대기열 구성을 확인하여 요청된 리소스가 프로젝트에 정의된 제한 내에 있는지 확인합니다.
  3. 필요한 경우 리소스 할당량을 늘립니다.

리소스 플레이버 및 할당량 구성에 대한 자세한 내용은 분산 워크로드에 대한 할당량 관리 구성을 참조하십시오.

8.5.2. 사용자의 Cryostat 클러스터가 failed 상태입니다.

문제

사용자가 리소스가 부족할 수 있습니다.

진단

사용자의 Cryostat 클러스터 헤드 Pod 또는 작업자 Pod가 실행되지 않습니다. Cryostat 클러스터가 생성되면 처음에 failed 상태가 됩니다. 이 실패 상태는 일반적으로 조정 프로세스가 완료되고 Cryostat 클러스터 Pod가 실행된 후 해결됩니다.

해결

실패한 상태가 지속되면 다음 단계를 완료합니다.

  1. OpenShift 콘솔의 프로젝트 목록에서 사용자의 프로젝트를 선택합니다.
  2. 워크로드 → 포드 를 클릭합니다.
  3. 사용자의 포드 이름을 클릭하여 Pod 세부 정보 페이지를 엽니다.
  4. 이벤트 탭을 클릭하고 Pod 이벤트를 검토하여 문제의 원인을 확인합니다.
  5. Cryostat Cluster 리소스로 생성된 Workloads 리소스의 상태를 확인합니다. status.conditions.message 필드는 실패 상태의 이유를 제공합니다.

문제

사용자가 cluster.up() 명령을 실행한 후 다음 오류가 표시됩니다.

ApiException: (500)
Reason: Internal Server Error
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Internal error occurred: failed calling webhook \"mraycluster.ray.openshift.ai\": failed to call webhook: Post \"https://codeflare-operator-webhook-service.redhat-ods-applications.svc:443/mutate-ray-io-v1-raycluster?timeout=10s\": no endpoints available for service \"codeflare-operator-webhook-service\"","reason":"InternalError","details":{"causes":[{"message":"failed calling webhook \"mraycluster.ray.openshift.ai\": failed to call webhook: Post \"https://codeflare-operator-webhook-service.redhat-ods-applications.svc:443/mutate-ray-io-v1-raycluster?timeout=10s\": no endpoints available for service \"codeflare-operator-webhook-service\""}]},"code":500}
Copy to Clipboard Toggle word wrap

진단

CodeFlare Operator Pod가 실행되지 않을 수 있습니다.

해결

  1. OpenShift 콘솔의 프로젝트 목록에서 사용자의 프로젝트를 선택합니다.
  2. 워크로드 → 포드 를 클릭합니다.
  3. CodeFlare Operator Pod가 실행 중인지 확인합니다. 필요한 경우 CodeFlare Operator Pod를 다시 시작합니다.
  4. CodeFlare Operator Pod의 로그를 검토하여 다음 예와 같이 웹 후크 서버가 제공하는지 확인합니다.

    INFO	controller-runtime.webhook	  Serving webhook server	{"host": "", "port": 9443}
    Copy to Clipboard Toggle word wrap

문제

사용자가 cluster.up() 명령을 실행한 후 다음 오류가 표시됩니다.

ApiException: (500)
Reason: Internal Server Error
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Internal error occurred: failed calling webhook \"mraycluster.kb.io\": failed to call webhook: Post \"https://kueue-webhook-service.redhat-ods-applications.svc:443/mutate-ray-io-v1-raycluster?timeout=10s\": no endpoints available for service \"kueue-webhook-service\"","reason":"InternalError","details":{"causes":[{"message":"failed calling webhook \"mraycluster.kb.io\": failed to call webhook: Post \"https://kueue-webhook-service.redhat-ods-applications.svc:443/mutate-ray-io-v1-raycluster?timeout=10s\": no endpoints available for service \"kueue-webhook-service\""}]},"code":500}
Copy to Clipboard Toggle word wrap

진단

Kueue pod가 실행되지 않을 수 있습니다.

해결

  1. OpenShift 콘솔의 프로젝트 목록에서 사용자의 프로젝트를 선택합니다.
  2. 워크로드 → 포드 를 클릭합니다.
  3. Kueue pod가 실행 중인지 확인합니다. 필요한 경우 Kueue pod를 다시 시작합니다.
  4. Kueue Pod의 로그를 검토하여 다음 예와 같이 웹 후크 서버가 제공하는지 확인합니다.

    {"level":"info","ts":"2024-06-24T14:36:24.255137871Z","logger":"controller-runtime.webhook","caller":"webhook/server.go:242","msg":"Serving webhook server","host":"","port":9443}
    Copy to Clipboard Toggle word wrap

8.5.5. 사용자의 Cryostat 클러스터가 시작되지 않음

문제

사용자가 cluster.up() 명령을 실행한 후 cluster.details() 명령 또는 cluster.status() 명령을 실행할 때 클러스터 상태는 Ready 로 변경하는 대신 Starting 으로 유지됩니다. Pod가 생성되지 않습니다.

진단

Cryostat Cluster 리소스로 생성된 Workloads 리소스의 상태를 확인합니다. status.conditions.message 필드는 Starting 상태에 남아 있는 이유를 제공합니다. 마찬가지로 Cryostat Cluster 리소스의 status.conditions.message 필드를 확인합니다.

해결

  1. OpenShift 콘솔의 프로젝트 목록에서 사용자의 프로젝트를 선택합니다.
  2. 워크로드 → 포드 를 클릭합니다.
  3. Kube Cryostat Pod가 실행 중인지 확인합니다. 필요한 경우 Kube Cryostat Pod를 다시 시작합니다.
  4. Kube Cryostat Pod의 로그를 검토하여 오류를 확인합니다.

문제

사용자가 cluster.up() 명령을 실행한 후 다음 오류가 표시됩니다.

Default Local Queue with kueue.x-k8s.io/default-queue: true annotation not found please create a default Local Queue or provide the local_queue name in Cluster Configuration.
Copy to Clipboard Toggle word wrap

진단

기본 로컬 큐가 정의되어 있지 않으며 클러스터 구성에 로컬 큐가 지정되지 않습니다.

해결

  1. 다음과 같이 사용자 프로젝트에 로컬 큐가 있는지 확인합니다.

    1. OpenShift 콘솔의 프로젝트 목록에서 사용자의 프로젝트를 선택합니다.
    2. 홈 → 검색을 클릭하고 리소스 목록에서 LocalQueue 를 선택합니다.
    3. 로컬 큐를 찾을 수 없는 경우 로컬 큐를 만듭니다.
    4. 사용자에게 프로젝트의 로컬 대기열 세부 정보를 제공하고 클러스터 구성에 로컬 큐를 추가할 것을 권장합니다.
  2. 기본 로컬 큐를 정의합니다.

    로컬 대기열 생성 및 기본 로컬 대기열 정의에 대한 자세한 내용은 분산 워크로드에 대한 할당량 관리 구성을 참조하십시오.

문제

사용자가 cluster.up() 명령을 실행한 후 다음 오류가 표시됩니다.

local_queue provided does not exist or is not in this namespace. Please provide the correct local_queue name in Cluster Configuration.
Copy to Clipboard Toggle word wrap

진단

클러스터 구성의 로컬 큐에 잘못된 값이 지정되거나 잘못된 기본 로컬 큐가 정의됩니다. 지정된 로컬 큐가 존재하지 않거나 다른 네임스페이스에 있습니다.

해결

  1. OpenShift 콘솔의 프로젝트 목록에서 사용자의 프로젝트를 선택합니다.

    1. 검색을 클릭하고 리소스 목록에서 LocalQueue 를 선택합니다.
    2. 다음 방법 중 하나로 문제를 해결합니다.

      • 로컬 큐를 찾을 수 없는 경우 로컬 큐를 만듭니다.
      • 하나 이상의 로컬 대기열이 있는 경우 사용자에게 프로젝트의 로컬 대기열 세부 정보를 제공합니다. 사용자에게 클러스터 구성에 로컬 대기열 이름을 올바르게 지정하고 클러스터 구성의 namespace 값이 프로젝트 이름과 일치하도록 지시할 수 있습니다. 사용자가 클러스터 구성에서 네임스페이스 값을 지정하지 않으면 현재 프로젝트에서 Cryostat 클러스터가 생성됩니다.
    3. 기본 로컬 큐를 정의합니다.

      로컬 대기열 생성 및 기본 로컬 대기열 정의에 대한 자세한 내용은 분산 워크로드에 대한 할당량 관리 구성을 참조하십시오.

문제

사용자가 cluster.up() 명령을 실행한 후 다음 텍스트와 유사한 오류가 표시됩니다.

RuntimeError: Failed to get RayCluster CustomResourceDefinition: (403)
Reason: Forbidden
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"rayclusters.ray.io is forbidden: User \"system:serviceaccount:regularuser-project:regularuser-workbench\" cannot list resource \"rayclusters\" in API group \"ray.io\" in the namespace \"regularuser-project\"","reason":"Forbidden","details":{"group":"ray.io","kind":"rayclusters"},"code":403}
Copy to Clipboard Toggle word wrap

진단

올바른 OpenShift 로그인 인증 정보는 사용자 노트북 코드의 TokenAuthentication 섹션에 지정되지 않습니다.

해결

  1. 다음과 같이 사용자에게 올바른 OpenShift 로그인 인증 정보를 식별하고 지정하도록 지시합니다.

    1. OpenShift 콘솔 헤더에서 사용자 이름을 클릭하고 로그인 복사 명령을 클릭합니다.
    2. 열리는 새 탭에서 사용할 자격 증명이 있는 사용자로 로그인합니다.
    3. 토큰 표시를 클릭합니다.
    4. 이 토큰 섹션으로 로그인에서 토큰 서버 값을 복사합니다.
    5. 다음과 같이 노트북 코드에서 복사된 토큰서버 값을 지정합니다.

      auth = TokenAuthentication(
          token = "<token>",
          server = "<server>",
          skip_tls=False
      )
      auth.login()
      Copy to Clipboard Toggle word wrap
  2. 사용자에게 올바른 권한이 있고 rhoai-users 그룹의 일부인지 확인합니다.

문제

Kueue는 워크로드를 준비 상태로 표시하기 전에 모든 워크로드 Pod가 프로비저닝 및 실행될 수 있도록 일정 동안 기다립니다. 기본적으로 Kueue는 5 분 동안 기다립니다. 5분 대기 기간이 지난 후에도 Pod 이미지가 매우 크고 여전히 가져오는 경우 Kueue는 워크로드에 실패하고 관련 Pod를 종료합니다.

진단

  1. OpenShift 콘솔의 프로젝트 목록에서 사용자의 프로젝트를 선택합니다.
  2. 워크로드 → 포드 를 클릭합니다.
  3. 사용자의 포드 이름을 클릭하여 Pod 세부 정보 페이지를 엽니다.
  4. 이벤트 탭을 클릭하고 Pod 이벤트를 검토하여 이미지 가져오기가 성공적으로 완료되었는지 확인합니다.

해결

Pod가 이미지를 가져오는 데 5분 이상 걸리면 다음 방법 중 하나로 문제를 해결합니다.

  • Kueue에서 관리하는 리소스에 대한 OnFailure 재시작 정책을 추가합니다.
  • redhat-ods-applications 네임스페이스에서 kue-manager-config ConfigMap을 편집하여 waitForPodsReady 속성에 대한 사용자 정의 타임아웃을 설정합니다. 이 구성 옵션에 대한 자세한 내용은 Kue 문서의 waitForPodsReady 활성화를 참조하십시오.

9장. 데이터 백업

9.1. Amazon EBS에서 스토리지 데이터 백업

Red Hat은 PVC(영구 볼륨 클레임)의 데이터를 정기적으로 백업하는 것이 좋습니다. OpenShift AI를 제거할 때 모든 PVC가 삭제되므로 사용자를 삭제하기 전에 데이터를 백업하는 것이 특히 중요합니다.

사전 요구 사항

  • Red Hat OpenShift Cluster Manager (https://console.redhat.com/openshift/)에 대한 인증 정보가 있습니다.
  • OpenShift Dedicated 클러스터에 대한 관리자 액세스 권한이 있어야 합니다.
  • AWS(Amazon Web Services) 계정에 OpenShift Dedicated 클러스터가 배포되어 있는 인증 정보가 있습니다.

프로세스

  1. 백업할 PV(영구 볼륨)의 ID를 확인합니다.

    1. OpenShift Dedicated 웹 콘솔에서 관리자 화면으로 변경합니다.
    2. 프로젝트를 클릭합니다.
    3. rhods-notebooks 프로젝트를 클릭합니다.

      프로젝트의 세부 정보 페이지가 열립니다.

    4. Inventory 섹션에서 PersistentVolumeClaims 를 클릭합니다.

      PersistentVolumeClaims 페이지가 열립니다.

    5. 백업하려는 PV(영구 볼륨)의 ID를 확인합니다.

      참고

      AWS 인스턴스에서 백업할 올바른 EBS 볼륨을 식별하는 데 PV(영구 볼륨)가 필요합니다.

  2. 백업하려는 PV가 포함된 EBS 볼륨을 찾습니다.

    자세한 내용은 Amazon Web Services 설명서: Amazon EBS 스냅샷 생성을 참조하십시오.

    1. AWS( https://aws.amazon.com)에 로그인하고 OpenShift Dedicated 클러스터가 배포된 리전을 보고 있는지 확인합니다.https://aws.amazon.com
    2. 서비스를 클릭합니다.
    3. ComputeEC2 를 클릭합니다.
    4. 측면 탐색에서 Elastic Block Storage → 볼륨 을 클릭합니다.

      Volumes 페이지가 열립니다.

    5. 검색 모음에서 이전에 기록한 PV(영구 볼륨)의 ID를 입력합니다.

      볼륨 페이지가 다시 로드되어 검색 결과가 표시됩니다.

    6. 표시된 볼륨을 클릭하고 모든 kubernetes.io/created-for/pvc/namespace 태그에 rhods-notebooks, 및 모든 kubernetes.io/created-for/pvc/name 태그가 EC2 볼륨이 사용 중인 영구 볼륨의 이름과 일치하는지 확인합니다(예: jup ter-nb-user1-pvc ).
  3. PV(영구 볼륨)가 포함된 EBS 볼륨을 백업합니다.

    1. 백업할 볼륨을 마우스 오른쪽 버튼으로 클릭하고 목록에서 Create Snapshot 을 선택합니다.

      스냅샷 생성 페이지가 열립니다.

    2. 볼륨에 대한 설명을 입력합니다.
    3. 스냅샷 생성을 클릭합니다.

      볼륨의 스냅샷이 생성됩니다.

    4. 닫기를 클릭합니다.

검증

  • 생성한 스냅샷은 AWS의 스냅샷 페이지에 표시됩니다.

9.2. Google 영구 디스크에서 스토리지 데이터 백업

Red Hat은 PVC(영구 볼륨 클레임)의 데이터를 정기적으로 백업하는 것이 좋습니다. OpenShift AI가 제거될 때 모든 PVC가 삭제되므로 사용자를 삭제하기 전에 데이터를 백업하는 것이 특히 중요합니다.

사전 요구 사항

  • Red Hat OpenShift Cluster Manager (https://console.redhat.com/openshift/)에 대한 인증 정보가 있습니다.
  • OpenShift Dedicated 클러스터에 대한 관리자 액세스 권한이 있어야 합니다.
  • GCP(Google Cloud Platform) 계정에 OpenShift Dedicated 클러스터가 배포되어 있는 인증 정보가 있습니다.

프로세스

  1. 백업할 PV(영구 볼륨)의 ID를 확인합니다.

    1. OpenShift Dedicated 웹 콘솔에서 관리자 화면으로 변경합니다.
    2. 프로젝트를 클릭합니다.
    3. rhods-notebooks 프로젝트를 클릭합니다.

      프로젝트의 세부 정보 페이지가 열립니다.

    4. Inventory 섹션에서 PersistentVolumeClaims 를 클릭합니다.

      PersistentVolumeClaims 페이지가 열립니다.

    5. 백업하려는 PV(영구 볼륨)의 ID를 확인합니다.

      GCP 인스턴스에서 백업하려면 올바른 영구 디스크를 식별하는 데 PV(영구 볼륨) ID가 필요합니다.

  2. 백업하려는 PV가 포함된 영구 디스크를 찾습니다.

    1. Google Cloud 콘솔( https://console.cloud.google.com)에 로그인하고 OpenShift Dedicated 클러스터가 배포된 리전을 보고 있는지 확인합니다.https://console.cloud.google.com/
    2. 탐색 메뉴( Cryostat)를 클릭한 다음 Compute Engine 을 클릭합니다.
    3. 측면 탐색의 스토리지 아래의 디스크를 클릭합니다.

      디스크 페이지가 열립니다.

    4. 필터 쿼리 상자에 이전에 기록한 PV(영구 볼륨)의 ID를 입력합니다.

      디스크 페이지가 다시 로드되어 검색 결과가 표시됩니다.

    5. 표시된 디스크를 클릭하고 모든 kubernetes.io/created-for/pvc/namespace 태그에 rhods-notebooks, 및 모든 kubernetes.io/created-for/pvc/name 태그가 영구 디스크가 사용 중인 영구 볼륨의 이름과 일치하는지 확인합니다(예: jup terhub-nb-user1-pvc ).
  3. PV(영구 볼륨)가 포함된 영구 디스크를 백업합니다.

    1. 상단 탐색에서 CREATE SNAPSHOT 을 선택합니다.

      스냅샷 생성 페이지가 열립니다.

    2. 스냅샷의 고유한 이름을 입력합니다.
    3. 소스 디스크에서 백업할 영구 디스크가 표시되는지 확인합니다.
    4. 필요에 따라 선택적 설정을 변경합니다.
    5. 만들기를 클릭합니다.

      영구 디스크의 스냅샷이 생성됩니다.

검증

  • 생성한 스냅샷은 GCP의 스냅샷 페이지에 표시됩니다.

법적 공지

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동