このドキュメントで説明されているソフトウェアは、サポートされなくなったか、拡張サポートされています。
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
-
Operator Lifecycle Manager
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
-
Grafana
-
Prometheus
Istioモジュールのデプロイ時に、Prometheusの埋込みインスタンスもデプロイされます。 Prometheusは、Kubernetesクラスタのモニタリングとメトリック収集に使用されます。 もう1つの埋込みコンポーネントは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によって使用されます。
このリリースでは、Helmモジュールは、IstioモジュールまたはOperator Lifecycle Managerモジュール・デプロイメント(あるいはその両方)のコンテキストでのみ使用する必要があります。
4.2.4 Prometheusモジュール
Prometheusは、各種のソースからメトリックなどの時系列データを収集して格納し、簡単に取得できる方法で提供するシステム・モニタリングおよびアラートのツールキットです。
Oracle Cloud Native EnvironmentのPrometheusモジュールは、Kubernetesクラスタ内の重要なシステムの豊富なモニタリングによって事前構成されています。
Prometheusモジュールは、HelmモジュールによってKubernetesクラスタ内にデプロイされます。 PrometheusモジュールはIstioモジュールに必要であり、Istioが使用するPrometheusの埋込みインスタンスを作成するために使用されます。
このリリースでは、PrometheusモジュールはIstioモジュール・デプロイメントのコンテキストでのみ使用されます。
4.2.5 Operator Lifecycle Managerモジュール
Operator Lifecycle Managerモジュールは、Kubernetesクラスタ内のKubernetesオペレータのインストールおよびライフサイクル管理を管理します。
Kubernetesオペレータは、タスクを自動化してKubernetesを拡張するコードを記述できる設計パターンです。 これは、Kubernetesのサービスの定義に使用できる概念のセットで、Kubernetesの管理サービスの自動化に役立ちます。
Operator Lifecycle Managerモジュールは、HelmモジュールによってKubernetesクラスタにデプロイされます。