Red Hat OpenShift Data Science スタートガイド

Red Hat OpenShift Data Science 1

ガイド

概要

Red Hat OpenShift Data Science のテクノロジープレビューリリースに関するドキュメント。テクノロジープレビューは、Red Hat カスタマーポータル (https://access.redhat.com/support/offerings/techpreview) で詳細に説明されているようにサポート範囲が制限された状態で提供されます。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージをご覧ください。

本書の仕組み

本書は、全体を参照することも、必要な部分にジャンプして使用することもできます。

パート I OpenShift Data Science の管理は、Red Hat OpenShift Dedicated クラスターで OpenShift Data Science をセットアップする必要のある管理者を対象にしています。

パート II OpenShift Data Science の使用は、OpenShift Data Science 環境で作業を開始するデータサイエンティストを対象にしています。

第1章 OpenShift Data Science の概要

Red Hat OpenShift Data Science を使用すると、ユーザーはデータ、人工知能および機械学習ソフトウェアを統合し、エンドツーエンドの機械学習ワークフローを実行できます。OpenShift Data Science は、Red Hat OpenShift Dedicated および Red Hat OpenShift Service on Amazon Web Services (AWS) などの Red Hat のマネージド環境へのアドオンとして利用できます。

データサイエンティストの場合、OpenShift Data Science には、JupyterHub と、GPU (Graphics Processing Unit) および Tensorflow と Pytorch フレームワークのサポートを含む、モデル開発に必要なツールやライブラリーで最適化されたデフォルトのノートブックイメージのコレクションが含まれます。モデルをデプロイし、ホストし、モデルを外部アプリケーションに統合し、モデルをエクスポートしてハイブリッドクラウド環境でホストします。

管理者の場合、OpenShift Data Science では、既存の Red Hat OpenShift Dedicated または Red Hat OpenShift on AWS 環境でデータサイエンスのワークロードを有効にするシンプルな方法を提供します。既存の OpenShift アイデンティティープロバイダーを使用してユーザーを管理し、ノートブックサーバーでリソースの使用状況を管理し、データサイエンティストがモデルを作成し、トレーニングし、ホストするために必要なものを確保できるようにします。

第2章 OpenShift Data Science のデプロイの概要

このセクションでは、データサイエンティスト向けに Red Hat OpenShift Data Science を開発環境およびテスト環境としてデプロイする方法を説明します。

前提条件

  • Red Hat カスタマーアカウント

    cloud.redhat.com に移動してログインするか、または新規アカウントの登録をします。

  • 製品サブスクリプション

    以下の製品およびアドオンのサブスクリプション:

    • Red Hat OpenShift Dedicated
    • OpenShift Data Science アドオン

    新規サブスクリプションを購入する場合は、Red Hat アカウントマネージャーにお問い合わせください。アカウントマネージャーがいない場合は、このフォームに記入してリクエストしてください。

  • OpenShift Dedicated クラスター

    クラスターの作成について説明している OpenShift Dedicated ドキュメントに従って、既存のクラスターを使用するか、または新規クラスターを作成します。

手順

  1. OpenShift Dedicated のアイデンティティープロバイダーを設定します。
  2. OpenShift Dedicated の管理者ユーザーを追加します。
  3. OpenShift Data Science アドオンをインストールします。
  4. OpenShift Data Science へのユーザーアクセスを提供するために、ユーザーおよび管理者グループを設定します。
  5. ユーザーに OpenShift Data Science インスタンスの URL を提供します。

第3章 データモデルの開発およびデプロイの概要

このセクションでは、Red Hat OpenShift Data Science を使用して作成された予測モデルを使用してアプリケーションの開発とデプロイに必要な作業について説明します。

お客様の組織は、このプロセスに関する責任を、データサイエンティストやアプリケーション開発者などの複数のロール間で分担させるか、または単一のロールで実行させる場合があります。それぞれのステップについての適切なロールが記述されます。

表3.1 ロール別の開発タスク

アプリケーション開発者データサイエンティストタスクの説明

 

OpenShift Data Science アプリケーションテンプレートを使用して、Python S2I プロジェクトを Git に作成します。

  • GitHub テンプレートを使用します。
  • Cookiecutter プロジェクト生成プログラムを使用します。

 

Git プロジェクトを、データサイエンスがリポジトリーから/へプッシュ/プルできるように設定します。

この時点で、モデルとモデルを使用するアプリケーションを同時に開発することができます。

 

プロジェクトリポジトリーを使用して OpenShift アプリケーションを作成します。

 

OpenShift アプリケーションをビルドしてコードを検証します。

 

Webhook を使用してビルドプロセスを自動化します。

 

JupyterHub を起動し、ノートブックを作成またはインポートします。

 

Git プロジェクトを JupyterHub にインポートします。

 

JupyterHub のノートブックを使用して、モデルを開発し、テストします。

 

別個の Python ファイルで、モデルを Python 関数として抽出します。

 

関数に必要な依存関係で requirements.txt ファイルを更新します。

 

ノートブックサーバーで関数をテストします。

 

関数を Git プロジェクトに追加します。

 

更新をリモート Git プロジェクトに再びプッシュします。

デプロイされたアプリケーションエンドポイントをテストします。

パート I. OpenShift Data Science の管理

第4章 クラスターへの OpenShift Data Science のデプロイ

4.1. OpenShift Data Science のアイデンティティー管理オプション

OpenShift Data Science は、Red Hat OpenShift Dedicated および Red Hat OpenShift Service on Amazon Web Services (AWS) と同じ認証システムをサポートします。

詳細は、クラスターの適切なドキュメントを確認してください。

4.2. OpenShift Dedicated のアイデンティティープロバイダーの設定

OpenShift Dedicated クラスターのアイデンティティープロバイダーを、ユーザーおよびグループを管理するように設定します。

前提条件

手順

  1. OpenShift Cluster Manager (https://cloud.redhat.com/openshift/) にログインします。
  2. Clusters をクリックします。Clusters ページが開きます。
  3. 設定するクラスターの名前をクリックします。
  4. Access control タブをクリックします。
  5. Add identity provider をクリックします。

    1. Identity Provider 一覧からプロバイダーを選択します。
    2. アイデンティティープロバイダーの一意の Name を入力します。この名前を後で変更することはできません。
    3. ドロップダウンメニューから Mapping method を選択します。
    4. Client ID および Client secret を入力します。
    5. オプション: Hostname を入力し、GitHub または GitHub Enterprise のいずれかに接続します。
    6. Use organizations または Use teams を選択して、特定の GitHub 組織または GitHub チームへのアクセスを制限します。
    7. アクセスを制限する組織またはチームの名前を入力します。Add more をクリックして、ユーザーが所属できる複数の組織またはチームを指定します。
    8. Confirm をクリックします。

検証

  • 設定されたアイデンティティープロバイダーは、Cluster details ページの Access control タブに表示されます。

4.3. OpenShift Dedicated の管理者ユーザーの追加

データサイエンティストのユーザー向けには、OpenShift Data Science をインストールし、設定するために管理者アクセスが必要になります。

前提条件

  • OpenShift Cluster Manager の認証情報 (https://cloud.redhat.com/openshift/)。
  • アイデンティティープロバイダーが設定された既存の OpenShift Dedicated クラスター。

手順

  1. OpenShift Cluster Manager (https://cloud.redhat.com/openshift/) にログインします。
  2. Clusters をクリックします。Clusters ページが開きます。
  3. 設定するクラスターの名前をクリックします。
  4. Access control タブをクリックします。
  5. Cluster administrative usersAdd user ボタンをクリックします。

    Add cluster user ポップオーバーが表示されます。

  6. User ID フィールドにユーザー名を入力します。
  7. ユーザーに適した Group を選択します。

    重要

    このユーザーがアイデンティティープロバイダーの既存のグループを使用して OpenShift Data Science アクセスを制御する必要がある場合は、cluster-admin を選択します。

    これらのユーザータイプについての詳細は、OpenShift Dedicated ドキュメントのクラスターの管理について確認してください。

  8. Add user をクリックします。

検証

  • ユーザー名および選択されたグループは、クラスター Cluster administrative users の一覧に表示されます。

追加リソース

4.4. OpenShift Dedicated への OpenShift Data Science のインストール

Red Hat OpenShift Data Science は、Red Hat OpenShift Cluster Manager を使用して Red Hat OpenShift Dedicated クラスターにアドオンとしてインストールできます。

前提条件

  • OpenShift Data Science のエンタイトルメントの購入。
  • OpenShift Cluster Manager の認証情報 (https://cloud.redhat.com/openshift/)。
  • OpenShift Dedicated クラスターへの管理者アクセス。

手順

  1. OpenShift Cluster Manager (https://cloud.redhat.com/openshift/) にログインします。
  2. Clusters をクリックします。

    Clusters ページが開きます。

  3. OpenShift Data Science をインストールするクラスターの名前をクリックします。

    クラスターの Details ページが開きます。

  4. Add-ons タブをクリックし、Red Hat OpenShift Data Science カードを見つけます。
  5. Install をクリックします。

    カードのステータスが Installing に変わります。

検証

  • OpenShift Cluster Manager では、クラスターの Add-ons タブで、OpenShift Data Science カードに Installed のステータスが表示され、View in console ビューが表示されていることを確認します。
  • OpenShift Dedicated で、HomeProjects をクリックし、以下のプロジェクト namespace が表示され、Active として一覧表示されていることを確認します。

    • redhat-ods-applications
    • redhat-ods-monitoring
    • redhat-ods-operator

第5章 OpenShift Data Science のユーザーの追加

ユーザーアカウントを Red Hat OpenShift Data Science のユーザーグループ、管理者グループまたはそれらの両方に追加して、Red Hat OpenShift Data Science にアクセスするためのパーミッションをユーザーに付与できます。デフォルトのグループ名を使用するか、またはアイデンティティープロバイダーにすでに存在するグループ名を指定できます。

user group は、Red Hat OpenShift Data Science ダッシュボードの開発者機能と、JupyterHub などの関連サービスへのアクセスをユーザーに提供します。デフォルトのユーザーグループ名は rhods-users です。

administrator group は、Red Hat OpenShift Data Science ダッシュボードの開発者および管理者の機能(JupyterHub など)へのアクセスをユーザーに提供します。デフォルトの管理者グループ名はrhods-admins です。

デフォルトのグループ名を使用するには、デフォルトのユーザーグループを使用した OpenShift Data Science のユーザーの追加に移行します。この方法は設定が簡単ですが、OpenShift Dedicated Web コンソールでユーザーの一覧を手動で管理する必要があります。

アイデンティティープロバイダーにすでに存在するグループを使用するには、アイデンティティープロバイダーから OpenShift Data Science への既存のユーザーグループの追加に移行します。この方法では、通常通りにアイデンティティープロバイダーを使用してユーザーを管理できます。

5.1. 既存ユーザーグループをアイデンティティープロバイダーから OpenShift Data Science に追加する

ユーザー名を OpenShift Data Science のユーザーグループ、管理者グループ、またはその両方に追加して、Red Hat OpenShift Data Science へのアクセスをユーザーに付与できます。このセクションの手順に従って、デフォルトのグループ名(rhods-admins または rhods-users)のいずれかを使用しないアイデンティティープロバイダーからの既存グループを使用します。通常のアイデンティティープロバイダーの場合と同様に、ユーザーをこれらのグループに追加できます。

前提条件

  • OpenShift Dedicated のサポートされるアイデンティティープロバイダーを設定している。
  • OpenShift Dedicated の cluster-admins ユーザーグループに属している。

手順

  1. OpenShift Dedicated Web コンソールで、 Administrator パースペクティブに切り替えます。
  2. WorkloadsConfigMaps をクリックします。
  3. ProjectAll Projects または rhods-ods-applications に設定して、適切な ConfigMap が表示されるようにします。
  4. rhods-groups-config ConfigMap の名前をクリックします。

    ConfigMap details ページが表示されます。

  5. YAML タブをクリックします。
  6. opendatahub.io/modified ラベルを true に変更します。

      labels:
        app: jupyterhub
        opendatahub.io/modified: true
  7. デフォルト値をグループ名に置き換えます。

    admin_groups の値を、管理グループの新しい名前に、allowed_groups の値をユーザーグループの新しい名前に変更します。以下に例を示します。

    data:
      admin_groups: it-ops
      allowed_groups: datasci-devs
  8. Save をクリックします。

検証

  • Details タブをクリックし、Labels フィールドに opendatahub.io/modified=true が含まれ、更新されたグループ名が Data の見出しに表示されることを確認します。
  • ユーザーは、Red Hat OpenShift Data Science ダッシュボードや、JupyterHub などの関連サービスにアクセスできます。

5.2. デフォルトのユーザーグループを使用した OpenShift Data Science ユーザーの追加

ユーザー名を OpenShift Data Science のユーザーグループ、管理者グループ、またはその両方に追加して、Red Hat OpenShift Data Science へのアクセスをユーザーに付与できます。このセクションの手順に従って、デフォルトのグループ名を使用する管理者およびユーザーグループを作成し、ユーザーをグループに手動で追加します。この方法は設定が簡単ですが、OpenShift Dedicated Web コンソールでユーザーの一覧を手動で管理する必要があります。

前提条件

  • OpenShift Dedicated のサポートされるアイデンティティープロバイダーを設定している。
  • OpenShift Dedicated の dedicated-admins ユーザーグループに属している。

手順

  1. OpenShift Dedicated Web コンソールで、 User ManagementGroups をクリックします。
  2. オプション: rhods-admins グループを作成します (ない場合)。

    1. Create Group をクリックします。
    2. グループの namerhods-admins に変更します。

      apiVersion: user.openshift.io/v1
      kind: Group
      metadata:
        name: rhods-admins
      users:
        - user1
        - user2
    3. ステップ 6 を省略して管理者ユーザーを追加します。
  3. オプション: rhods-users グループを作成します (ない場合)。

    1. Create Group をクリックします。
    2. グループの namerhods-users に変更します。

      apiVersion: user.openshift.io/v1
      kind: Group
      metadata:
        name: rhods-users
      users:
        - user1
        - user2
    3. ステップ 6 を省略して通常のユーザーを追加します。
  4. ユーザーを追加するグループの名前をクリックします。

    • 管理者ユーザーの場合は、rhods-admins をクリックします。
    • 通常ユーザーの場合は、rhods-users をクリックします。

    そのグループの Group details ページが表示されます。

  5. YAML タブをクリックします。
  6. users セクションに、グループに追加するユーザーのユーザー名を追加します。以下に例を示します。

    users:
     - jdoe
     - emustermann
  7. Save をクリックします。

検証

  • 各グループの Details タブをクリックし、Users セクションに追加したユーザー名が含まれていることを確認します。
  • ユーザーが Red Hat OpenShift Data Science ダッシュボードや、JupyterHub などの関連サービスにアクセスできることを確認します。

パート II. OpenShift Data Science の使用

第6章 スタート

6.1. OpenShift Data Science へのログイン

JupyterHub およびデータシェンスプロジェクトへのアクセスを簡単に行えるように、ブラウザーから OpenShift Data Science にログインします。

前提条件

  • OpenShift Dedicated にアクセスできるユーザーの場合は、Application Launcher ( The application launcher )→ Red Hat OpenShift Data Science をクリックします。
  • データサイエンティストユーザーの場合は、管理者は認証情報またはアイデンティティープロバイダーと OpenShift Data Science インスタンス URL のいずれかを送信しています。たとえば、アイデンティティープロバイダーは GitHub になり、インスタンスの URL は https://rhods-dashboard.apps.example.abc1.p1.openshiftapps.com/ のようになります。

手順

  1. OpenShift Data Science インスタンス URL を参照し、Log in with OpenShift をクリックします。
  2. プロンプトが出されたら、アイデンティティープロバイダーを選択します。
  3. 認証情報を入力し、Log in (またはアイデンティティープロバイダーに応じたこれと同等のボタン) をクリックします。

検証

  • OpenShift Data Science が Enabled applications ページで開きます。

6.2. Launching JupyterHub and starting a notebook server

JupyterHub を起動し、ノートブックサーバーを起動して、ノートブックの使用を開始します。

前提条件

  • OpenShift Data Science にログインします。

手順

  1. Enabled applications ページで JupyterHub カードを見つけます。
  2. Launch をクリックします。

    1. プロンプトが出されたら、アイデンティティープロバイダーを選択します。
    2. 認証情報を入力し、Log in (またはアイデンティティープロバイダーに応じたこれと同等のボタン) をクリックします。
  3. ノートブックサーバーを起動します。

    JupyterHub をすでに起動している場合は、これは必須ではありません。

    1. サーバーに使用する Notebook image を選択します。
    2. サーバーの Container size を選択します。
    3. オプション: サーバーの Number of GPUs (Graphics Processing Units) を選択します。
    4. オプション: 新規の Environment variables の値を選択し、指定します。

      環境変数名は一意である必要があります。

      一般的な環境変数のサンプルの変数名については、Anaconda、Amazon Simple Storage Service (S3)、または Source-to-Image (S2I) などの頻繁に統合される環境やフレームワークについて自動的に提供されます。

      インターフェースは、以前に入力した環境変数を記憶します。

    5. Start server をクリックします。

      Starting server 進捗インジケーターが表示されます。

検証

  • JupyterHub ホームページが新規タブで開かれます。

6.3. よくある質問

このドキュメントのほかにも、Red Hat では、データサイエンティストが実際に作業するにあたって生じる一般的な質問への回答を提供する数多くの「How to」ドキュメントを提供しています。

現在利用できる「How to」ドキュメントは、以下のリンクでご覧いただけます。

第7章 ノートブックの作成

7.1. 新しいノートブックの作成

既存のノートブックコンテナーイメージから新規の Jupyter ノートブックを作成し、そのリソースおよびプロパティーにアクセスすることができます。JupyterHub Spawner には、単一ユーザーのノートブックサーバーとして実行できる利用可能なコンテナーイメージの一覧が含まれます。

前提条件

  • Red Hat OpenShift Data Science にログインしていることを確認します。
  • JupyterHub にログインし、ノートブックサーバーを起動していることを確認します。
  • ノートブックイメージはレジストリー、イメージストリームに存在し、アクセス可能である必要があります。

手順

  1. FileNewNotebook をクリックします。
  2. プロンプトが出されたら、一覧からノートブックのカーネルを選択します。

    カーネルを使用する場合は、Select をクリックします。カーネルを使用しない場合は、No Kernel をクリックします。

検証

  • ノートブックファイルが JupyterHub に表示されることを確認します。

7.2. ローカルストレージからの既存のノートブックのインポート

ローカルストレージから JupyterHub に既存のノートブックを読み込んで作業を継続したり、新しいユースケースに合わせてプロジェクトを調整したりすることができます。

前提条件

  • JupyterHub にログインするための認証情報。
  • 起動済みで実行中のノートブックサーバー。
  • ノートブックファイルがローカルストレージにある。

手順

  1. JupyterHub インターフェースの左側のサイドバーの File Browser で、Upload Files ( Upload Files ) をクリックします。
  2. ノートブックファイルを見つけ、これを選択して Open をクリックします。

    ファイルは File Browser に表示されます。

検証

  • ノートブックファイルは、JupyterHub インターフェースの左側のサイドバーの File Browser に表示されます。
  • JupyterHub でノートブックファイルを開くことができます。

7.3. JupyterLab を使用した git リポジトリーからの既存ノートブックファイルのインポート

JupyterLab ユーザーインターフェースを使用すると、Git リポジトリーをワークスペースにクローンして、そのまま作業を継続したり、外部プロジェクトのファイルを統合したりできます。

前提条件

  • 起動済みで実行中の JupyterHub サーバー。
  • クローンを作成する Git リポジトリーの読み取りアクセス。

手順

  1. Git リポジトリーの HTTPS URL をコピーします。

    • GitHub で、⤓ CodeHTTPS をクリックし、Clipboard ボタンをクリックします。
    • GitLab で、Clone をクリックし、Clone with HTTPS の下にある Clipboard ボタンをクリックします。
  2. JupyterLab インターフェースで、Git Clone ボタン ( Git Clone button ) をクリックします。

    また、メニューで GitClone a repository をクリックするか、または Git アイコン ( Git button ) をクリックして Clone a repository ボタンをクリックできます。

    Clone a repo ダイアログが表示されます。

  3. ノートブックが含まれるリポジトリーの HTTPS URL を入力します。
  4. CLONE をクリックします。
  5. プロンプトが表示されたら、Git リポジトリーのユーザー名とパスワードを入力します。

検証

  • リポジトリーの内容が JupyterHub ホームページの Files タブに表示されていることを確認するか、またはターミナルで ls コマンドを実行して、リポジトリーがディレクトリーとして表示されることを確認します。

7.4. ノートブックセルを使用した git リポジトリーからの既存ノートブックファイルのインポート

ノートブックのセルを使用すると、Git リポジトリーをワークスペースにクローンして、そのまま作業を継続したり、外部プロジェクトのファイルを統合したりできます。

前提条件

  • 起動済みで実行中の JupyterHub サーバー。

手順

  1. Git リポジトリーの HTTPS URL をコピーします。

    • GitHub で、⤓ CodeHTTPS をクリックし、Clipboard ボタンをクリックします。
    • GitLab で、Clone をクリックし、Clone with HTTPS の下にある Clipboard ボタンをクリックします。
  2. JupyterHub でノートブックを開きます。
  3. ノートブックにセルを追加します。
  4. ! の後に git clone コマンドを入力します。

    !git clone git-clone-url

    git-clone-url を HTTPS URL に置き換えます。以下に例を示します。

    !git clone https://github.com/example/myrepo.git
    executed in 20ms, finished 12:44:12 2021-04-07
    Cloning into myrepo...
    remote: Enumerating objects: 11, done.
    remote: Counting objects: 100% (11/11), done.
    remote: Compressing objects: 100% (10/10), done.
    remote: Total 2821 (delta 1), reused 5 (delta 1), pack-reused 2810
    Receiving objects: 100% (2821/2821), 39.17 MiB | 23.89 MiB/s, done.
    Resolving deltas: 100% (1416/1416), done.

検証

  • リポジトリーの内容が JupyterHub ホームページの Files タブに表示されていることを確認するか、またはターミナルで ls コマンドを実行して、リポジトリーがディレクトリーとして表示されることを確認します。

7.5. コマンドラインインターフェースを使用した git リポジトリーからの既存のノートブックファイルのインポート

コマンドラインインターフェースを使用して、Git リポジトリーをワークスペースにクローンしてそのまま作業を継続したり、外部プロジェクトのファイルを統合したりできます。

前提条件

  • 起動済みで実行中の JupyterHub サーバー。

手順

  1. Git リポジトリーの HTTPS URL をコピーします。

    • GitHub で、⤓ CodeHTTPS をクリックし、Clipboard ボタンをクリックします。
    • GitLab で、Clone をクリックし、Clone with HTTPS の下にある Clipboard ボタンをクリックします。
  2. JupyterHub でターミナルを開きます。

    1. JupyterHub ホームページから、Files タブをクリックします。
    2. NewTerminal をクリックします。
  3. git clone コマンドを入力します。

    git clone git-clone-url

    git-clone-url を HTTPS URL に置き換えます。以下に例を示します。

    [1234567890@jupyterhub-nb-jdoe ~]$ git clone https://github.com/example/myrepo.git
    Cloning into myrepo...
    remote: Enumerating objects: 11, done.
    remote: Counting objects: 100% (11/11), done.
    remote: Compressing objects: 100% (10/10), done.
    remote: Total 2821 (delta 1), reused 5 (delta 1), pack-reused 2810
    Receiving objects: 100% (2821/2821), 39.17 MiB | 23.89 MiB/s, done.
    Resolving deltas: 100% (1416/1416), done.

検証

  • リポジトリーの内容が JupyterHub ホームページの Files タブに表示されていることを確認するか、またはターミナルで ls コマンドを実行して、リポジトリーがディレクトリーとして表示されることを確認します。

第8章 アプリケーションの作成

8.1. Git リポジトリーからの OpenShift アプリケーションの作成

Git リポジトリーの既存のコードベースをインポートし、OpenShift Dedicated で Red Hat OpenShift Data Science アプリケーションを作成し、ビルドし、デプロイできます。

前提条件

  • OpenShift Dedicated Web コンソールにログインしている。
  • Developer パースペクティブを使用している。
  • OpenShift Dedicated でアプリケーションおよび他のワークロードを作成するための適切なプロジェクト内のロールおよびパーミッションがある。
  • Git リポジトリーを設定している。
  • Git リポジトリーをインポートするためのパーミッションがある。

手順

  1. Add ビューで From Git をクリックし、Import from Git フォームを表示します。
  2. Git セクションで、アプリケーションの作成に使用するコードベースの Git リポジトリー URL を入力します。
  3. オプション: Show Advanced Git Options をクリックし、以下のような詳細を追加します。

    • Git Reference: アプリケーションのビルドに使用する特定のブランチ、タグ、またはコミットのコードを参照します。
    • Context Dir: アプリケーションのビルドに使用するアプリケーションのソースコードのサブディレクトリーを指定します。
    • Source Secret: プライベートリポジトリーからソースコードをプルするための認証情報で Secret Name を作成します。
  4. Builder セクションで、URL の検証後に、適切なビルダーイメージが検出され、スターのマークが付けられ、自動的に選択されます。
  5. General セクションで、以下を実行します。

    1. Application フィールドに、アプリケーションを分類するために一意の名前を入力します。アプリケーション名が namespace で一意であることを確認します。
    2. Name フィールドで、このアプリケーション用に作成されたリソースが Git リポジトリー URL をベースとして自動的に設定されることを確認します。

      注記

      リソース名は namespace で一意である必要があります。

  6. Resources セクションで、Deployment Config を選択し、OpenShift スタイルのアプリケーションを作成します。
  7. Advanced Options セクションでは、Create a route to the application がデフォルトで選択されるため、公開されている URL を使用してアプリケーションにアクセスできます。アプリケーションをパブリックルートに公開したくない場合は、チェックボックスをクリアします。
  8. オプション: 以下の高度なオプションを使用してアプリケーションをさらにカスタマイズできます。

    • Routing: Routing リンクをクリックして以下を実行します。

      • ルートのホスト名をカスタマイズします。
      • ルーターが監視するパスを指定します。
      • ドロップダウンリストから、トラフィックのターゲットポートを選択します。
      • Secure Route チェックボックスを選択してルートを保護します。必要な TLS 終端タイプを選択し、各ドロップダウンリストから非セキュアなトラフィックについてのポリシーを設定します。
    • Build and Deployment Configuration: Build Configuration および Deployment Configuration リンクをクリックし、それぞれの設定オプションを表示します。オプションの一部はデフォルトで選択されています。必要なトリガーおよび環境変数を追加して、オプションをさらにカスタマイズできます。
    • Scaling: Scaling リンクをクリックして、最初にデプロイするアプリケーションの Pod およびインスタンス数を定義します。
    • Resource Limit: Resource Limit リンクをクリックし、コンテナーが実行時に保証または使用が許可されている CPU および Memory リソースの量を設定します。
    • Labels: Labels リンクをクリックして、カスタムラベルをアプリケーションに追加します。
    • Create をクリックして、アプリケーションを作成し、Topology ビューでビルドのステータスを確認します。

検証

  • Topology ビューでアプリケーションを表示できます。

8.2. Cookiecutter を使用した OpenShift Data Science のアプリケーションの作成

Cookiecutter を使用して Red Hat OpenShift Data Science アプリケーションを迅速に作成できます。Cookiecutter は、データサイエンスの作業向けの柔軟な標準化されたプロジェクト構造を作成する Python ライブラリーです。Cookiecutter を使用してプロジェクトのリポジトリーをさらにカスタマイズできます。たとえば、プロジェクトの要件に合わせてリポジトリーのディレクトリー構造を変更することができます。

前提条件

  • 起動済みで実行中の JupyterHub サーバー。
  • GitHub アカウントが必要です。
  • 使用するテンプレートを含む GitHub リポジトリーにアクセスするための認証情報が必要です。

手順

  1. JupyterHub インターフェースで、FileNewTerminal をクリックします。
  2. ターミナルで pip install コマンドを実行して Cookiecutter をインストールします。

    pip install cookiecutter
  3. cookiecutter コマンドを実行して、Cookiecutter のリポジトリーテンプレートからプロジェクトを作成します。

    cookiecutter template-repository-url

    template-repository-url をテンプレートリポジトリーの URL に置き換えます。例: https://github.com/cookiecutter-template/template

  4. プロンプトが表示されたら、以下の情報を指定します。

    1. プロジェクトの名前。
    2. リポジトリーの名前。
    3. プロジェクトの作成者の名前。
    4. プロジェクトの説明。
    5. オープンソースライセンスファイルのタイプ。

      Cookiecutter テンプレートリポジトリーの内容は、左側のサイドバーの File Browser に表示されます。

  5. GitHub でリポジトリーを作成します。

    1. GitHub ホームページの右上にある +New repository をクリックします。

      Create a new repository ページが開きます。

    2. Repository template フィールドで、使用するテンプレートを選択します。
    3. オプション: Include all branches チェックボックスを選択し、テンプレートリポジトリーのブランチを新規リポジトリーにコピーします。
    4. Owner フィールドで、リポジトリーの所有者のユーザー名を選択します。
    5. Repository の名前 フィールドに、リポジトリーの名前を入力します。
    6. オプション: Description フィールドで、リポジトリーの説明を入力します。
  6. リポジトリーの表示レベルを設定します。

    1. 誰もがリポジトリーを表示できるようにするには、Public を選択された状態にしておきます。デフォルトでは、リポジトリーの表示は Public に設定されます。
    2. Private をクリックして、リポジトリーを表示してコミットできるユーザーを選択します。
    3. Create repository をクリックします。
  7. JupyterHub サーバーでリポジトリーのクローンを作成します。

    1. JupyterHub インターフェースで、GitClone a Repository をクリックします。

      Clone a repo ダイアログが表示されます。

    2. クローンを作成するリポジトリーの URL を入力します。
    3. Clone をクリックします。

      クローン作成したリポジトリーが、左側のサイドバーの File Browser に表示されます。

    4. File Browser で、 Cookiecutter で作成されたファイルおよびディレクトリーを、クローン作成したリポジトリーに移動します。
  8. 変更をリモートリポジトリーにプッシュします。

    1. 左側のサイドバーで、 jupyter git sidebar をクリックします。
    2. 変更を追跡していない場合は、Changes タブで、カーソルを Untracked セクションバーの上に置き、 jupyter git add or commit をクリックします。
    3. 変更が含まれるファイルがある場合は、Changes タブで、カーソルを Changed セクションバーの上に置き、 jupyter git add or commit をクリックします。
    4. Required フィールドに、変更の要約を入力します。
    5. Description フィールドに、変更の説明を入力します。
    6. Commit をクリックします。
    7. JupyterHub インターフェースで、GitPush to Remote をクリックして、変更をリモートリポジトリーにプッシュします。

      Git credentials required ダイアログが開きます。

    8. リモートリポジトリーにアクセスするために認証情報を入力します。
    9. OK をクリックします。

検証

  • テンプレートから作成したリモートリポジトリーにアクセスできます。
  • リモートリポジトリーでプッシュした変更を確認できます。

第9章 Git を使用したノートブックでのコラボレーション

9.1. プロジェクトの変更の git リポジトリーへのプッシュ

実稼働環境でアプリケーションをビルドし、デプロイするには、作業をリモート git リポジトリーにアップロードします。

前提条件

  • 起動済みで実行中の JupyterHub サーバー。
  • オプション: ノートブックサーバーが、S3 ストレージアカウントに接続されている。
  • 設定された Git リポジトリー。
  • git version control extension がインストールされている。
  • 関連する git リポジトリーを使用するためのパーミッション。
  • プロジェクトを設定しており、それを JupyterHub で開ける。

手順

  1. FileSave All をクリックして、最新の変更を保存します。
  2. Jupyter インターフェースでは、変更をステージして git リポジトリーにプッシュします。

    1. GitSimple Staging をクリックします。
    2. JupyterHub メニューで、GitPush to Remote をクリックして、変更をリモートリポジトリーにプッシュします。

      Git credentials required ダイアログが開きます。

    3. リモートリポジトリーにアクセスするために認証情報を入力します。
    4. OK をクリックします。

検証

  • 最近プッシュされた変更は、リモートの git リポジトリーに表示されます。

第10章 ノートブックの公開

10.1. デプロイされたアプリケーションの更新

Red Hat OpenShift Data Science にデータモデルをデプロイして、データモデルから洞察を得ることができます。

前提条件

  • OpenShift Dedicated Web コンソールにログインしている。
  • JupyterHub にログインするための認証情報。
  • 起動済みで実行中の JupyterHub サーバー。
  • 設定された Git リポジトリー。
  • リモート Git リポジトリーにアクセスするための認証情報
  • 作業データモデル。
  • GitHub で作成された OpenShift アプリケーション。

手順

  1. Git リポジトリーの HTTPS URL をコピーします。

    • GitHub で、⤓ CodeHTTPS をクリックし、Clipboard ボタンをクリックします。
    • GitLab で、Clone をクリックし、Clone with HTTPS の下にある Clipboard ボタンをクリックします。
  2. OpenShift Dedicated Web コンソールで、アプリケーションランチャー ( The application launcher ) を見つけます。
  3. The application launcher をクリックし、Red Hat OpenShift Data Science を選択します。

    Enabled applications ページが開きます。

    注記

    または、OpenShift Dedicated Web コンソールの Developer パースペクティブから Enabled applications ページにアクセスできます。Topology をクリックします。クラスターに複数のプロジェクトがある場合は、一覧からプロジェクトを選択します。Graph view が開き、ここで Red Hat OpenShift Data Science デプロイメントのアプリケーションのステータスが表示され、JupyterHub にアクセスできます。JupyterHub アプリケーション Pod で、Open URL ( osd topology open url ) をクリックします。

  4. Enabled applications ページで JupyterHub カードを見つけます。
  5. Launch をクリックします。
  6. JupyterLab インターフェースで、Git Clone ボタン ( Git Clone button ) をクリックします。

    また、メニューで GitClone a repository をクリックするか、または Git アイコン ( Git button ) をクリックして Clone a repository ボタンをクリックできます。

    Clone a repo ダイアログが表示されます。

  7. ノートブックが含まれるリポジトリーの HTTPS URL を入力します。
  8. CLONE をクリックします。
  9. プロンプトが表示されたら、Git リポジトリーのユーザー名とパスワードを入力します。
  10. JupyterHub でデータモデルを作成します。
  11. データモデルが完了したら、CellRun all をクリックして、これが正常に機能することを確認します。
  12. JupyterHub ホームページの Running タブから、先に作成したターミナルの名前をクリックします。
  13. 作業を Git リポジトリーに保存します。

    1. 左側のサイドバーで Git ( Git ) をクリックします。
    2. 変更を追跡していない場合は、Changes タブで、カーソルを Untracked セクションバーの上に置き、Track all changes ( Track all changes ) をクリックします。
    3. 変更が含まれるファイルがある場合は、Changes タブで、カーソルを Changed セクションバーの上に置き、Stage all changes ( Stage all changes ) をクリックします。
    4. Required フィールドに、変更の要約を入力します。
    5. Description フィールドに、変更の説明を入力します。
    6. Commit をクリックします。
    7. JupyterHub インターフェースで、GitPush to Remote をクリックして、変更をリモートリポジトリーにプッシュします。

      Git credentials required ダイアログが開きます。

    8. リモートリポジトリーにアクセスするために認証情報を入力します。
    9. OK をクリックします。
  14. モデルをビルドします。

    Webhook を設定している場合は、リポジトリーの更新時にモデルが自動的にビルドされます。

    それ以外の場合は、手動でビルドします。

    1. OpenShift Web コンソールで、Developer パースペクティブに切り替えます。
    2. Build をクリックします。
    3. モデルのビルド設定をクリックします。
    4. Build をクリックします。

検証

  • Red Hat OpenShift Dedicated の Developer パースペクティブの Topology ビューでデプロイされたモデルを表示できる。
  • アプリケーションエンドポイント URL を使用して、デプロイされたモデルをテストしている。

10.2. 公開されたモデルの表示

Red Hat OpenShift Data Science でデプロイしたデータモデルを表示して、作業の結果を分析できます。

前提条件

  • OpenShift Dedicated Web コンソールにログインしている。
  • 作業データモデルが正常にデプロイされている。

手順

  1. OpenShift Web コンソールで、Developer パースペクティブに切り替えます。
  2. Topology をクリックします。

    Graph view が開き、ここで Red Hat OpenShift Data Science デプロイメントのアプリケーションのステータスが表示され、JupyterHub にアクセスできます。

  3. JupyterHub アプリケーション Pod で、Open URL ( The Open URL button ) をクリックします。

検証

  • 新規のブラウザータブで、モデルの最新ビルドを開きます。