サービス・メッシュの管理にOCI APIを使用する場合とkubectlを使用する場合の比較

サービス・メッシュ・サービスでは現在、OCI API (OCIコンソール、CLI、SDK、Terraform Provider)またはKubernetes CLI (kubectl)を使用して、メッシュ・リソース(イングレス・ゲートウェイ、仮想サービス、仮想デプロイメントなど)を管理できます。

ノート

OCI APIまたはkubectlを使用したサービス・メッシュの管理の詳細は、次を参照してください:

メッシュ・リソースは、2つの方法のいずれかを使用して管理されます。ただし、Kubernetes CLIを使用してリソースを管理することを選択した場合、OCI APIを使用してリソースを変更することはできません。Kubernetesを使用してリソースを作成すると、Kubernetes Operatorはそのリソースの構成の正しい情報源になります。リソースに対する変更は、Kubernetes CLIでのみ行う必要があります。

OCI APIで作成されたリソースは、サービス・メッシュ・コントロール・プレーンにのみ存在します。リソースにはKubernetesに対応するカスタム・リソースがないため、Kubernetesオペレータはリソースを管理しません。

更新/同期の動作

Kubernetes CLI (kubectl)管理対象リソースを変更する唯一の方法は、kubectlコマンドを実行することです。OCI API (OCIコンソール、CLI、SDK、Terraform Provider)を使用して行われた変更は、Kubernetesオペレータに同期できず、自動的に元に戻されます。Kubernetes Operatorは、1時間ごとに調整ループを実行します。OCI APIを使用して変更されたリソースは、OCI Service Operator for Kubernetesによって管理されるカスタム・リソースに格納されている構成と一致するように戻されます。

シナリオ

次のシナリオでは、サービス メッシュでの更新/同期動作について説明します。これらのシナリオはすべて、メッシュ リソースが存在することを前提としています。

  • コンソールまたはCLIから作成されたkubectlイングレス・ゲートウェイの構成が変更されます。
    • オペレータの調整プロセスが実行されると、変更は自動的に初期状態に戻ります。
  • 仮想デプロイメントの変更は、kubectlを使用して行われます。
    • kubectlによって行われた変更は、演算子を更新し、すぐにOCI APIに反映されます。