3.2. Knative の設定


Knative を設定するには、必要な OpenShift Operator をインストールし、Knative チャネルを作成します。

3.2.1. OpenShift クラスターの準備

Kamelets および OpenShift Serverless を使用するには、以下の Operator、コンポーネント、および CLI ツールをインストールします。

  • Red Hat Integration - Camel K Operator および CLI ツール: Operator は Camel K (OpenShift のクラウドでネイティブに実行される軽量なインテグレーションフレームワーク) をインストールし、管理します。kamel CLI ツールを使用すると、すべての Camel K 機能にアクセスできます。

    Camel K のインストール のインストール手順を参照してください。

  • OpenShift Serverless Operator: サーバーレスを実行するためのコンテナー、マイクロサービス、および機能を有効にする API のコレクションです。Serverless アプリケーションはオンデマンドでスケールアップおよびスケールダウン (ゼロまで) でき、数多くのイベントソースによりトリガーされます。OpenShift Serverless Operator のインストール時に、これは knative-serving namespace (Knative Serving コンポーネントのインストール用) および knative-eventing namespace (Knative Eventing コンポーネントのインストールに必要) を自動的に作成します。
  • Knative Eventing コンポーネント
  • Knative Serving コンポーネント
  • Knative CLI ツール (kn): コマンドラインまたは Shell スクリプトから Knative リソースを作成できます。

3.2.1.1. OpenShift Serverless のインストール

OperatorHub から OpenShift クラスターに OpenShift Serverless Operator をインストールできます。OperatorHub は OpenShift Container Platform Web コンソールから使用でき、クラスター管理者が Operator を検出およびインストールするためのインターフェイスを提供します。

OpenShift Serverless Operator は、Knative Serving および Knative Eventing 機能の両方をサポートします。詳細は、installing OpenShift Serverless Operator を参照してください。

前提条件

  • Camel K Operator がインストールされている OpenShift プロジェクトにクラスター管理者としてアクセスできる。
  • コマンドラインで OpenShift クラスターと対話できるように OpenShift CLI ツール (oc) をインストールしていること。OpenShift CLI のインストール方法の詳細は、Installing the OpenShift CLI を参照してください。

手順

  1. OpenShift Container Platform Web コンソールで、クラスター管理者権限を持つアカウントを使用してログインします。
  2. 左側のナビゲーションメニューで、Operators > OperatorHub とクリックします。
  3. Filter by keyword テキストボックスで Serverless を入力し、OpenShift Serverless Operator を見つけます。
  4. Operator に関する情報を読み、Install をクリックして Operator サブスクリプションページを表示します。
  5. デフォルトのサブスクリプション設定を選択します。

    • Update Channel > OpenShift バージョンと一致するチャンネルを選択 (4.10 など)
    • Installation Mode > All namespaces on the cluster
    • Approval Strategy > Automatic

      注記

      ご使用の環境で必要な場合は Approval Strategy > Manual 設定も使用できます。

  6. Install をクリックし、Operator が使用できるようになるまでしばらく待ちます。
  7. OpenShift ドキュメントの手順に従って、必要な Knative コンポーネントをインストールします。

  8. (任意) OpenShift Serverless CLI ツールをダウンロードし、インストールします。

    1. OpenShift Web コンソールの上部にある Help メニュー (?) から、Command line tools を選択します。
    2. kn - OpenShift Serverless - Command Line Interface セクションまでスクロールダウンします。
    3. ローカルのオペレーティングシステム (Linux、Mac、Windows) のバイナリーをダウンロードするためのリンクをクリックします。
    4. CLI をデプロイメントしてシステムパスにインストールします。
    5. kn CLI にアクセスできることを確認するには、コマンドウィンドウを開き、以下のコマンドを入力します。

      kn --help

      このコマンドは、OpenShift Serverless CLI コマンドに関する情報を表示します。

      詳細は、OpenShift Serverless CLI documentation を参照してください。

関連情報

3.2.2. Knative チャネルの作成

Knative チャネルは、イベントを転送するカスタムリソースです。イベントがイベントソースまたは生成側からチャネルに送信された後に、これらのイベントはサブスクリプションを使用して複数の Knative サービスまたは他のシンクに送信できます。

この例では、開発の目的で OpenShift Serverless で使用する InMemoryChannel チャネルを使用します。InMemoryChannel タイプのチャネルには、以下の制限事項があることに注意してください。

  • イベントの永続性は利用できません。Pod がダウンすると、その Pod のイベントが失われます。
  • InMemoryChannel チャネルはイベントの順序を実装しないため、チャネルで同時に受信される 2 つのイベントはいずれの順序でもサブスクライバーに配信できます。
  • サブスクライバーがイベントを拒否する場合、再配信はデフォルトで試行されません。Subscription オブジェクトの delivery 仕様を変更することで、再配信の試行を設定できます。

前提条件

  • OpenShift Serverless Operator、Knative Eventing、および Knative Serving コンポーネントが OpenShift Container Platform クラスターにインストールされている。
  • *OpenShift Serverless CLI (kn) がインストールされている。
  • OpenShift Container Platform でアプリケーションおよび他のワークロードを作成するために、プロジェクトを作成しているか、適切なロールおよびパーミッションを持つプロジェクトにアクセスできる。

手順

  1. OpenShift クラスターにログインします。
  2. インテグレーションアプリケーションを作成するプロジェクトを開きます。以下に例を示します。

    oc project camel-k-knative

  3. Knative (kn) CLI コマンドを使用してチャネルを作成します。

    kn channel create <channel_name> --type <channel_type>

    たとえば、mychannel という名前のチャネルを作成するには、以下を実行します。

    kn channel create mychannel --type messaging.knative.dev:v1:InMemoryChannel

  4. チャネルが存在することを確認するには、以下のコマンドを入力してすべての既存チャネルをリスト表示します。

    kn channel list

    チャネルがリストに表示されます。

3.2.3. Knative ブローカーの作成

Knative ブローカーは、CloudEvents のプールを収集するためのイベントメッシュを定義するカスタムリソースです。OpenShift Serverless は、kn CLI を使用して作成できるデフォルト Knative ブローカーを提供します。

たとえば、アプリケーションが複数のイベントタイプを処理し、各イベントタイプのチャネルを作成したくない場合は、Kamelet Binding のブローカーを使用できます。

前提条件

  • OpenShift Serverless Operator、Knative Eventing、および Knative Serving コンポーネントが OpenShift Container Platform クラスターにインストールされている。
  • *OpenShift Serverless CLI (kn) がインストールされている。
  • OpenShift Container Platform でアプリケーションおよび他のワークロードを作成するために、プロジェクトを作成しているか、適切なロールおよびパーミッションを持つプロジェクトにアクセスできる。

手順

  1. OpenShift クラスターにログインします。
  2. インテグレーションアプリケーションを作成するプロジェクトを開きます。以下に例を示します。

    oc project camel-k-knative

  3. この Knative (kn) CLI コマンドを使用してブローカーを作成します。

    kn broker create default

  4. ブローカーが存在することを確認するには、以下のコマンドを入力してすべての既存ブローカーをリスト表示します。

    kn ブローカーリスト

デフォルトブローカーがリストに表示されるはずです。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.