App HubでJupyter Notebookを作ろう

こんちには。クラウドソリューションアーキテクトの安齋です。

今流行りの Kubernetes と 公開されたばかりの App Hub で Jupyter Notebook を作っていきます。

Kubernetesとは

Alibaba Clold で提供される Kubernetes についてはこちらをご覧ください。

Kubernetes を構成するコンポーネントがわかりやすくまとまっています。

App Hubとは

Helm 互換のパッケージ管理ツールであり、ベンダー純正のミドルウェアを提供しています。

Jupyter Notebook を作る

1. Kubernetes クラスターの作成

Alibaba Cloud のクラスターは全3種類あります。

App Hub の Jupyter Notebook がサーバーレスクラスターに非対応であるため、今回はマネージドクラスターを使用します。

  1. 専用クラスター
    • いわゆる素の Kubernetes クラスターで、Master + Node を管理する必要があります
  2. マネージドクラスター
    • Alibaba Cloud が Master を管理し、ユーザーは Node のみを管理します
  3. サーバーレスクラスター

1-1. マネージドクラスターの作成

  • リージョン、VPC、Node のスペックなどは任意のものを選びます。
  • パブリックアクセスを「EIPでAPIサーバーの公開」にチェックをつけてください

2. App Hub で Jupyter Notebook をデプロイ

  1. クラスターが「実行中」になるまで待ちます
  2. 左メニューから App Catalog を選びます
  3. App Hub タブを選択し、「tensorflow-notebook」を選択します
  4. Jupyter Notebook と一緒に Tensorfolw もデプロイされますが、使用しません

3. できあがり

Kubernetes リソース

Deployments

Replica Sets

Pods


Services

Secrets

Jupyter Notebook

Python 2系のnotebook

Terminal

まとめ

Kubernetes はハードルが高くがちですが、Alibaba Cloud が提供するマネージドクラスターやサーバーレスクラスターを使用して、ありもののアプリを簡単にデプロイすることができました。

アプリのカスタマイズにはContainer RegistryやCI/CDが不可欠なので、日本ユーザー向けの公開とCI/CDサービスの提供を待つばかりです。