このドキュメントで説明されているソフトウェアは、サポートされなくなったか、拡張サポートされています。
Oracleでは、現在サポートされているリリースにアップグレードすることをお勧めします。
第4章 環境およびモジュール
この章では、Oracle Cloud Native Environmentの環境およびモジュールの概念について説明します。
4.1 環境
「環境」は、Oracle Cloud Native Environmentによってインストールおよび管理されるソフトウェアをカプセル化するネームスペースです。 それぞれの環境には、Kubernetesモジュールが必ず含まれています。
Platform CLIを使用することで、複数のデプロイメントの作成と管理が可能になります。 それぞれのデプロイメントに1つの環境が含まれていて、それぞれの環境には潜在的に複数のモジュールが含まれています。 これにより、同じOracle Cloud Native Environmentインストールを使用して複数のKubernetesクラスタを作成できます。 各Kubernetesクラスタに専用ノードが必要となるため、1つのサーバーを2つのクラスタまたは環境で使用することはできません。
4.2 モジュール
「モジュール」は、Oracle Cloud Native Environmentによってインストールおよび管理できるソフトウェアのキュレーション・ユニットです。 1つのモジュールは、あるデプロイメント内で少なくとも1つの特定の役割を果たします。 同じ役割を果たすモジュールは、管理された方法でスワップ・アウトすることもできます。 モジュールは、別のモジュールをカプセル化できます。
使用可能なモジュールは次のとおりです。
-
Kubernetesモジュール
-
Istioモジュール
-
Helmモジュール
-
Prometheusモジュール
-
Grafanaモジュール
-
Operator Lifecycle Managerモジュール
-
Oracle Cloud Infrastructure Container Storage Interfaceモジュール
-
Glusterコンテナ・ストレージ・インタフェース・モジュール
4.2.1 Kubernetesモジュール
Oracle Cloud Native Environmentのコア・モジュールはKubernetesモジュールです。 Kubernetesモジュールは、Kubernetesクラスタを環境にデプロイするために使用されます。
Kubernetesモジュールは、Kubernetesをノードにインストールして構成し、クラスタを設定します。
Kubernetesモジュールには、次のようなサブコンポーネントが含まれています。
-
Flannel: Kubernetesクラスタのデフォルト・オーバーレイ・ネットワーク。
-
CoreDNS: KubernetesクラスタのDNSサーバー。
-
CRI-O: Kubernetesクラスタのコンテナ・ランタイムを管理します。
-
runC: Kubernetesクラスタのデフォルト軽量で移植可能なコンテナ・ランタイム。
-
Kata Containers: Kubernetesクラスタのオプションの軽量仮想マシン・ランタイム。
Kubernetesモジュールのインストールと使用の詳細は、コンテナ・オーケストレーションを参照してください。
4.2.2 Istioモジュール
Istioは、Kubernetesクラスタ内のマイクロサービスに対応するすべての機能を備えたサービス・メッシュです。 Istioは、マイクロサービス管理のほとんどの側面(ID、認証、トランスポート・セキュリティ、メトリック・スクレイピングなど)を処理できます。
Oracle Cloud Native EnvironmentのIstioモジュールは、IstioをKubernetesモジュール(クラスタ)にインストールし、Helmモジュールを使用してデプロイメントを実行します。
Istioモジュールは、Istioによってのみ使用される多数のコンポーネントをインストールします。
-
エグレス・ゲートウェイ
-
イングレス・ゲートウェイ
-
Istiod
-
Prometheus (Prometheusモジュールによってインストール)
-
Grafana (Grafanaモジュールによってインストール)
Istioモジュールをデプロイすると、Prometheusもサポート・モジュールとしてデプロイされます。 Prometheusは、Kubernetesクラスタのモニタリングとメトリック収集に使用されます。 Istioとともにデプロイされた別のサポート・モジュールは、Grafanaです。 Grafanaは、データベースに格納されている時系列データのモニタリングおよび視覚化ツールです。この場合、Prometheusです。 Grafanaを使用すると、Kubernetesクラスタのネットワーク・トラフィックとサービスを視覚的に問い合せてモニターできます。 Grafanaには、Prometheusに収集されたメトリックを視覚化するためのブラウザ・ベースのダッシュボードが含まれています。
Istioモジュールのインストールおよび使用の詳細は、サービス・メッシュを参照してください。
4.2.3 Helmモジュール
Helmは、Kubernetesのパッケージ・マネージャです。 Helmにより、Kubernetesクラスタ内でのソフトウェアのデプロイおよび管理のタスクが簡単になります。 Helmでは、チャートを使用してデプロイ可能なパッケージを管理します。 チャートは、関連する一連のKubernetesリソースを説明するファイルの集合です。
Oracle Cloud Native EnvironmentのHelmモジュールは、HelmをKubernetesモジュール(クラスタ)にインストールします。 Helmモジュールは、Istioモジュールなどの追加モジュールをインストールするためにPlatform API Serverによって使用されます。
4.2.4 Prometheusモジュール
Prometheusは、各種のソースからメトリックなどの時系列データを収集して格納し、簡単に取得できる方法で提供するシステム・モニタリングおよびアラートのツールキットです。
Oracle Cloud Native EnvironmentのPrometheusモジュールは、Kubernetesクラスタ内の重要なシステムの豊富なモニタリングによって事前構成されています。
Prometheusモジュールは、HelmモジュールによってKubernetesクラスタ内にデプロイされます。 PrometheusモジュールはIstioモジュールに必要であり、Istioが使用するPrometheusの埋込みインスタンスを作成するために使用されます。
このリリースでは、PrometheusモジュールはIstioモジュール・デプロイメントのコンテキストでのみ使用されます。
4.2.5 Grafanaモジュール
Grafanaは、Prometheusの時系列データを問い合せて、そのデータをビジュアル化するためのダッシュボードを作成できるモニタリングおよびビジュアル化ツールです。 Kubernetesクラスタ、実行中のサービスおよびネットワーク・トラフィックを視覚的に監視できます。
Oracle Cloud Native EnvironmentのGrafanaモジュールは、Prometheusに接続してデータを読み取るように事前構成されています。
Grafanaモジュールは、HelmモジュールによってKubernetesクラスタにデプロイされます。 IstioモジュールではGrafanaモジュールが必要であり、Istioで使用するGrafanaのインスタンスを作成するために使用されます。
このリリースでは、GrafanaモジュールはIstioモジュール・デプロイメントのコンテキストでのみ使用する必要があります。
4.2.6 Operator Lifecycle Managerモジュール
Operator Lifecycle Managerモジュールは、Kubernetesクラスタ内のKubernetesオペレータのインストールおよびライフサイクル管理を管理します。
Kubernetesオペレータは、タスクを自動化してKubernetesを拡張するコードを記述できる設計パターンです。 これは、Kubernetesのサービスの定義に使用できる概念のセットで、Kubernetesの管理サービスの自動化に役立ちます。
Operator Lifecycle Managerモジュールは、HelmモジュールによってKubernetesクラスタにデプロイされます。
4.2.7 Oracle Cloud Infrastructure Container Storage Interfaceモジュール
Oracle Cloud Infrastructure Container Storage Interfaceモジュールは、Oracle Cloud Infrastructureを使用して動的にプロビジョニングされる永続ストレージを設定するために使用します。 Oracle Cloud Infrastructureブロック・ボリュームは、様々なOracle Cloud Infrastructure仮想マシンおよびベア・メタル・インスタンスを操作するように設計された、信頼性の高い高パフォーマンスのブロック・ストレージを提供します。 組込みの冗長性によって、ブロック・ボリュームは仮想マシンの存続期間を超えて永続的で耐久性が高く、コンピュート・インスタンス当たり1 PBまでスケーリングできます。 Oracle Cloud Infrastructure Container Storage Interfaceモジュールは、Oracle Cloud InfrastructureストレージにアクセスするためのKubernetes StorageClassプロビジョナを作成します。
Oracle Cloud Infrastructure Container Storage Interfaceモジュールは、HelmモジュールによってKubernetesクラスタにデプロイされます。
4.2.8 Glusterコンテナ・ストレージ・インタフェース・モジュール
Gluster Container Storage Interfaceモジュールは、Gluster Storage for Oracle Linuxを使用して動的にプロビジョニングされた永続ストレージを設定するために使用します。 Glusterは、複数のサーバーのディスク・ストレージ・リソースを単一のグローバル・ネームスペースに集約する、スケーラブルな分散ファイル・システムです。 Gluster Container Storage Interfaceモジュールは、GlusterストレージにアクセスするためのKubernetes StorageClassプロビジョナを作成します。
Gluster Container Storage Interfaceモジュールは、HelmモジュールによってKubernetesクラスタにデプロイされます。