こんちには。クラウドソリューションアーキテクトの安齋です。
今流行りの Kubernetes と 公開されたばかりの App Hub で Jupyter Notebook を作っていきます。
Kubernetesとは
Alibaba Clold で提供される Kubernetes についてはこちらをご覧ください。
Kubernetes を構成するコンポーネントがわかりやすくまとまっています。
App Hubとは
Helm 互換のパッケージ管理ツールであり、ベンダー純正のミドルウェアを提供しています。
Jupyter Notebook を作る
1. Kubernetes クラスターの作成
Alibaba Cloud のクラスターは全3種類あります。
App Hub の Jupyter Notebook がサーバーレスクラスターに非対応であるため、今回はマネージドクラスターを使用します。
-
専用クラスター
- いわゆる素の Kubernetes クラスターで、Master + Node を管理する必要があります
-
マネージドクラスター
- Alibaba Cloud が Master を管理し、ユーザーは Node のみを管理します
-
サーバーレスクラスター
- Alibaba Cloud が Master + Node を管理してくれます
- 日本ユーザー向けの Kubernetes メニューでは表示されておらず、URL に直接アクセスすることでクラスターが作成できます
- https://cs.console.aliyun.com/#/k8s/cluster/create/serverless**
1-1. マネージドクラスターの作成
- リージョン、VPC、Node のスペックなどは任意のものを選びます。
- パブリックアクセスを「EIPでAPIサーバーの公開」にチェックをつけてください
2. App Hub で Jupyter Notebook をデプロイ
- クラスターが「実行中」になるまで待ちます
- 左メニューから App Catalog を選びます
- App Hub タブを選択し、「tensorflow-notebook」を選択します
- 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サービスの提供を待つばかりです。