はじめに
こんにちは、技術部の内藤です。
OKEのクラスタは、基本クラスタと拡張クラスタの2種類があります。拡張クラスタの方が機能が豊富で魅力ですが、すべてのケースで拡張クラスタが必要というわけではありません。
今回は、基本クラスタでも問題ないケースについて説明します。
基本クラスタと拡張クラスタの違い
料金面
2025年7月時点で以下です。
- 基本クラスタは無料
- 拡張クラスタは月に約11,500円(日に372円)かかる
詳細は以下をご覧ください。
Container Servicesの価格設定 | オラクル | Oracle 日本
機能面
いろいろと違いはありますが、私が影響が大きいものと考えるのは以下です。
- アドオンの利用可否
- Workload Identityの利用可否
詳細は、以下の公式ドキュメントや資料をご確認ください。
基本クラスタでも問題ないケース
以下の条件にすべて当てはまる場合は、基本クラスタで十分です。
要約すると、シンプルかつ非機能要件がゆるいアプリケーションです。
※ならKubernetesじゃないほうがいいのでは?と思われるかもしれませんが、慣れているなら、インスタンスの面倒を見る必要がなく、かんたんにノードやポッドを作り直せるKubernetesは非常に便利です
OCI Native Ingress ControllerでIngressを使わない
基本クラスタはアドオンが使えないため、OCI Native Ingress Controllerが使えません。そのため、Ingressを使用しない、またはNGINX Ingress Controllerなど他のIngress Controllerを使用する場合は、基本クラスタでも問題ありません。
OCI Native Ingress Controllerについての詳細は、以下の公式ドキュメントをご覧ください。
KubernetesクラスタでのOCIネイティブ・イングレス・コントローラの設定
オートスケーリングしない
基本クラスタはアドオンが使えないため、Kubernetes Cluster Autoscalerアドオンが使えません。そのため、クラスタの自動スケーリングができません。ワークロードが安定しており、手動でのスケーリングで十分な場合は基本クラスタで対応可能です。
Kubernetes Cluster Autoscalerについての詳細は、以下の公式ドキュメントをご覧ください。
アクセス制御を厳格にしない
基本クラスタではWorkload Identityが使えないため、ポッドからOCIサービスへのアクセス制御が制限されます。厳格なアクセス制御が不要な環境や、インスタンスプリンシパルで十分な場合は基本クラスタでも対応可能です。
ノード数が多くない(1桁レベル)
基本クラスタではサイクルノードが使えません。ノード数が少なく、手動でのノード管理で十分な場合は基本クラスタで問題ありません。
ノード数が多いと、Kubernetesのアップデート時などに、ノードの更新が大変になります。が、それもスクリプトを作成すれば可能だとは思います。
財務的なSLAが不要
基本クラスタには、サービス・レベル目標(SLO)が付属していますが、財務的に支援されるサービス・レベル合意(SLA)は付属していません。
拡張クラスタには、財務的に支えられたサービス・レベル合意(SLA)が付属しています。
拡張クラスタと基本クラスタの比較には、上記があります。つまり、財務的なSLAが不要なら、基本クラスタで問題ありません。
おわりに
基本クラスタは機能が限定的ですが、シンプルな構成なら基本クラスタで十分です。
OCIは無料枠が豊富で、ノードの料金もインスタンスの無料枠として計算されるため、基本クラスタなら無料枠だけでKubernetesを運用することも十分にできます。