OpenShift AI 관리
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 사용자 유형을 설명합니다.
| 사용자 유형 | 권한 |
|---|---|
| 사용자 | 머신러닝 운영(MLOps) 엔지니어와 데이터 과학자는 워크벤치 및 데이터 사이언스 파이프라인과 같은 Red Hat OpenShift AI의 개별 구성 요소에 액세스하고 사용할 수 있습니다. 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 세션에는 영향을 미치지 않습니다. 즉, 사용자의 권한이 변경되면 해당 사용자가 변경 사항을 적용하려면 모든 현재 세션에서 로그아웃해야 합니다.
추가 리소스
ROSA( OpenShift Dedicated cluster administration ) 또는 Red Hat OpenShift Service on AWS(ROSA) 클러스터 관리를 참조하십시오.
1.2. OpenShift AI 사용자 보기 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift AI 사용자 그룹을 정의한 경우 이러한 그룹에 속하는 사용자를 볼 수 있습니다.
사전 요구 사항
- Red Hat OpenShift AI 사용자 그룹, 관리자 그룹 또는 둘 다 있습니다.
-
cluster-admin역할이 있거나dedicated-admins관리자 그룹의 일부입니다.dedicated-admins그룹은 OpenShift Dedicated에만 적용됩니다. - OpenShift 클러스터에 지원되는 ID 공급자를 구성했습니다.
프로세스
- OpenShift 웹 콘솔에서 사용자 관리 → 그룹을 클릭합니다.
보려는 사용자가 포함된 그룹의 이름을 클릭합니다.
-
관리 사용자의 경우 관리자 그룹의 이름을 클릭합니다. 예:
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에 대한 관리자 그룹 및 사용자 그룹을 정의했습니다.
프로세스
- OpenShift 웹 콘솔에서 사용자 관리 → 그룹을 클릭합니다.
사용자를 추가할 그룹의 이름을 클릭합니다.
-
관리 사용자의 경우 관리자 그룹(예:
rhoai-admins)을 클릭합니다. 일반 사용자의 경우 사용자 그룹(예:
rhoai-users)을 클릭합니다.해당 그룹의 그룹 세부 정보 페이지가 표시됩니다.
-
관리 사용자의 경우 관리자 그룹(예:
작업 → 사용자 추가를 클릭합니다.
사용자 추가 대화 상자가 나타납니다.
- 사용자 필드에 그룹에 추가할 관련 사용자 이름을 입력합니다.
- 저장을 클릭합니다.
검증
- 각 그룹의 세부 정보 탭을 클릭하고 사용자 섹션에 추가한 사용자 이름이 포함되어 있는지 확인합니다.
1.4. OpenShift AI 관리자 및 사용자 그룹 선택 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 OpenShift에서 인증된 모든 사용자는 OpenShift AI에 액세스할 수 있습니다.
또한 기본적으로 cluster-admin 권한이 있는 사용자는 OpenShift AI 관리자입니다. 클러스터 관리자는 OpenShift 클러스터의 모든 프로젝트에서 모든 작업을 수행할 수 있는 슈퍼유저입니다. 로컬 바인딩을 통해 사용자에게 바인딩하면 할당량은 물론 프로젝트의 모든 리소스에 대한 모든 조치를 완전히 제어할 수 있습니다.
클러스터 관리자 사용자가 OpenShift에서 추가 관리자 및 사용자 그룹을 정의한 후 OpenShift AI 대시보드에서 해당 그룹을 선택하여 OpenShift AI에 해당 그룹을 추가할 수 있습니다.
사전 요구 사항
- OpenShift AI 관리자 권한이 있는 사용자로 OpenShift AI에 로그인했습니다.
- OpenShift AI의 관리자 및 사용자 그룹을 선택하려는 그룹이 이미 OpenShift에 있습니다. 자세한 내용은 사용자 및 그룹 관리를 참조하십시오.
프로세스
- OpenShift AI 대시보드에서 설정 → 사용자 관리를 클릭합니다.
- OpenShift AI 관리자 그룹: 데이터 과학 관리자 그룹에서 텍스트 상자를 클릭하고 OpenShift 그룹을 선택합니다. 이 프로세스를 반복하여 여러 관리자 그룹을 정의합니다.
OpenShift AI 사용자 그룹: Under Data Science 사용자 그룹 을 선택하고 텍스트 상자를 클릭하고 OpenShift 그룹을 선택합니다. 이 프로세스를 반복하여 여러 사용자 그룹을 정의합니다.
중요system:authenticated설정을 사용하면 OpenShift에서 인증된 모든 사용자가 OpenShift AI에 액세스할 수 있습니다.- 변경 사항 저장을 클릭합니다.
검증
- 관리자 사용자는 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 관리자는 다른 사용자가 소유한 노트북 서버를 중지하여 클러스터에서 리소스 사용을 줄이거나 클러스터의 사용자 및 해당 리소스를 제거하는 과정의 일부로 중지할 수 있습니다.
사전 요구 사항
- OpenShift AI 관리자 권한이 있는 사용자로 OpenShift AI에 로그인했습니다.
- 유나피터 노트북 서버 시작에 설명된 대로 sendpyter 애플리케이션을 시작했습니다.
- 중지하려는 노트북 서버가 실행 중입니다.
프로세스
- sendpyter를 시작할 때 열리는 페이지에서 Administration 탭을 클릭합니다.
하나 이상의 서버를 중지합니다.
하나 이상의 특정 서버를 중지하려면 다음 작업을 수행합니다.
- 사용자 섹션에서 노트북 서버가 속한 사용자를 찾습니다.
노트북 서버를 중지하려면 다음 작업 중 하나를 수행합니다.
- 관련 사용자 옆에 있는 작업 메뉴(Cryostat )를 클릭하고 중지 서버 를 선택합니다.
관련 사용자 옆에 있는 View server (서버 보기)를 클릭한 다음 노트북 서버 중지 를 클릭합니다.
서버 중지 대화 상자가 나타납니다.
- 서버 중지 를 클릭합니다.
모든 서버를 중지하려면 다음 작업을 수행합니다.
- 모든 서버 중지 버튼을 클릭합니다.
- 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 사용자 그룹을 사용하고 있으며 사용자는 사용자 그룹, 관리자 그룹 또는 둘 다의 일부입니다.
프로세스
- OpenShift 웹 콘솔에서 사용자 관리 → 그룹을 클릭합니다.
사용자를 제거할 그룹의 이름을 클릭합니다.
-
관리 사용자의 경우 관리자 그룹의 이름을 클릭합니다(예:
rhoai-admins). -
관리자가 아닌 사용자의 경우 사용자 그룹 이름(예:
rhoai-users)을 클릭합니다.
그룹의 그룹 세부 정보 페이지가 표시됩니다.
-
관리 사용자의 경우 관리자 그룹의 이름을 클릭합니다(예:
- 세부 정보 탭의 사용자 섹션에서 제거할 사용자를 찾습니다.
- 제거하려는 사용자 옆에 있는 작업 메뉴( Cryostat )를 클릭하고 사용자 제거를 클릭합니다.
검증
- 세부 정보 탭에서 사용자 섹션을 확인하고 제거한 사용자가 표시되지 않는지 확인합니다.
-
rhods-notebooks프로젝트에서 Workloads → Pod 에서 확인하고 이 사용자에 대한 노트북 서버 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 웹 콘솔에 로그인했습니다.
프로세스
사용자의 PVC(영구 볼륨 클레임)를 삭제합니다.
- 스토리지 → 영구 볼륨 클레임을 클릭합니다.
-
아직 선택되지 않은 경우 프로젝트 목록에서
rhods-notebooks프로젝트를 선택합니다. jupyter-nb-<username> PVC를 찾습니다.<
;username>을 관련 사용자 이름으로 바꿉니다.작업 메뉴( Cryostat)를 클릭하고 목록에서 Delete PersistentVolumeClaim 을 선택합니다.
PersistentVolumeClaim 삭제 대화 상자가 표시됩니다.
- 대화 상자를 검사하고 올바른 PVC를 삭제하고 있는지 확인합니다.
- 삭제를 클릭합니다.
사용자의 ConfigMap을 삭제합니다.
- 워크로드 → ConfigMap 을 클릭합니다.
-
아직 선택되지 않은 경우 프로젝트 목록에서
rhods-notebooks프로젝트를 선택합니다. jupyterhub-singleuser-profile-<username> ConfigMap을찾습니다.<
;username>을 관련 사용자 이름으로 바꿉니다.작업 메뉴( Cryostat)를 클릭하고 목록에서 Delete ConfigMap 을 선택합니다.
Delete ConfigMap 대화 상자가 표시됩니다.
- 대화 상자를 검사하고 올바른 ConfigMap을 삭제하고 있는지 확인합니다.
- 삭제를 클릭합니다.
검증
- 사용자는 더 이상 sendpyter에 액세스할 수 없으며 "액세스 권한이 필요한" 메시지가 표시됩니다.
- 사용자의 단일 사용자 프로필, PVC(영구 볼륨 클레임) 및 ConfigMap은 OpenShift에 표시되지 않습니다.
2장. 사용자 정의 워크벤치 이미지 생성 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift AI에는 다양한 기본 워크벤치 이미지가 포함되어 있으며 데이터 벤처는 워크벤치를 만들거나 편집할 때 선택할 수 있습니다.
또한 데이터 과학자가 자주 사용하는 라이브러리를 추가하거나 데이터 과학자에 기본 이미지에 제공된 버전과 다른 특정 버전의 라이브러리가 필요한 경우 사용자 정의 워크벤치 이미지를 가져올 수 있습니다. 사용자 지정 워크벤치 이미지는 데이터 과학자가 실행 중인 환경에 직접 설치할 수 없기 때문에 운영 체제 패키지 또는 애플리케이션이 필요한 경우에도 유용합니다(데이터가 사용자에게 루트 액세스 권한이 없으므로 해당 작업에 필요한 루트 액세스 권한이 없습니다).
사용자 정의 워크벤치 이미지는 컨테이너 이미지일 뿐입니다. 컨테이너 파일(또는 Dockerfile)을 사용하여 표준 컨테이너 이미지를 빌드합니다. 기존 이미지( FROM 명령)에서 시작한 다음 필요한 요소를 추가합니다.
사용자 정의 워크벤치 이미지를 생성하기 위한 다음 옵션이 있습니다.
- 기본 OpenShift AI 이미지에서 사용자 정의 이미지 생성에 설명된 대로 기본 이미지 중 하나에서 시작합니다.
- 자체 이미지에서 사용자 지정 이미지 생성에 설명된 대로 OpenShift AI와 호환되는 지침에 따라 자체 이미지를 생성합니다.
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액세스 권한이 있어야 합니다.
프로세스
사용자 정의 이미지의 기반으로 사용할 기본 이미지의 위치를 가져옵니다.
- OpenShift 콘솔에서 빌드 → 이미지 스트림을 선택합니다.
- redhat-ods-applications 프로젝트를 선택합니다.
- 설치된 이미지 스트림 목록에서 사용자 정의 이미지의 기반으로 사용할 이미지 이름을 클릭합니다. 예를 들어 pytorch 를 클릭합니다.
- ImageStream 세부 정보 페이지에서 YAML 을 클릭합니다.
spec:tags섹션에서 사용하려는 이미지 버전의 태그를 찾습니다.원본 이미지의 위치는 태그의
from:name섹션에 표시됩니다. 예를 들면 다음과 같습니다.name: 'quay.io/modh/odh-pytorch-notebook@sha256:b68e0192abf7d…'- 사용자 정의 이미지에서 사용할 이 위치를 복사합니다.
- 표준 컨테이너 파일 또는 Dockerfile을 생성합니다.
FROM명령의 경우 1단계에서 복사한 기본 이미지 위치를 지정합니다. 예를 들면 다음과 같습니다.FROM quay.io/modh/odh-pytorch-notebook@sha256:b68e0…선택 사항: OS 이미지를 설치합니다.
-
USER 0으로 전환합니다(OS 패키지를 설치하려면 사용자 0이 필요합니다). - 패키지를 설치합니다.
USER 1001로 다시 전환합니다.다음 예제에서는 Java를 기본 PyTorch 이미지에 추가하는 사용자 지정 워크벤치 이미지를 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
선택 사항: Python 패키지를 추가합니다.
-
USER 1001을 지정합니다. -
requirements.txt파일을 복사합니다. 패키지를 설치합니다.
다음 예제에서는 기본 PyTorch 이미지에
requirements.txt파일에서 패키지를 설치합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
이미지 파일을 빌드합니다. 예를 들어 이미지 파일이 있는 위치에서
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
$ podman build -t my-registry/my-custom-image:0.0.1 . $ podman push my-registry/my-custom-image:0.0.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 또는 BuildConfig 를 사용하여 OpenShift의 이미지 빌드 기능을 활용할 수 있습니다.
2.2. 자체 이미지에서 사용자 정의 이미지 생성 링크 복사링크가 클립보드에 복사되었습니다!
고유한 사용자 정의 이미지를 빌드할 수 있습니다. 그러나 이미지가 OpenShift 및 OpenShift AI와 호환되는지 확인해야 합니다.
추가 리소스
- OpenShift Container Platform 이미지 설명서의 일반 컨테이너 이미지 지침 섹션.
- Red Hat Universal Base Image: https://catalog.redhat.com/software/base-images
- Red Hat Ecosystem Catalog: https://catalog.redhat.com/
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 업데이트를수행하는 대신 기본 이미지의 최신 버전을 가리킵니다.
-
Red Hat 카탈로그의
-
그룹
RUN명령. 각 줄의 끝에&& \를 추가하여 명령을 연결합니다. - 사용자 지정 이미지에 포함하려면 코드(예: 라이브러리 또는 애플리케이션)를 컴파일해야 하는 경우 최종 이미지에 빌드 아티팩트를 포함하지 않도록 다중 단계 빌드를 구현합니다. 즉, 중간 이미지로 라이브러리 또는 애플리케이션을 컴파일한 다음 결과를 최종 이미지에 복사하여 포함하지 않는 빌드 아티팩트 뒤에 둡니다.
파일 및 디렉터리에 대한 액세스 설정
파일 및 폴더의 소유권을
1001:0(사용자 "기본", 그룹 "0")으로 설정합니다. 예를 들면 다음과 같습니다.COPY --chown=1001:0 os-packages.txt ./
COPY --chown=1001:0 os-packages.txt ./Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift에서 모든 컨테이너는 표준 네임스페이스에 있습니다(보안을 수정하지 않는 경우). 컨테이너는 임의의 사용자 ID(uid)가 있고 그룹 ID(gid)가
0인 사용자로 실행됩니다. 따라서 쓰기하려는 모든 폴더와 (임시적으로) 수정하려는 모든 파일은 이미지에서 임의의 사용자 ID(uid)가 있는 사용자가 액세스할 수 있어야 합니다. 또는 다음 예와 같이 모든 사용자에게 액세스를 설정할 수 있습니다.COPY --chmod=775 os-packages.txt ./
COPY --chmod=775 os-packages.txt ./Copy to Clipboard Copied! Toggle word wrap Toggle overflow 지속하려는 데이터의 기본 위치로
/opt/app-root/src로 이미지를 빌드합니다. 예를 들면 다음과 같습니다.WORKDIR /opt/app-root/src
WORKDIR /opt/app-root/srcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자가 OpenShift AI Applications → Enabled 페이지에서 워크벤치를 시작하면 사용자의 "개인" 볼륨이
/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
chmod -R g+w /opt/app-root/lib/python3.9/site-packages && \ fix-permissions /opt/app-root -PCopy to Clipboard Copied! Toggle word wrap Toggle overflow 워크벤치 이미지 내의 서비스는
${NB_PREFIX}/api에서 응답해야 합니다. 그러지 않으면 OpenShift 활성/읽기 상태 프로브가 실패하고 워크벤치 이미지의 Pod를 삭제합니다.NB_PREFIX환경 변수는 컨테이너가 수신 대기할 것으로 예상되는 URL 경로를 지정합니다.다음은 Nginx 구성의 예입니다.
location = ${NB_PREFIX}/api { return 302 /healthz; access_log off; }location = ${NB_PREFIX}/api { return 302 /healthz; access_log off; }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 유휴 조각이 작동하려면 다음 예와 같이
${NB_PREFIX}/api/kernelsURL에서 특정 형식의 JSON 페이로드를 반환해야 합니다.다음은 Nginx 구성의 예입니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 반환된 JSON 페이로드는 다음과 같아야 합니다.
{"id":"rstudio","name":"rstudio","last_activity":(time in ISO8601 format),"execution_state":"busy","connections": 1}{"id":"rstudio","name":"rstudio","last_activity":(time in ISO8601 format),"execution_state":"busy","connections": 1}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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
RUN yum install -y https://download.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
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
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
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
USER 1001 RUN pip install odh-elyraCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 데이터 사이언스 파이프라인 구성을 런타임 구성으로 자동으로 포함하려면 사용자 정의 워크벤치 이미지를 가져올 때 주석을 추가합니다.
2.3. OpenShift AI에서 사용자 정의 이미지 활성화 링크 복사링크가 클립보드에 복사되었습니다!
모든 OpenShift AI 관리자는 기본적으로 OpenShift AI 대시보드에서 Settings → Notebook images 탐색 옵션을 선택하여 사용자 정의 워크벤치 이미지를 가져올 수 있습니다.
설정 → 노트북 이미지 옵션을 사용할 수 없는 경우 대시보드에 표시되지 않는 탐색 요소에 따라 다음 설정을 확인합니다.
OpenShift AI 탐색 모음에 설정 메뉴가 나타나지 않습니다.
OpenShift AI 대시보드 설정 메뉴의 가시성은 사용자 권한에 따라 결정됩니다. 기본적으로 Settings 메뉴는 OpenShift AI 관리 사용자(
rhoai-admins그룹의 멤버인 사용자)에서 사용할 수 있습니다. OpenShiftcluster-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은 사용자 정의 워크벤치 이미지를 수정할 수 없습니다.
사전 요구 사항
- OpenShift AI 관리자 권한이 있는 사용자로 OpenShift AI에 로그인했습니다.
- 사용자 정의 이미지는 OpenShift AI에 액세스할 수 있는 이미지 레지스트리에 있습니다.
- OpenShift AI에서 사용자 지정 워크벤치 이미지 활성화에 설명된 대로 설정 → 노트북 이미지 탐색 메뉴 옵션이 활성화 됩니다.
- 액셀러레이터를 가져올 사용자 지정 이미지와 연결하려면 가속기의 식별자 - 하드웨어 가속기를 식별하는 고유 문자열을 알고 있습니다.
프로세스
OpenShift AI 대시보드에서 설정 → 노트북 이미지를 클릭합니다.
노트북 이미지 페이지가 나타납니다. 이전에 가져온 이미지가 표시됩니다. 이전에 가져온 이미지를 활성화하거나 비활성화하려면 관련 이미지가 포함된 행에서 Enable 열의 토글을 클릭합니다.
- 선택 사항: 액셀러레이터를 연결하려면 액셀러레이터 프로파일을 아직 생성하지 않은 경우 이미지가 포함된 행에서 프로필 생성 을 클릭하고 관련 필드를 완료합니다. 이미지에 가속기 식별자가 포함되어 있지 않은 경우 연결된 액셀러레이터 프로필을 생성하기 전에 수동으로 구성해야 합니다.
새 이미지 가져오기 를 클릭합니다. 또는 이전에 가져온 이미지가 없는 경우 이미지 가져오기 를 클릭합니다.
노트북 이미지 가져오기 대화 상자가 나타납니다.
-
이미지 위치 필드에 이미지가 포함된 리포지토리의 URL을 입력합니다. 예:
quay.io/my-repo/my-image:tag,quay.io/my-repo/my-image@sha256:xxxxxxxxx또는docker.io/my-repo/my-image:tag. - 이름 필드에 이미지에 적절한 이름을 입력합니다.
- 선택 사항: 설명 필드에 이미지에 대한 설명을 입력합니다.
- 선택 사항: 액셀러레이터 식별자 목록에서 ID를 선택하여 이미지에 권장되는 대로 가속기를 설정합니다. 이미지에 하나의 액셀러레이터 식별자만 포함된 경우 기본적으로 식별자 이름이 표시됩니다.
선택 사항: 이미지에 소프트웨어를 추가합니다. 가져오기가 완료되면 소프트웨어가 이미지의 메타 데이터에 추가되고 popyter 서버 생성 페이지에 표시됩니다.
- 소프트웨어 탭을 클릭합니다.
- 소프트웨어 추가 버튼을 클릭합니다.
-
편집 (
)을 클릭합니다.
- 소프트웨어 이름을 입력합니다.
- 소프트웨어 버전을 입력합니다.
-
확인 (
)을 클릭하여 항목을 확인합니다.
- 추가 소프트웨어를 추가하려면 소프트웨어 추가 를 클릭하고 관련 필드를 작성하고 항목을 확인합니다.
선택 사항: 노트북 이미지에 패키지를 추가합니다. 가져오기가 완료되면 해당 패키지가 이미지의 메타 데이터에 추가되고 popyter 서버 생성 페이지에 표시됩니다.
- 패키지 탭을 클릭합니다.
- 패키지 추가 버튼을 클릭합니다.
-
편집 (
)을 클릭합니다.
-
패키지 이름을 입력합니다. 예를 들어 데이터 사이언스 파이프라인 V2를 런타임 구성으로 자동으로 포함하려면
odh-elyra를 입력합니다. -
패키지 버전을 입력합니다. 예를 들어
3.16.7을 입력합니다. -
확인 (
)을 클릭하여 항목을 확인합니다.
- 추가 패키지를 추가하려면 패키지 추가 를 클릭하고 관련 필드를 작성하고 항목을 확인합니다.
- 가져오기 를 클릭합니다.
검증
- 가져온 이미지가 노트북 이미지 페이지의 표에 표시됩니다.
- 사용자가 워크벤치를 만들 때 사용자 지정 이미지를 선택할 수 있습니다.
3장. 대시보드 사용자 정의 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift AI 대시보드는 대부분의 시나리오에서 작동하도록 설계된 기능을 제공합니다. 이러한 기능은 OdhDashboardConfig CR(사용자 정의 리소스) 파일에서 구성됩니다.
OpenShift AI 대시보드 구성 파일의 옵션에 대한 설명을 보려면 대시보드 구성 옵션을 참조하십시오.
관리자는 예를 들어 일부 대시보드 탐색 메뉴 옵션을 표시하거나 숨기도록 대시보드의 인터페이스를 사용자 지정할 수 있습니다. 대시보드의 기본 설정을 변경하려면 대시보드 구성 파일 편집에 설명된 대로 OdhDashboardConfig CR(사용자 정의 리소스) 파일을 편집합니다.
3.1. 대시보드 구성 파일 편집 링크 복사링크가 클립보드에 복사되었습니다!
관리자는 대시보드 구성 파일을 편집하여 대시보드의 인터페이스를 사용자 지정할 수 있습니다.
사전 요구 사항
- OpenShift 클러스터에 대한 클러스터 관리자 권한이 있습니다.
프로세스
- 클러스터 관리자로 OpenShift 콘솔에 로그인합니다.
- 관리자 화면에서 홈 → API Explorer 를 클릭합니다.
-
검색 표시줄에
OdhDashboardConfig를 입력하여 종류별로 필터링합니다. -
OdhDashboardConfigCR(사용자 정의 리소스)을 클릭하여 리소스 세부 정보 페이지를 엽니다. -
프로젝트 목록에서
redhat-ods-applications프로젝트를 선택합니다. - Instances 탭을 클릭합니다.
-
odh-dashboard-config인스턴스를 클릭하여 세부 정보 페이지를 엽니다. - YAML 탭을 클릭합니다.
- 변경할 옵션의 값을 편집합니다.
- 저장을 클릭하여 변경 사항을 적용한 다음 다시 로드 를 클릭하여 변경 사항을 클러스터에 동기화합니다.
검증
OpenShift AI에 로그인하고 대시보드 구성이 적용되는지 확인합니다.
3.2. 대시보드 구성 옵션 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift AI 대시보드에는 대부분의 시나리오에서 작동하도록 설계된 기본적으로 활성화된 핵심 기능 세트가 포함되어 있습니다. 관리자는 OpenShift의 OdhDashboardConfig CR(사용자 정의 리소스)에서 OpenShift AI 대시보드를 구성할 수 있습니다.
| 기능 | 기본 | 설명 |
|
|
|
대시보드 탐색 메뉴의 설정 → 액셀러레이터 프로필 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 |
|
|
|
대시보드 탐색 메뉴의 설정 → 노트북 이미지 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 |
|
|
|
대시보드 탐색 메뉴 의 설정 → 클러스터 설정 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 |
|
|
| 참고: 기본값을 편집하지 마십시오. 이 기능은 이 OpenShift AI 버전에서 사용할 수 없습니다. |
|
|
|
대시보드 탐색 메뉴의 설정 → Serving 런타임 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 |
|
|
|
대시보드 탐색 메뉴의 Distributed Workload Metrics 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 |
|
|
|
대시보드 탐색 메뉴에서 Home 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 |
|
|
|
애플리케이션 → 탐색 페이지에서 사용자가 애플리케이션 타일을 클릭하면 애플리케이션에 대한 자세한 정보가 포함된 정보 패널이 열립니다. 애플리케이션 → 탐색 페이지의 모든 애플리케이션에 대한 정보 패널을 비활성화하려면 값을 |
|
|
|
애플리케이션이 "Red Hat managed", "Partner managed" 또는 "Self-managed"인지를 나타내는 타일의 레이블을 표시합니다. 이러한 레이블을 숨기려면 값을 |
|
|
|
KServe를 모델 서비스 플랫폼으로 선택할 수 있습니다. 이 기능을 비활성화하려면 값을 |
|
|
|
KServe에서 인증을 사용할 수 있습니다. 이 기능을 비활성화하려면 값을 |
|
|
|
KServe 메트릭을 볼 수 있는 기능을 활성화합니다. 이 기능을 비활성화하려면 값을 |
|
|
|
모델 서비스 플랫폼으로 ModelMesh를 선택할 수 있는 기능을 활성화합니다. 이 기능을 비활성화하려면 값을 |
|
|
|
대시보드 탐색 메뉴의 모델 레지스트리 옵션과 모델 레지스트리 설정 옵션을 표시합니다. 이러한 메뉴 옵션을 숨기려면 값을 |
|
|
|
대시보드 탐색 메뉴와 데이터 사이언스 프로젝트의 구성 요소 목록에 있는 Model Serving 옵션을 표시합니다. 대시보드 탐색 메뉴와 데이터 사이언스 프로젝트의 구성 요소 목록에서 Model Serving 을 숨기려면 값을 |
|
|
|
NVIDIA NIM을 모델 서비스 플랫폼으로 선택하는 기능을 비활성화합니다. 이 기능을 활성화하려면 값을 |
|
|
|
Model Serving 페이지의 끝점 성능 탭이 표시됩니다. 이 탭을 숨기려면 값을 |
|
|
|
대시보드 탐색 메뉴에서 Data Science Pipelines 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 |
|
|
|
대시보드 탐색 메뉴의 Data Science Projects 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 |
|
|
|
사용자가 자신의 데이터 과학 프로젝트에 대한 액세스를 다른 사용자와 공유할 수 있습니다. 사용자가 데이터 사이언스 프로젝트를 공유하지 못하도록 하려면 값을 |
|
|
|
대시보드 탐색 메뉴의 설정 → 스토리지 클래스 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 |
|
|
|
대시보드 도구 모음에서 도움말 아이콘을 클릭할 때 지원 메뉴 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 |
|
|
|
Red Hat은 클러스터에서 OpenShift AI 사용에 대한 데이터를 수집할 수 있습니다. 데이터 수집을 활성화하려면 값을 |
|
|
|
Model Serving 페이지의 모델 Bias 탭을 표시합니다. 이 탭을 숨기려면 값을 |
|
|
|
대시보드 탐색 메뉴의 설정 → 사용자 관리 옵션을 표시합니다. 이 메뉴 옵션을 숨기려면 값을 |
|
|
|
OpenShift AI 관리자는 OpenShift AI 대시보드 애플리케이션 → 활성화 페이지에 애플리케이션을 추가할 수 있습니다. 이 기능을 비활성화하려면 값을 |
|
|
| 대시보드에서 활성화되어 있는지 여부와 표시되는 부분과 같은 Notebook Controller 옵션을 제어합니다. |
|
| 노트북의 이름 및 리소스를 사용자 지정할 수 있습니다. Kubernetes 스타일 크기는 Notebook Controller를 사용하여 워크벤치를 시작할 때 표시되는 드롭다운 메뉴에 표시됩니다. 참고: 이러한 크기는 규칙을 따라야 합니다. 예를 들어 요청은 제한보다 작아야 합니다. | |
|
| 모델 서버의 이름 및 리소스를 사용자 지정할 수 있습니다. | |
|
| 허용된 사용자를 위한 노트북 서버 컨트롤 패널 과 OpenShift AI 관리자를 위한 클러스터 설정 사용자 인터페이스와 같은 대시보드 기능에 대한 액세스를 제어합니다. | |
|
| 사용자 지정 Serving 런타임 템플릿의 순서를 지정합니다. 사용자가 새 템플릿을 생성하면 이 목록에 추가됩니다. |
4장. 대시보드에 표시되는 애플리케이션 관리 링크 복사링크가 클립보드에 복사되었습니다!
4.1. 대시보드에 애플리케이션 추가 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift 클러스터에 애플리케이션을 설치한 경우 해당 애플리케이션의 타일을 OpenShift AI 대시보드(애플리케이션 → 활성화 페이지)에 추가하여 OpenShift AI 사용자가 액세스할 수 있도록 할 수 있습니다.
사전 요구 사항
- OpenShift 클러스터에 대한 클러스터 관리자 권한이 있습니다.
-
대시보드 구성 활성화 옵션은
true(기본값)로 설정됩니다. 클러스터 관리자는 사용자가 애플리케이션을 대시보드에 추가하지 못하도록 방지에 설명된 대로 이 기능을 비활성화할 수 있습니다.
프로세스
- 클러스터 관리자로 OpenShift 콘솔에 로그인합니다.
- 관리자 화면에서 홈 → API Explorer 를 클릭합니다.
-
API Explorer 페이지에서
OdhApplicationkind를 검색합니다. -
OdhApplicationkind를 클릭하여 리소스 세부 정보 페이지를 엽니다. -
OdhApplication 세부 정보 페이지의 프로젝트 목록에서
redhat-ods-applications프로젝트를 선택합니다. - Instances 탭을 클릭합니다.
- Create OdhApplication 을 클릭합니다.
Create OdhApplication 페이지에서 다음 코드를 복사하여 YAML 편집기에 붙여넣습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션 코드에서 매개변수를 수정합니다.
작은 정보예제 YAML 파일을 보려면 홈 → API Explorer 를 클릭하고
OdhApplication을 선택하고 인스턴스 탭을 클릭하고 인스턴스를 선택한 다음 YAML 탭을 클릭합니다.- 생성을 클릭합니다. 애플리케이션 세부 정보 페이지가 표시됩니다.
- OpenShift AI에 로그인합니다.
- 왼쪽 메뉴에서 애플리케이션 → 탐색을 클릭합니다.
- 애플리케이션의 새 타일을 찾아서 클릭합니다.
- 애플리케이션의 정보 창에서 사용을 클릭합니다.
검증
- OpenShift AI 대시보드의 왼쪽 메뉴에서 애플리케이션 → 활성화를 클릭하고 애플리케이션을 사용할 수 있는지 확인합니다.
4.2. 사용자가 대시보드에 애플리케이션을 추가하지 못하도록 방지 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 OpenShift AI 관리자는 OpenShift AI 대시보드 애플리케이션 → 활성화된 페이지에 애플리케이션을 추가할 수 있습니다.
클러스터 관리자는 OpenShift AI 관리자가 대시보드에 애플리케이션을 추가하는 기능을 비활성화할 수 있습니다.
참고: pinpyter 타일은 기본적으로 활성화되어 있습니다. 이를 비활성화하려면 기본 ovnpyter 애플리케이션 숨기기를 참조하십시오.
사전 요구 사항
- OpenShift 클러스터에 대한 클러스터 관리자 권한이 있습니다.
프로세스
- 클러스터 관리자로 OpenShift 콘솔에 로그인합니다.
대시보드 구성 파일을 엽니다.
- 관리자 화면에서 홈 → API Explorer 를 클릭합니다.
-
검색 표시줄에
OdhDashboardConfig를 입력하여 종류별로 필터링합니다. -
OdhDashboardConfigCR(사용자 정의 리소스)을 클릭하여 리소스 세부 정보 페이지를 엽니다. -
프로젝트 목록에서
redhat-ods-applications프로젝트를 선택합니다. - Instances 탭을 클릭합니다.
-
odh-dashboard-config인스턴스를 클릭하여 세부 정보 페이지를 엽니다. - YAML 탭을 클릭합니다.
-
spec:dashboardConfig섹션에서 대시보드 사용자가 대시보드에 애플리케이션을 추가할 수 있는 기능을 비활성화하려면활성화값을false로 설정합니다. - 저장을 클릭하여 변경 사항을 적용한 다음 다시 로드 를 클릭하여 변경 사항이 클러스터와 동기화되었는지 확인합니다.
검증
- 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 클러스터에 서비스를 설치하거나 구성했습니다.
- 비활성화하려는 애플리케이션 또는 구성 요소가 활성화되어 있으며 사용 가능한 페이지에 표시됩니다.
프로세스
- OpenShift 웹 콘솔에서 관리자 화면으로 전환합니다.
-
redhat-ods-applications프로젝트로 전환합니다. - Operators → 설치된 Operators를 클릭합니다.
- 제거할 Operator를 클릭합니다. Operator를 더 빠르게 찾을 수 있도록 이름으로 필터링 필드에 키워드를 입력할 수 있습니다.
Operator 인터페이스의 탭을 사용하여 Operator 리소스 또는 인스턴스를 삭제합니다.
설치 중에 일부 Operator는 관리자가 리소스를 생성하거나 Operator 인터페이스의 탭을 사용하여 프로세스 인스턴스를 시작해야 합니다. Operator를 올바르게 제거하려면 먼저 삭제해야 합니다.
Operator 세부 정보 페이지에서 작업 드롭다운 메뉴를 클릭하고 Operator 설치 제거를 선택합니다.
Operator를 설치 제거하시겠습니까? 대화 상자가 표시됩니다.
- 설치 제거를 선택하여 Operator, Operator 배포 및 Pod를 설치 제거합니다. 이 작업이 완료되면 Operator가 실행을 중지하고 더 이상 업데이트를 수신하지 않습니다.
Operator를 제거해도 Operator의 사용자 정의 리소스 정의 또는 관리 리소스는 제거되지 않습니다. 사용자 정의 리소스 정의 및 관리 리소스는 여전히 존재하며 수동으로 정리해야 합니다. Operator 및 구성된 모든 클러스터 외부 리소스가 계속 실행되며 수동으로 정리해야 합니다.
검증
- 대상 클러스터에서 Operator가 설치 제거됩니다.
- 설치된 Operator 페이지에 Operator가 더 이상 표시되지 않습니다.
-
비활성화된 애플리케이션은 데이터 과학자에서 더 이상 사용할 수 없으며 OpenShift AI 대시보드의 활성화 페이지에서
Disabled로 표시됩니다. Operator를 제거한 후 이 작업을 수행하는 데 몇 분이 걸릴 수 있습니다.
4.4. 활성화된 애플리케이션에 대한 정보 표시 또는 숨기기 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift 클러스터에 다른 애플리케이션을 설치한 경우 해당 애플리케이션의 타일을 OpenShift AI 대시보드(애플리케이션 → 활성화 페이지)에 추가하여 OpenShift AI 사용자가 액세스할 수 있도록 할 수 있습니다.
사전 요구 사항
- OpenShift 클러스터에 대한 클러스터 관리자 권한이 있습니다.
프로세스
- 클러스터 관리자로 OpenShift 콘솔에 로그인합니다.
- 관리자 화면에서 홈 → API Explorer 를 클릭합니다.
-
API Explorer 페이지에서
OdhApplicationkind를 검색합니다. -
OdhApplicationkind를 클릭하여 리소스 세부 정보 페이지를 엽니다. -
OdhApplication 세부 정보 페이지의 프로젝트 목록에서
redhat-ods-applications프로젝트를 선택합니다. - Instances 탭을 클릭합니다.
- Create OdhApplication 을 클릭합니다.
Create OdhApplication 페이지에서 다음 코드를 복사하여 YAML 편집기에 붙여넣습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 애플리케이션 코드에서 매개변수를 수정합니다.
작은 정보예제 YAML 파일을 보려면 홈 → API Explorer 를 클릭하고
OdhApplication을 선택하고 인스턴스 탭을 클릭하고 인스턴스를 선택한 다음 YAML 탭을 클릭합니다.- 생성을 클릭합니다. 애플리케이션 세부 정보 페이지가 표시됩니다.
- OpenShift AI에 로그인합니다.
- 왼쪽 메뉴에서 애플리케이션 → 탐색을 클릭합니다.
- 애플리케이션의 새 타일을 찾아서 클릭합니다.
- 애플리케이션의 정보 창에서 사용을 클릭합니다.
검증
- OpenShift AI 대시보드의 왼쪽 메뉴에서 애플리케이션 → 활성화를 클릭하고 애플리케이션을 사용할 수 있는지 확인합니다.
4.5. 기본 pripyter 애플리케이션 숨기기 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift AI 대시보드에는 기본적으로 duepyter가 활성화된 애플리케이션으로 포함되어 있습니다.
활성화된 애플리케이션 목록에서 sendpyter 타일을 숨기려면 대시보드 구성 파일을 편집합니다.
사전 요구 사항
- OpenShift 클러스터에 대한 클러스터 관리자 권한이 있습니다.
프로세스
- 클러스터 관리자로 OpenShift 콘솔에 로그인합니다.
대시보드 구성 파일을 엽니다.
- 관리자 화면에서 홈 → API Explorer 를 클릭합니다.
-
검색 표시줄에
OdhDashboardConfig를 입력하여 종류별로 필터링합니다. -
OdhDashboardConfigCR(사용자 정의 리소스)을 클릭하여 리소스 세부 정보 페이지를 엽니다. -
프로젝트 목록에서
redhat-ods-applications프로젝트를 선택합니다. - Instances 탭을 클릭합니다.
-
odh-dashboard-config인스턴스를 클릭하여 세부 정보 페이지를 엽니다. - YAML 탭을 클릭합니다.
-
spec:notebookController섹션에서enabled값을false로 설정하여 활성화된 애플리케이션 목록에서 sendpyter 타일을 숨깁니다. - 저장을 클릭하여 변경 사항을 적용한 다음 다시 로드 를 클릭하여 변경 사항이 클러스터와 동기화되었는지 확인합니다.
검증
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을 수용하기에 충분한 용량이 있습니다.
프로세스
- OpenShift Cluster Manager(https://console.redhat.com/openshift/)에 로그인합니다.
클러스터를 클릭합니다.
클러스터 페이지가 열립니다.
- 추가 리소스를 할당할 클러스터 이름을 클릭합니다.
- 작업 → 노드 수 편집을 클릭합니다.
- 목록에서 머신 풀 을 선택합니다.
- 노드 수 목록에서 시스템 풀에 할당된 노드 수를 선택합니다.
- 적용을 클릭합니다.
검증
- 클러스터에 할당한 추가 리소스가 머신 풀 탭에 표시됩니다.
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 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
| Component | 배포 이름 |
|---|---|
| CodeFlare | codeflare-operator-manager |
| KServe |
|
| ray | kuberay-operator |
| Kueue | kueue-controller-manager |
| 워크벤치 |
|
| 대시보드 | RHODS-dashboard |
| 모델 서비스 |
|
| 모델 레지스트리 (기술 프리뷰) | 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 클러스터에 대한 클러스터 관리자 권한이 있습니다.
프로세스
- 클러스터 관리자로 OpenShift 콘솔에 로그인합니다.
- 관리자 화면에서 워크로드 > 배포를 클릭합니다.
-
프로젝트 드롭다운 목록에서
redhat-ods-applications를 선택합니다. 이름 열에서 리소스를 사용자 지정할 구성 요소의 배포 이름을 클릭합니다.
참고각 구성 요소의 배포 이름에 대한 자세한 내용은 구성 요소 리소스 사용자 지정 개요 를 참조하십시오.
- 표시되는 Deployment details 페이지에서 YAML 탭을 클릭합니다.
-
.spec.template.spec.containers.resources섹션을 찾습니다. 사용자 지정할 리소스의 값을 업데이트합니다. 예를 들어 메모리 제한을 500Mi로 업데이트하려면 다음과 같이 변경합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 저장을 클릭합니다.
- 새로 고침을 클릭합니다.
검증
- OpenShift AI에 로그인하고 리소스 변경 사항이 적용되는지 확인합니다.
6.3. 구성 요소 리소스 사용자 정의 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소 배포의 YAML 파일에 opendatahub.io/managed: true 주석을 추가하여 구성 요소 배포 리소스의 사용자 지정을 비활성화하고 기본값을 복원할 수 있습니다.
구성 요소 배포의 YAML 파일에 수동으로 추가한 후 opendatahub.io/managed: true 주석을 false 로 제거하거나 설정하면 예기치 않은 클러스터 문제가 발생할 수 있습니다.
배포에서 주석을 제거하려면 구성 요소 리소스 사용자 지정 재 활성화에 설명된 단계를 사용하십시오.
사전 요구 사항
- OpenShift 클러스터에 대한 클러스터 관리자 권한이 있습니다.
프로세스
- 클러스터 관리자로 OpenShift 콘솔에 로그인합니다.
- 관리자 화면에서 워크로드 > 배포를 클릭합니다.
-
프로젝트 드롭다운 목록에서
redhat-ods-applications를 선택합니다. 이름 열에서 주석을 추가할 구성 요소의 배포 이름을 클릭합니다.
참고각 구성 요소의 배포 이름에 대한 자세한 내용은 구성 요소 리소스 사용자 지정 개요 를 참조하십시오.
- 표시되는 Deployment details 페이지에서 YAML 탭을 클릭합니다.
-
metadata.annotations:섹션을 찾습니다. opendatahub.io/managed: true주석을 추가합니다.metadata: annotations: opendatahub.io/managed: truemetadata: annotations: opendatahub.io/managed: trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 저장을 클릭합니다.
- 새로 고침을 클릭합니다.
검증
-
opendatahub.io/managed: true주석은 구성 요소 배포의 YAML 파일에 표시됩니다.
6.4. 구성 요소 리소스 사용자 정의 다시 활성화 링크 복사링크가 클립보드에 복사되었습니다!
수동으로 비활성화한 후 구성 요소 배포 리소스의 사용자 지정을 다시 활성화할 수 있습니다.
구성 요소 배포의 YAML 파일에 추가한 후 opendatahub.io/managed: 주석을 false 로 수동으로 제거하거나 설정하면 예기치 않은 클러스터 문제가 발생할 수 있습니다.
배포에서 주석을 제거하려면 다음 단계를 사용하여 배포를 삭제합니다. 배포에 대한 컨트롤러 Pod는 기본 설정으로 자동으로 재배포됩니다.
사전 요구 사항
- OpenShift 클러스터에 대한 클러스터 관리자 권한이 있습니다.
프로세스
- 클러스터 관리자로 OpenShift 콘솔에 로그인합니다.
- 관리자 화면에서 워크로드 > 배포를 클릭합니다.
-
프로젝트 드롭다운 목록에서
redhat-ods-applications를 선택합니다. - 이름 열에서 주석을 제거할 구성 요소의 배포 이름을 클릭합니다.
-
옵션 메뉴
를 클릭합니다.
- 배포 삭제를 클릭합니다.
검증
- 배포에 대한 컨트롤러 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역할이 있습니다.
프로세스
- OpenShift 클러스터에서 GPU 지원을 활성화하려면 NVIDIA 문서의 Red Hat OpenShift Container Platform에 대한 NVIDIA GPU Operator 의 지침을 따르십시오.
migration-gpu-status ConfigMap을 삭제합니다.
- OpenShift 웹 콘솔에서 관리자 화면으로 전환합니다.
- 적절한 ConfigMap을 보려면 프로젝트를 모든 프로젝트 또는 redhat-ods-applications 로 설정합니다.
- migration-gpu-status ConfigMap을 검색합니다.
작업 메뉴( Cryostat)를 클릭하고 목록에서 Delete ConfigMap 을 선택합니다.
Delete ConfigMap 대화 상자가 표시됩니다.
- 대화 상자를 검사하고 올바른 ConfigMap을 삭제하고 있는지 확인합니다.
- 삭제를 클릭합니다.
대시보드 복제본 세트를 다시 시작합니다.
- OpenShift 웹 콘솔에서 관리자 화면으로 전환합니다.
- 워크로드 → 배포를 클릭합니다.
- 적절한 배포를 볼 수 있도록 프로젝트를 모든 프로젝트 또는 redhat-ods-applications 로 설정합니다.
- rhods-dashboard 배포를 검색합니다.
- 작업 메뉴( Cryostat)를 클릭하고 목록에서 롤아웃 재시작 을 선택합니다.
- Status 열에 롤아웃의 모든 포드가 완전히 다시 시작될 때까지 기다립니다.
검증
- NVIDIA GPU Operator는 OpenShift 웹 콘솔 의 Operator → 설치된 Operator 페이지에 나타납니다.
-
reset migration-gpu-status 인스턴스는
AcceleratorProfileCRD(사용자 정의 리소스 정의) 세부 정보 페이지의 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 가속기를 활성화하려면 다음 단계를 완료해야 합니다.
- OperatorHub에서 Intel Gaudi AI Accelerator Operator의 버전 1.18을 설치합니다.
- Intel Gaudi AI 액셀러레이터에 대한 사용자 지정 워크벤치 이미지를 생성하고 구성합니다. Gaudi 액셀러레이터를 위한 사전 빌드된 워크벤치 이미지는 OpenShift AI에 포함되어 있지 않습니다.
- 사용자 환경에서 각 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 인스턴스를 지원합니다.
프로세스
- GaudiAI Operator OpenShift 설치에 설명된 대로 Intel Gaudi AI Accelerator Operator의 버전 1.18을 설치합니다.
- 사용자 지정 워크벤치 이미지 생성에 설명된 대로 Intel Gaudi AI 가속기용 사용자 지정 워크벤치 이미지를 만듭니다.
- 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
apiVersion: kueue.x-k8s.io/v1beta1
kind: ResourceFlavor
metadata:
name: default-flavor
클러스터에 이기종 리소스가 있는 경우 클러스터 관리자는 사용 가능한 리소스의 각 변형에 대해 다른 리소스 플레이버를 정의할 수 있습니다. 변형의 예로는 서로 다른 CPU, 다른 메모리 또는 다른 가속기 등이 있습니다. 클러스터에 여러 유형의 액셀러레이터가 있는 경우 클러스터 관리자는 각 액셀러레이터 유형에 대해 리소스 플레이버를 설정할 수 있습니다. 그런 다음 클러스터 관리자는 다음 예와 같이 레이블, 테인트 및 허용 오차를 사용하여 리소스 플레이버를 클러스터 노드와 연결할 수 있습니다.
이기종 리소스의 Kueue 리소스 플레이버의 예
각 리소스 플레이버에 워크로드가 예상 노드에서 실행되도록 올바른 라벨 선택기 및 테인트 허용 오차가 있는지 확인합니다.
Example Kueue 리소스 구성에 제공된 구성 예제를 참조하십시오.
리소스 플레이버 구성에 대한 자세한 내용은 Kue 문서의 리소스 플레이버를 참조하십시오.
8.1.2. 클러스터 대기열 링크 복사링크가 클립보드에 복사되었습니다!
Kue ClusterQueue 오브젝트는 Pod, CPU, 메모리, 액셀러레이터와 같은 클러스터 리소스 풀을 관리합니다. 클러스터에는 여러 클러스터 큐가 있을 수 있으며 각 클러스터 대기열은 여러 리소스 플레이버를 참조할 수 있습니다.
클러스터 관리자는 대기열에서 관리하는 리소스 플레이버를 정의하고 각 리소스 플레이버의 각 리소스에 대한 할당량을 할당하도록 클러스터 큐를 구성할 수 있습니다.
다음 예제에서는 9개의 CPU, 36GiB 메모리, 5개의 Pod 및 5 NVIDIA GPU의 할당량을 할당하도록 클러스터 대기열을 구성합니다.
클러스터 대기열 예
클러스터 관리자는 해당 클러스터 대기열의 할당량 제한에 대해 클러스터 큐에 대해 알려야 합니다. 클러스터 대기열은 필요한 총 리소스가 이러한 할당량 제한 내에 있는 경우에만 분산 워크로드를 시작합니다. 분산 워크로드의 리소스 요청 합계가 클러스터 큐에서 해당 리소스에 대해 지정된 할당량보다 크면 클러스터 큐에서 분산 워크로드를 허용하지 않습니다.
Example Kueue 리소스 구성에 제공된 구성 예제를 참조하십시오.
클러스터 대기열 구성에 대한 자세한 내용은 Kue 문서의 Cluster Queue 를 참조하십시오.
8.1.3. 로컬 대기열 링크 복사링크가 클립보드에 복사되었습니다!
Kue LocalQueue 오브젝트 그룹은 프로젝트에서 밀접하게 관련된 분산 워크로드를 그룹화합니다. 클러스터 관리자는 로컬 큐를 구성하여 프로젝트 이름 및 관련 클러스터 큐를 지정할 수 있습니다. 그런 다음 각 로컬 대기열은 지정된 클러스터 대기열에서 관리하는 리소스에 대한 액세스 권한을 부여합니다. 클러스터 관리자는 선택적으로 프로젝트에서 하나의 로컬 큐를 해당 프로젝트의 기본 로컬 큐로 정의할 수 있습니다.
분산 워크로드를 구성할 때 사용자는 로컬 큐 이름을 지정합니다. 클러스터 관리자가 기본 로컬 큐를 구성한 경우 사용자는 분산 워크로드 코드에서 로컬 대기열 사양을 생략할 수 있습니다.
Kue는 요청된 총 리소스가 해당 클러스터 큐에 지정된 할당량 제한 내에 있는 경우 로컬 큐와 연결된 클러스터 대기열의 분산 워크로드에 리소스를 할당합니다.
다음 예제에서는 team-a 프로젝트에 대해 team-a-queue 라는 로컬 큐를 구성하고 cluster-queue 를 연결된 클러스터 큐로 지정합니다.
로컬 대기열의 예
이 예에서 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 리소스 플레이버 링크 복사링크가 클립보드에 복사되었습니다!
8.2.1.2. NVIDIA RTX A1000 GPU 리소스 플레이버 링크 복사링크가 클립보드에 복사되었습니다!
8.2.1.3. NVIDIA RTX A400 GPU 클러스터 대기열 링크 복사링크가 클립보드에 복사되었습니다!
8.2.1.4. NVIDIA RTX A1000 GPU 클러스터 대기열 링크 복사링크가 클립보드에 복사되었습니다!
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 액셀러레이터만 지원합니다.
프로세스
터미널 창에서 클러스터 관리자로 OpenShift 클러스터에 로그인하지 않은 경우 다음 예와 같이 OpenShift CLI에 로그인합니다.
oc login <openshift_cluster_url> -u <admin_username> -p <password>
$ oc login <openshift_cluster_url> -u <admin_username> -p <password>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같이 빈 Kue 리소스 플레이버를 생성합니다.
default_flavor.yaml이라는 파일을 생성하고 다음 콘텐츠로 채웁니다.빈 Kue 리소스 플레이버
apiVersion: kueue.x-k8s.io/v1beta1 kind: ResourceFlavor metadata: name: default-flavor
apiVersion: kueue.x-k8s.io/v1beta1 kind: ResourceFlavor metadata: name: default-flavorCopy to Clipboard Copied! Toggle word wrap Toggle overflow default-flavor오브젝트를 생성하려면 구성을 적용합니다.oc apply -f default_flavor.yaml
$ oc apply -f default_flavor.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
다음과 같이 클러스터 큐를 생성하여 빈 Kueue 리소스 플레이버를 관리합니다.
cluster_queue.yaml이라는 파일을 생성하고 다음 콘텐츠로 채웁니다.클러스터 대기열 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제 할당량 값(9개의 CPU, 36GiB 메모리, 5 NVIDIA GPU)을 클러스터 큐에 적절한 값으로 바꿉니다. 클러스터 대기열은 필요한 총 리소스가 이러한 할당량 제한 내에 있는 경우에만 분산 워크로드를 시작합니다.
spec.resourceGroups섹션을 다음과 같이 업데이트하여 요청된 값이 0인 경우에도 사용자가 요청할 수 있는 각 리소스에 대한 할당량을 지정해야 합니다.-
coveredResources목록에 리소스 이름을 포함합니다. -
nominalQuota값이 0인 경우에도flavor.resources섹션에 리소스이름과nominalQuota를 지정합니다.
-
구성을 적용하여
cluster-queue오브젝트를 생성합니다.oc apply -f cluster_queue.yaml
$ oc apply -f cluster_queue.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
다음과 같이 클러스터 큐를 가리키는 로컬 큐를 생성합니다.
local_queue.yaml이라는 파일을 생성하고 다음 콘텐츠로 채웁니다.로컬 대기열의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kue.x-k8s.io/default-queue: 'true'주석은 이 큐를 기본 큐로 정의합니다. 분산 워크로드는 데이터 사이언스 파이프라인 또는 Microsoft Visual Studio Code 파일의ClusterConfiguration섹션에local_queue값이 지정되지 않은 경우 이 큐에 제출됩니다.-
namespace값을 업데이트하여 Cryostat 클러스터를 생성하는ClusterConfiguration섹션과 동일한 네임스페이스를 지정합니다. -
선택 사항: 그에 따라
name값을 업데이트합니다. 구성을 적용하여 local-queue 오브젝트를 생성합니다.
oc apply -f local_queue.yaml
$ oc apply -f local_queue.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 대기열은 리소스를 할당하여 로컬 큐에서 분산 워크로드를 실행합니다.
검증
다음과 같이 프로젝트의 로컬 대기열 상태를 확인합니다.
oc get -n <project-name> localqueues
$ oc get -n <project-name> localqueues
8.4. CodeFlare Operator 구성 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift AI의 분산 워크로드에 대한 CodeFlare Operator의 기본 구성을 변경하려면 관련 구성 맵을 편집할 수 있습니다.
사전 요구 사항
-
cluster-admin역할을 사용하여 OpenShift에 로그인했습니다. - 분산 워크로드 구성 요소 설치에 설명된 대로 필요한 분산 워크로드 구성 요소를 설치했습니다.
프로세스
- OpenShift 콘솔에서 워크로드 → ConfigMap 을 클릭합니다.
- 프로젝트 목록에서 redhat-ods-applications 를 선택합니다.
- codeflare-operator-config 구성 맵을 검색하고 구성 맵 이름을 클릭하여 ConfigMap 세부 정보 페이지를 엽니다.
- YAML 탭을 클릭하여 구성 맵 사양을 표시합니다.
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>
ray-dashboard-<clustername>-<namespace>.<your.ingress.domain> ray-client-<clustername>-<namespace>.<your.ingress.domain>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - mTLSEnabled
이 구성 옵션은 기본적으로 활성화되어 있습니다(
mTLSEnabled: true). 이 옵션을 활성화하면 Cryostat 클러스터 노드 간에 상호 인증 형식인 mTLS(mutual Transport Layer Security)에 사용되는 인증서를 생성합니다. 이 옵션을 활성화하면ca-secret-_<cluster_name>_ secret에서 생성된 인증서를 다운로드하여 mTLS 통신에 필요한 인증서를 생성한 다음 필요한 Cryostat 환경 변수를 설정하지 않는 한 Cryostat 헤드 노드에 연결할 수 없습니다. 그런 다음 사용자는 변경 사항을 적용하려면 Cryostat 클라이언트를 다시 초기화해야 합니다. CodeFlare SDK는 Cryostat 클라이언트의 인증 프로세스를 단순화하기 위해 다음과 같은 기능을 제공합니다.Cryostat 클라이언트 인증 코드의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - rayDashboardOauthEnabled
이 구성 옵션은 기본적으로 활성화되어 있습니다(
rayDashboardOAuthEnabled: true). 이 옵션을 활성화하면 OpenShift AI에서 Cryostat 클러스터 헤드 노드 앞에 OpenShift OAuth 프록시를 배치합니다. 그런 다음 사용자는 브라우저를 통해 Cryostat 대시보드에 액세스할 때 OpenShift 클러스터 로그인 자격 증명을 사용하여 인증해야 합니다. 사용자가 다른 방식으로 Cryostat 대시보드에 액세스하려는 경우(예: CryostatJobSubmissionClient클래스를 사용하여) 다음 예와 같이 권한 부여 헤더를 요청의 일부로 설정해야 합니다.인증 헤더의 예
{Authorization: "Bearer <your-openshift-token>"}{Authorization: "Bearer <your-openshift-token>"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 변경 사항을 저장하려면 저장을 클릭합니다.
변경 사항을 적용하려면 Pod를 삭제합니다.
- 워크로드 → 포드 를 클릭합니다.
- codeflare-operator-manager- <pod-id> Pod 를 찾습니다.
- 해당 Pod의 옵션 메뉴( Cryostat)를 클릭한 다음 Delete Pod 를 클릭합니다. 변경 사항이 적용된 후 Pod가 다시 시작됩니다.
검증
다음과 같이 codeflare-operator-manager Pod의 상태를 확인합니다.
- OpenShift 콘솔에서 워크로드 → 배포를 클릭합니다.
- codeflare-operator-manager 배포를 검색한 다음 배포 이름을 클릭하여 배포 세부 정보 페이지를 엽니다.
- 포드 탭을 클릭합니다. 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'
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'
해결
다음과 같이 resource 플레이버가 생성되었는지 확인합니다.
- OpenShift 콘솔의 프로젝트 목록에서 사용자의 프로젝트를 선택합니다.
- 홈 → 검색을 클릭하고 리소스 목록에서 ResourceFlavor 를 선택합니다.
- 필요한 경우 resource 플레이버를 만듭니다.
- 사용자 코드에서 클러스터 대기열 구성을 확인하여 요청된 리소스가 프로젝트에 정의된 제한 내에 있는지 확인합니다.
- 필요한 경우 리소스 할당량을 늘립니다.
리소스 플레이버 및 할당량 구성에 대한 자세한 내용은 분산 워크로드에 대한 할당량 관리 구성을 참조하십시오.
8.5.2. 사용자의 Cryostat 클러스터가 failed 상태입니다. 링크 복사링크가 클립보드에 복사되었습니다!
문제
사용자가 리소스가 부족할 수 있습니다.
진단
사용자의 Cryostat 클러스터 헤드 Pod 또는 작업자 Pod가 실행되지 않습니다. Cryostat 클러스터가 생성되면 처음에 failed 상태가 됩니다. 이 실패 상태는 일반적으로 조정 프로세스가 완료되고 Cryostat 클러스터 Pod가 실행된 후 해결됩니다.
해결
실패한 상태가 지속되면 다음 단계를 완료합니다.
- OpenShift 콘솔의 프로젝트 목록에서 사용자의 프로젝트를 선택합니다.
- 워크로드 → 포드 를 클릭합니다.
- 사용자의 포드 이름을 클릭하여 Pod 세부 정보 페이지를 엽니다.
- 이벤트 탭을 클릭하고 Pod 이벤트를 검토하여 문제의 원인을 확인합니다.
-
Cryostat
Cluster 리소스로 생성된확인합니다.Workloads리소스의 상태를status.conditions.message필드는 실패 상태의 이유를 제공합니다.
8.5.3. 사용자가 CodeFlare Operator 에 대한 Webhook 오류 메시지를 호출하지 못했습니다. 링크 복사링크가 클립보드에 복사되었습니다!
문제
사용자가 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}
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}
진단
CodeFlare Operator Pod가 실행되지 않을 수 있습니다.
해결
- OpenShift 콘솔의 프로젝트 목록에서 사용자의 프로젝트를 선택합니다.
- 워크로드 → 포드 를 클릭합니다.
- CodeFlare Operator Pod가 실행 중인지 확인합니다. 필요한 경우 CodeFlare Operator Pod를 다시 시작합니다.
CodeFlare Operator Pod의 로그를 검토하여 다음 예와 같이 웹 후크 서버가 제공하는지 확인합니다.
INFO controller-runtime.webhook Serving webhook server {"host": "", "port": 9443}INFO controller-runtime.webhook Serving webhook server {"host": "", "port": 9443}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.5.4. 사용자가 Kueue 에 대한 Webhook 오류 메시지를 호출하지 못했습니다 링크 복사링크가 클립보드에 복사되었습니다!
문제
사용자가 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}
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}
진단
Kueue pod가 실행되지 않을 수 있습니다.
해결
- OpenShift 콘솔의 프로젝트 목록에서 사용자의 프로젝트를 선택합니다.
- 워크로드 → 포드 를 클릭합니다.
- Kueue pod가 실행 중인지 확인합니다. 필요한 경우 Kueue pod를 다시 시작합니다.
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}{"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 Copied! Toggle word wrap Toggle overflow
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 필드를 확인합니다.
해결
- OpenShift 콘솔의 프로젝트 목록에서 사용자의 프로젝트를 선택합니다.
- 워크로드 → 포드 를 클릭합니다.
- Kube Cryostat Pod가 실행 중인지 확인합니다. 필요한 경우 Kube Cryostat Pod를 다시 시작합니다.
- Kube Cryostat Pod의 로그를 검토하여 오류를 확인합니다.
8.5.6. 사용자에게 Default Local Queue … not found 오류 메시지가 수신됩니다. 링크 복사링크가 클립보드에 복사되었습니다!
문제
사용자가 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.
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.
진단
기본 로컬 큐가 정의되어 있지 않으며 클러스터 구성에 로컬 큐가 지정되지 않습니다.
해결
다음과 같이 사용자 프로젝트에 로컬 큐가 있는지 확인합니다.
- OpenShift 콘솔의 프로젝트 목록에서 사용자의 프로젝트를 선택합니다.
- 홈 → 검색을 클릭하고 리소스 목록에서 LocalQueue 를 선택합니다.
- 로컬 큐를 찾을 수 없는 경우 로컬 큐를 만듭니다.
- 사용자에게 프로젝트의 로컬 대기열 세부 정보를 제공하고 클러스터 구성에 로컬 큐를 추가할 것을 권장합니다.
기본 로컬 큐를 정의합니다.
로컬 대기열 생성 및 기본 로컬 대기열 정의에 대한 자세한 내용은 분산 워크로드에 대한 할당량 관리 구성을 참조하십시오.
8.5.7. 사용자가 제공한 local_queue가 수신되는 경우 오류 메시지가 존재하지 않습니다. 링크 복사링크가 클립보드에 복사되었습니다!
문제
사용자가 cluster.up() 명령을 실행한 후 다음 오류가 표시됩니다.
local_queue provided does not exist or is not in this namespace. Please provide the correct local_queue name in Cluster Configuration.
local_queue provided does not exist or is not in this namespace. Please provide the correct local_queue name in Cluster Configuration.
진단
클러스터 구성의 로컬 큐에 잘못된 값이 지정되거나 잘못된 기본 로컬 큐가 정의됩니다. 지정된 로컬 큐가 존재하지 않거나 다른 네임스페이스에 있습니다.
해결
OpenShift 콘솔의 프로젝트 목록에서 사용자의 프로젝트를 선택합니다.
- 검색을 클릭하고 리소스 목록에서 LocalQueue 를 선택합니다.
다음 방법 중 하나로 문제를 해결합니다.
- 로컬 큐를 찾을 수 없는 경우 로컬 큐를 만듭니다.
-
하나 이상의 로컬 대기열이 있는 경우 사용자에게 프로젝트의 로컬 대기열 세부 정보를 제공합니다. 사용자에게 클러스터 구성에 로컬 대기열 이름을 올바르게 지정하고 클러스터 구성의
namespace값이 프로젝트 이름과 일치하도록 지시할 수 있습니다. 사용자가 클러스터 구성에서네임스페이스값을 지정하지 않으면 현재 프로젝트에서 Cryostat 클러스터가 생성됩니다.
기본 로컬 큐를 정의합니다.
로컬 대기열 생성 및 기본 로컬 대기열 정의에 대한 자세한 내용은 분산 워크로드에 대한 할당량 관리 구성을 참조하십시오.
8.5.8. 사용자가 Cryostat 클러스터를 생성하거나 작업을 제출할 수 없습니다. 링크 복사링크가 클립보드에 복사되었습니다!
문제
사용자가 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}
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}
진단
올바른 OpenShift 로그인 인증 정보는 사용자 노트북 코드의 TokenAuthentication 섹션에 지정되지 않습니다.
해결
다음과 같이 사용자에게 올바른 OpenShift 로그인 인증 정보를 식별하고 지정하도록 지시합니다.
- OpenShift 콘솔 헤더에서 사용자 이름을 클릭하고 로그인 복사 명령을 클릭합니다.
- 열리는 새 탭에서 사용할 자격 증명이 있는 사용자로 로그인합니다.
- 토큰 표시를 클릭합니다.
-
이 토큰 섹션으로 로그인에서
토큰및서버값을 복사합니다. 다음과 같이 노트북 코드에서 복사된
토큰및서버값을 지정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
사용자에게 올바른 권한이 있고
rhoai-users그룹의 일부인지 확인합니다.
8.5.9. Kueue에서 프로비저닝한 사용자의 Pod는 사용자의 이미지를 가져오기 전에 종료됩니다. 링크 복사링크가 클립보드에 복사되었습니다!
문제
Kueue는 워크로드를 준비 상태로 표시하기 전에 모든 워크로드 Pod가 프로비저닝 및 실행될 수 있도록 일정 동안 기다립니다. 기본적으로 Kueue는 5 분 동안 기다립니다. 5분 대기 기간이 지난 후에도 Pod 이미지가 매우 크고 여전히 가져오는 경우 Kueue는 워크로드에 실패하고 관련 Pod를 종료합니다.
진단
- OpenShift 콘솔의 프로젝트 목록에서 사용자의 프로젝트를 선택합니다.
- 워크로드 → 포드 를 클릭합니다.
- 사용자의 포드 이름을 클릭하여 Pod 세부 정보 페이지를 엽니다.
- 이벤트 탭을 클릭하고 Pod 이벤트를 검토하여 이미지 가져오기가 성공적으로 완료되었는지 확인합니다.
해결
Pod가 이미지를 가져오는 데 5분 이상 걸리면 다음 방법 중 하나로 문제를 해결합니다.
-
Kueue에서 관리하는 리소스에 대한
OnFailure재시작 정책을 추가합니다. -
redhat-ods-applications네임스페이스에서kue-manager-configConfigMap을 편집하여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 클러스터가 배포되어 있는 인증 정보가 있습니다.
프로세스
백업할 PV(영구 볼륨)의 ID를 확인합니다.
- OpenShift Dedicated 웹 콘솔에서 관리자 화면으로 변경합니다.
- 홈 → 프로젝트를 클릭합니다.
rhods-notebooks 프로젝트를 클릭합니다.
프로젝트의 세부 정보 페이지가 열립니다.
Inventory 섹션에서 PersistentVolumeClaims 를 클릭합니다.
PersistentVolumeClaims 페이지가 열립니다.
백업하려는 PV(영구 볼륨)의 ID를 확인합니다.
참고AWS 인스턴스에서 백업할 올바른 EBS 볼륨을 식별하는 데 PV(영구 볼륨)가 필요합니다.
백업하려는 PV가 포함된 EBS 볼륨을 찾습니다.
자세한 내용은 Amazon Web Services 설명서: Amazon EBS 스냅샷 생성을 참조하십시오.
- AWS( https://aws.amazon.com)에 로그인하고 OpenShift Dedicated 클러스터가 배포된 리전을 보고 있는지 확인합니다.https://aws.amazon.com
- 서비스를 클릭합니다.
- Compute → EC2 를 클릭합니다.
측면 탐색에서 Elastic Block Storage → 볼륨 을 클릭합니다.
Volumes 페이지가 열립니다.
검색 모음에서 이전에 기록한 PV(영구 볼륨)의 ID를 입력합니다.
볼륨 페이지가 다시 로드되어 검색 결과가 표시됩니다.
-
표시된 볼륨을 클릭하고 모든
kubernetes.io/created-for/pvc/namespace태그에rhods-notebooks, 및 모든kubernetes.io/created-for/pvc/name태그가 EC2 볼륨이 사용 중인 영구 볼륨의 이름과 일치하는지 확인합니다(예: jupter-nb-user1-pvc).
PV(영구 볼륨)가 포함된 EBS 볼륨을 백업합니다.
백업할 볼륨을 마우스 오른쪽 버튼으로 클릭하고 목록에서 Create Snapshot 을 선택합니다.
스냅샷 생성 페이지가 열립니다.
- 볼륨에 대한 설명을 입력합니다.
스냅샷 생성을 클릭합니다.
볼륨의 스냅샷이 생성됩니다.
- 닫기를 클릭합니다.
검증
- 생성한 스냅샷은 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 클러스터가 배포되어 있는 인증 정보가 있습니다.
프로세스
백업할 PV(영구 볼륨)의 ID를 확인합니다.
- OpenShift Dedicated 웹 콘솔에서 관리자 화면으로 변경합니다.
- 홈 → 프로젝트를 클릭합니다.
rhods-notebooks 프로젝트를 클릭합니다.
프로젝트의 세부 정보 페이지가 열립니다.
Inventory 섹션에서 PersistentVolumeClaims 를 클릭합니다.
PersistentVolumeClaims 페이지가 열립니다.
백업하려는 PV(영구 볼륨)의 ID를 확인합니다.
GCP 인스턴스에서 백업하려면 올바른 영구 디스크를 식별하는 데 PV(영구 볼륨) ID가 필요합니다.
백업하려는 PV가 포함된 영구 디스크를 찾습니다.
- Google Cloud 콘솔( https://console.cloud.google.com)에 로그인하고 OpenShift Dedicated 클러스터가 배포된 리전을 보고 있는지 확인합니다.https://console.cloud.google.com/
- 탐색 메뉴( Cryostat)를 클릭한 다음 Compute Engine 을 클릭합니다.
측면 탐색의 스토리지 아래의 디스크를 클릭합니다.
디스크 페이지가 열립니다.
필터 쿼리 상자에 이전에 기록한 PV(영구 볼륨)의 ID를 입력합니다.
디스크 페이지가 다시 로드되어 검색 결과가 표시됩니다.
-
표시된 디스크를 클릭하고 모든
kubernetes.io/created-for/pvc/namespace태그에rhods-notebooks, 및 모든kubernetes.io/created-for/pvc/name태그가 영구 디스크가 사용 중인 영구 볼륨의 이름과 일치하는지 확인합니다(예: jupterhub-nb-user1-pvc).
PV(영구 볼륨)가 포함된 영구 디스크를 백업합니다.
상단 탐색에서 CREATE SNAPSHOT 을 선택합니다.
스냅샷 생성 페이지가 열립니다.
- 스냅샷의 고유한 이름을 입력합니다.
- 소스 디스크에서 백업할 영구 디스크가 표시되는지 확인합니다.
- 필요에 따라 선택적 설정을 변경합니다.
만들기를 클릭합니다.
영구 디스크의 스냅샷이 생성됩니다.
검증
- 생성한 스냅샷은 GCP의 스냅샷 페이지에 표시됩니다.