アーキテクチャ図は、Kubernetesワーカー・ノードを含むOCIサービスのデプロイメントと、このプレイブックを実装するための関連データ・フローを示しています。OCIリージョンおよび外部インターネット・ユーザーが含まれます。
OCIリージョンは、3つのフォルト・ドメインと次のOCIネットワーク・サービスにまたがる仮想クラウド・ネットワーク(VCN)で構成されています。
また、OKE、OCIファンクションおよびOCIキューのAPIゲートウェイおよびインスタンスも含まれます。VCNへのアクセスは、インターネット・ゲートウェイおよびサービス・ゲートウェイによって制御されます。
リージョン内のVCNには、それ自体にOKEクラスタを含むプライベート・サブネットが含まれます。このサブネットも3つのフォルト・ドメインにまたがっています。サブネット内のOKEクラスタもフォルト・ドメインにまたがり、前述のOKEインスタンスを含むようにサブネットを超えて拡張されます。OKE内では、2つのフォルト・ドメインにワーカー・ノードが含まれています。
リージョン外では、インターネット・コンポーネントにメッセージ・リスナーとインターネット・ユーザー・グループが含まれています。
この図のデータ・フローは、前の図の数字で表され、次のイベント順序を表しています。
- ローカルでホストされるプロデューサは、メッセージをOCIキューに入れます。
- OCIコンシューマ・インスタンスは、キューからメッセージを取得します。コード内で、消費レートは遅延を使用して制約されます。これにより、プロバイダは、1つのコンシューマがキューから削除できる数を超えるメッセージを生成できます。その結果、スケーリング・メカニズムが機能します。
- Kubernetesスケジュール済ジョブは定期的にKEDAをサポートして、公開済APIを呼び出してキュー上のメッセージ数を取得します。
- APIゲートウェイは、リクエストをOCIファンクションのインスタンスに送信します。
- OCIファンクションはOCIキューを問い合せます。
- レスポンスが返されるため、KEDAはマイクロサービスのインスタンスの増減をトリガーします。
さらに、この実装では、ユーザーはいつでも、キューの深さの状態を
aというラベルで問い合わせることができます。