Kubernetes クラスタサービス
SUSE Rancher Prime/RKE2の機能を使用し、導入済みのKubernetesクラスタをサービスとして提供します。本サービスはいわゆるマネージドKubernetesサービス(Kubernetes-as-a-Service)に相当します。
提供サービス
共用クラスタ(Sクラスタ)
- 単一のKubernetesクラスタを他の利用者と共有して提供します。利用者間の分離はproject/namespaceの機能を使用して行います。
- 付加サービス:
- CPUコア数 [コア]
- GPU数 [台]
- 永続ボリューム容量 [TB]
- 提供はJHPCN共同研究、センター萌芽型共同研究、およびセンター長が特に認めたものを優先して行います。
- 共用クラスタ(Sクラスタ)への2025年度の総提供ノード数は12台です。1台あたり100コア程度まで提供可能です(利用者あたり最大100コアが目安)。
- GPUの提供可能数は2025年度は2台です(利用者あたり最大1台)。
- 利用者あたり一つのnamespaceを提供します(複数のnamespaceを使用する場合は応相談)。
占有クラスタ(Eクラスタ)
- 他の利用者と分離・独立したKubernetesクラスタを提供します。提供可能数には限りがあります(2025年度は1クラスタ)。
- 付加サービス:
- 占有ノード数 [ノード]
- 永続ボリューム容量 [TB]
- 提供はJHPCN共同研究、センター萌芽型共同研究。およびセンター長が特に認めたものを優先して行います。
- 2025年度は公募利用で契約済みのため、一般負担金利用への提供はありません。
アプリケーションカタログ
Kubernetesクラスタへのアプリケーション導入は、Rancherが提供するアプリケーションカタログからGUIを通じて対話的かつ簡単に行うことが可能です。RancherではアプリケーションはHelmチャートで実現されています。なお、アプリケーションの導入には必要に要じた資源量(付加サービス)の購入が必要です。ベンダーが動作検証を行ったアプリケーションも提供しています。
- ベンダー検証済みアプリケーション:
- Apache Superset(データ視覚化)
- MySQL, MariaDB, PostgreSQL(データベース)
- Apache Spark(大規模並列データ処理)
- Apache Trino(分散クエリー)
- Istio(サービスメッシュ、占有クラスタのみ導入可能)
アプリケーションカタログ以外にも,外部helmコマンドやkubectlコマンドを使用したHelmチャートの導入や、持ち込みコンテナイメージの使用が可能です。ただし、Helmチャートやコンテナイメージは開発元が公式に提供しているものや、第三者の信頼できる企業や団体が提供しているもの(例えばbitnamiなど)を極力使用してください。
Kubernetesクラスタの管理
Rancherでは、Kubernetesクラスタの管理をGUIを通じて対話的かつ視覚的に行うことができます。しかも、極力Kubernetesの標準機能に沿って実現されているため,RancherのGUI画面で行った操作がkubectlコマンドの結果に反映される、kubectlで行った操作がRancherの画面に反映されるなど、操作に双方向性や互換性があります。
サービスの外部公開
Kubernetes上で稼働するサービスの外部公開には、Kubernetes標準のIngressまたはLoad Balancer (MetalLB)の機能を使用します。インターネットに向けたサービス公開には、(1) 学際大規模計算機システムで設置している学際ファイアウォール、および(2) キャンパスネットワークのHINESで設置している学外ファイアウォールの二段階のセキュリティ装置を通過する必要があります。学際ファイアウォールの通信制限解除申請は学際大規模計算機システムの利用者ポータル上から行うことができます。学外ファイアウォールの通信制限解除にはHINESへの例外申請が別途必要です。
- KubernetesのServiceに割り当てられるのは、中間IP(External IP、プライベートIPアドレス)です。
- 学際ファイアウォール装置は、中間IPと公開IP(Public IP、グローバルIPアドレス)の間でNAT変換を行います。この変換には利用者ポータルからの申請が必要です。以上までの操作で、キャンパス内からのみアクセスできます。
- 学外からのアクセスには、さらに学外ファイアウォール装置の通信制限解除申請が必要です。
永続ボリューム
研究クラウドでは、コンテナのデータ保存領域となるPersistent Volume (PV)用のStorage Classとして下記の二つを提供します。
- 永続(exascaler、デフォルト)
- 永続的な外部ストレージ装置(DDN ES200NVX2)にデータが格納されるため、コンテナを終了してもデータが失われません。
- 付加サービスとしての申請が必要です。
- ローカル(local)
- 各計算ノードに接続されているローカルNVMe SSDにデータを格納します。
- 大規模機械学習の学習データなど、高速アクセス用の一時キャッシュ領域として使用します。コンテナを終了するとデータが失われます。
- 付加サービスの申請なく利用できますが、各ノードあたりの容量・提供数には限りがあります。
低優先度割り込みクラス(試験中、将来提供予定)
Kubernetesクラスタに空きがあれば、申請資源量を超えて低優先度で一定量まで使用でき、空きがなくなると実行が中断される低優先度割り込みクラスによるコンテナ実行を将来的に提供する予定です。