設定


Red Hat OpenShift Lightspeed 1.0

OpenShift Lightspeed の設定

Red Hat OpenShift Documentation Team

概要

このドキュメントでは、OpenShift Lightspeed の設定に関する情報を提供します。

第1章 OpenShift Lightspeed の設定およびデプロイ

OpenShift Lightspeed Operator をインストールした後、OpenShift Lightspeed を設定およびデプロイするには、3 つのタスクがあります。

注記

この手順では、kubeadmin ユーザーアカウントを使用して OpenShift Lightspeed をインストールすることを前提としています。cluster-admin 権限を持つ通常のユーザーアカウントを使用している場合は、RBAC を説明しているドキュメントのセクションをお読みください。

まず、大規模言語モデル (LLM) プロバイダーの認証情報を使用して認証情報シークレットを作成します。次に、Operator がサービスをデプロイするために使用する OLSConfig カスタムリソース (CR) を作成します。最後に、OpenShift Lightspeed サービスが動作していることを確認します。

重要

OpenShift Container Platform 4.19 以降、Web コンソールのパースペクティブが統合されました。Developer パースペクティブは、デフォルトでは有効になっていません。

すべてのユーザーは、OpenShift Container Platform Web コンソールのすべての機能を操作できます。ただし、クラスター所有者でない場合は、特定の機能に対する権限をクラスター所有者に要求する必要がある場合があります。

引き続き Developer パースペクティブを有効にできます。Web コンソールの Getting Started ペインでは、コンソールツアーの実行、クラスター設定に関する情報の検索、Developer パースペクティブを有効にするためのクイックスタートの表示、リンク先を表示して新機能の確認などを行えます。

1.1. Web コンソールを使用した認証情報シークレットの作成

大規模言語モデル (LLM) プロバイダーの API にアクセスするために使用される API トークンに関連付けられたファイルを作成します。通常、LLM プロバイダーを認証するには API トークンを使用します。または、Microsoft Azure は Microsoft Entra ID を使用した認証もサポートしています。

前提条件

  • cluster-admin ロールを持つユーザーとして OpenShift Container Platform Web コンソールにログインしている。または、プロバイダートークンを保存するシークレットを作成する権限があるユーザーアカウントにログインしている。
  • OpenShift Lightspeed Operator がインストールされている。

手順

  1. OpenShift Web コンソールの右上隅にある Quick create ( fa plus circle ) メニューをクリックし、Import YAML を選択します。
  2. 使用している LLM プロバイダーの YAML コンテンツを Web コンソールのテキスト領域に貼り付けます。

    注記

    YAML パラメーターは、LLM プロバイダーがアクセス詳細を何と呼ぶかに関係なく、常に apitoken になります。

    LLM プロバイダーの認証情報シークレット

    apiVersion: v1
    kind: Secret
    metadata:
      name: credentials
      namespace: openshift-lightspeed
    type: Opaque
    stringData:
      apitoken: <api_token> 
    1
    Copy to Clipboard Toggle word wrap

    1
    api_tokenbase64 でエンコードされていません。

    Red Hat Enterprise Linux AI の認証情報シークレット

    apiVersion: v1
    data:
      apitoken: <api_token> 
    1
    
    kind: Secret
    metadata:
      name: rhelai-api-keys
      namespace: openshift-lightspeed
    type: Opaque
    Copy to Clipboard Toggle word wrap

    1
    api_token は、シークレットに保存されるときに base64 でエンコードされる必要があります。

    Red Hat OpenShift AI の認証情報シークレット

    apiVersion: v1
    data:
      apitoken: <api_token> 
    1
    
    kind: Secret
    metadata:
      name: rhoai-api-keys
      namespace: openshift-lightspeed
    type: Opaque
    Copy to Clipboard Toggle word wrap

    1
    api_token は、シークレットに保存されるときに base64 でエンコードされる必要があります。

    IBM watsonx の認証情報シークレット

    apiVersion: v1
    data:
      apitoken: <api_token> 
    1
    
    kind: Secret
    metadata:
      name: watsonx-api-keys
      namespace: openshift-lightspeed
    type: Opaque
    Copy to Clipboard Toggle word wrap

    1
    api_token は、シークレットに保存されるときに base64 でエンコードされる必要があります。

    Microsoft Azure OpenAI の認証情報シークレット

    apiVersion: v1
    data:
      apitoken: <api_token> 
    1
    
    kind: Secret
    metadata:
      name: azure-api-keys
      namespace: openshift-lightspeed
    type: Opaque
    Copy to Clipboard Toggle word wrap

    1
    api_token は、シークレットに保存されるときに base64 でエンコードされる必要があります。

    または、Microsoft Azure OpenAI の場合は、Microsoft Entra ID を使用して LLM プロバイダーを認証できます。Microsoft Entra ID ユーザーは、Microsoft Azure OpenAI リソースに必要なロールを設定する必要があります。詳細は、Microsoft 公式の Cognitive Services OpenAI Contributor (Microsoft Azure OpenAI Service ドキュメント) を参照してください。

    Microsoft Entra ID の認証情報シークレット

    apiVersion: v1
    data:
      client_id: <base64_encoded_client_id>
      client_secret: <base64_encoded_client_secret>
      tenant_id: <base64_encoded_tenant_id>
    kind: Secret
    metadata:
      name: azure-api-keys
      namespace: openshift-lightspeed
    type: Opaque
    Copy to Clipboard Toggle word wrap

  3. Create をクリックします。

1.2. Web コンソールを使用して Lightspeed カスタムリソースファイルの作成

カスタムリソース (CR) ファイルには、Operator が OpenShift Lightspeed をデプロイするために使用する情報が含まれています。CR ファイルの具体的な内容は、大規模言語モデル (LLM) プロバイダーごとに異なります。CR ファイルを作成するには、使用している LLM プロバイダーの設定ファイルを選択します。

前提条件

  • cluster-admin ロールを持つユーザーとして OpenShift Container Platform Web コンソールにログインしている。または、クラスタースコープの CR ファイルを作成する権限を持つユーザーアカウントにログインしています。
  • OpenShift Lightspeed Service で使用できる LLM プロバイダーがある。
  • OpenShift Lightspeed Operator がインストールされている。

手順

  1. OpenShift Web コンソールの右上隅にある Quick create ( fa plus circle ) メニューをクリックし、Import YAML を選択します。
  2. 使用する LLM プロバイダーの YAML コンテンツを Web コンソールのテキスト領域に貼り付けます。

    OpenAI CR ファイル

    apiVersion: ols.openshift.io/v1alpha1
    kind: OLSConfig
    metadata:
      name: cluster
    spec:
      llm:
        providers:
          - name: myOpenai
            type: openai
            credentialsSecretRef:
              name: credentials
            url: https://api.openai.com/v1
            models:
              - name: <model_name>
      ols:
        hideIcon: true 
    1
    
        defaultModel: <model_name>
        defaultProvider: myOpenai
    Copy to Clipboard Toggle word wrap

    1
    OpenShift Container Platform Web コンソールで OpenShift Lightspeed アイコンを非表示にするかどうかを指定します。デフォルト設定は false であり、アイコンは非表示になりません。hideIcon フィールドを true に設定すると、アイコンが非表示になります。たとえば、OpenShift Lightspeed API へのアクセス権を持たないクラスターユーザーに対してアイコンを非表示にすることができます。

    Red Hat Enterprise Linux AI CR ファイル

    apiVersion: ols.openshift.io/v1alpha1
    kind: OLSConfig
    metadata:
      name: cluster
    spec:
      llm:
        providers:
        - credentialsSecretRef:
            name: <rhelai_api_keys> 
    1
    
          models:
          - name: models/<model_name>
          name: rhelai
          type: rhelai_vllm
          url: <url> 
    2
    
      ols:
        hideIcon: true 
    3
    
        defaultProvider: rhelai
        defaultModel: models/<model_name>
    Copy to Clipboard Toggle word wrap

    1
    デフォルトでは、Red Hat Enterprise Linux AI API キーにはリクエストの一部としてトークンが必要です。Red Hat Enterprise Linux AI 設定でトークンが不要な場合は、要求を認証するためにトークン値を任意の有効な文字列に設定する必要があります。
    2
    URL エンドポイントが有効であるためには、v1 で終わる必要があります。たとえば、https://http://3.23.103.8:8000/v1 などです。
    3
    OpenShift Container Platform Web コンソールで OpenShift Lightspeed アイコンを非表示にするかどうかを指定します。デフォルト設定は false であり、アイコンは非表示になりません。hideIcon フィールドを true に設定すると、アイコンが非表示になります。たとえば、OpenShift Lightspeed API へのアクセス権を持たないクラスターユーザーに対してアイコンを非表示にすることができます。

    Red Hat OpenShift AI CR ファイル

    apiVersion: ols.openshift.io/v1alpha1
    kind: OLSConfig
    metadata:
      name: cluster
    spec:
      llm:
        providers:
        - credentialsSecretRef:
            name: <rhoai_api_keys> 
    1
    
          models:
          - name: <model_name>
          name: red_hat_openshift_ai
          type: rhoai_vllm
          url: <url> 
    2
    
      ols:
        hideIcon: true 
    3
    
        defaultProvider: red_hat_openshift_ai
        defaultModel: <model_name>
    Copy to Clipboard Toggle word wrap

    1
    デフォルトでは、Red Hat OpenShift AI API キーにはリクエストの一部としてトークンが必要です。Red Hat OpenShift AI 設定でトークンが不要な場合は、リクエストを認証するためにトークン値を有効な文字列に設定する必要があります。
    2
    URL エンドポイントが有効であるためには、v1 で終わる必要があります。たとえば、https://<model_name>.<domain_name>.com:443/v1 です。
    3
    OpenShift Container Platform Web コンソールで OpenShift Lightspeed アイコンを非表示にするかどうかを指定します。デフォルト設定は false であり、アイコンは非表示になりません。hideIcon フィールドを true に設定すると、アイコンが非表示になります。たとえば、OpenShift Lightspeed API へのアクセス権を持たないクラスターユーザーに対してアイコンを非表示にすることができます。

    Microsoft Azure OpenAI CR ファイル

    apiVersion: ols.openshift.io/v1alpha1
    kind: OLSConfig
    metadata:
      name: cluster
    spec:
      llm:
        providers:
          - credentialsSecretRef:
              name: credentials
            apiVersion: <api_version_for_azure_model>
            deploymentName: <azure_ai_deployment_name>
            models:
              - name: <model_name>
            name: myAzure
            type: azure_openai
            url: <azure_ai_deployment_url>
      ols:
        hideIcon: true 
    1
    
        defaultModel: <model_name>
        defaultProvider: myAzure
    Copy to Clipboard Toggle word wrap

    1
    OpenShift Container Platform Web コンソールで OpenShift Lightspeed アイコンを非表示にするかどうかを指定します。デフォルト設定は false であり、アイコンは非表示になりません。hideIcon フィールドを true に設定すると、アイコンが非表示になります。たとえば、OpenShift Lightspeed API へのアクセス権を持たないクラスターユーザーに対してアイコンを非表示にすることができます。

    IBM watsonx CR ファイル

    apiVersion: ols.openshift.io/v1alpha1
    kind: OLSConfig
    metadata:
      name: cluster
    spec:
      llm:
        providers:
          - name: myWatsonx
            type: watsonx
            credentialsSecretRef:
              name: credentials
            url: <ibm_watsonx_deployment_name>
            projectID: <ibm_watsonx_project_id>
            models:
              - name: ibm/<model_name>
      ols:
        hideIcon: true 
    1
    
        defaultModel: ibm/<model_name>
        defaultProvider: myWatsonx
    Copy to Clipboard Toggle word wrap

    1
    OpenShift Container Platform Web コンソールで OpenShift Lightspeed アイコンを非表示にするかどうかを指定します。デフォルト設定は false であり、アイコンは非表示になりません。hideIcon フィールドを true に設定すると、アイコンが非表示になります。たとえば、OpenShift Lightspeed API へのアクセス権を持たないクラスターユーザーに対してアイコンを非表示にすることができます。
  3. Create をクリックします。

1.2.1. カスタム TLS 証明書の設定

安全な OpenShift Lightspeed サービス通信のためにカスタム TLS 証明書を設定します。

前提条件

  • cluster-admin ロールを持つユーザーとして OpenShift Container Platform Web コンソールにログインしている。または、OLSConfig カスタムリソース (CR) を作成または編集する権限を持つユーザーアカウントにログインしている。
  • 大規模言語モデル (LLM) プロバイダーがある。
  • OpenShift Lightspeed Operator がインストールされている。
  • 認証情報シークレットと OLSconfig CR を作成した。

手順

  1. OpenShift Container Platform Web コンソールで、OperatorsInstalled Operators をクリックします。
  2. 画面上部の Project ドロップダウンメニューで All Projects を選択します。
  3. OpenShift Lightspeed Operator をクリックします。
  4. OLSConfig をクリックし、一覧にある cluster 設定インスタンスをクリックします。
  5. YAML タブをクリックします。
  6. OLSconfig CR を変更して、TLS シークレットが含まれるファイルを追加します。

    認証情報シークレットおよび OLSconfig CR ファイルの例

    apiVersion: ols.openshift.io/v1alpha1
    kind: OLSConfig
    metadata:
      name: cluster
    spec:
      ols:
        tlsConfig:
          keyCertSecretRef:
            name: <lightspeed_tls> 
    1
    
    ---
    apiVersion: v1
    data:
      tls.crt: LS0tLS1CRUd... 
    2
    
      tls.key: LS0tLS1CRUd...
    kind: Secret
    metadata:
      name: <lightspeed_tls>
      namespace: <openshift_lightspeed>
    Copy to Clipboard Toggle word wrap

    1
    tls.crt および tls.key ファイルが含まれるシークレットを参照します。
    2
    証明書の名前は tls.crt、キーの名前は tls.key に指定する必要があります。
  7. Save をクリックします。

検証

  1. 次のコマンドを実行して、lightspeed-app-server デプロイメントに新しい Pod が作成されたことを確認します。

    $ oc get pod -n openshift-lightspeed
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                                                     READY   STATUS    RESTARTS   AGE
    lightspeed-app-server-5b45d6dd99-5599w                   2/2     Running   2          8h
    lightspeed-console-plugin-88d878686-tjt5p                1/1     Running   1          8d
    lightspeed-operator-controller-manager-7d7cc4588-p7442   1/1     Running   9          8d
    lightspeed-postgres-server-5484fcfdfc-kcpjh              1/1     Running   2          8d
    Copy to Clipboard Toggle word wrap

1.3. CLI を使用して認証情報シークレットを作成する

大規模言語モデル (LLM) プロバイダーの API にアクセスするために使用される API トークンに関連付けられたファイルを作成します。通常、LLM プロバイダーを認証するには API トークンを使用します。または、Microsoft Azure は Microsoft Entra ID を使用した認証もサポートしています。

前提条件

  • cluster-admin ロールを持つユーザーとして OpenShift CLI (oc) にアクセスできる。または、プロバイダートークンを保存するシークレットを作成する権限があるユーザーアカウントにログインしている。
  • OpenShift Lightspeed Operator がインストールされている。

手順

  1. 使用している LLM プロバイダーのコンテンツを含む YAML ファイルを作成します。

    注記

    YAML パラメーターは、LLM プロバイダーがアクセス詳細を何と呼ぶかに関係なく、常に apitoken になります。

    LLM プロバイダーの認証情報シークレット

    apiVersion: v1
    kind: Secret
    metadata:
      name: credentials
      namespace: openshift-lightspeed
    type: Opaque
    stringData:
      apitoken: <api_token> 
    1
    Copy to Clipboard Toggle word wrap

    1
    api_tokenbase64 でエンコードされていません。

    Red Hat Enterprise Linux AI の認証情報シークレット

    apiVersion: v1
    data:
      apitoken: <api_token> 
    1
    
    kind: Secret
    metadata:
      name: rhelai-api-keys
      namespace: openshift-lightspeed
    type: Opaque
    Copy to Clipboard Toggle word wrap

    1
    api_token は、シークレットに保存されるときに base64 でエンコードされる必要があります。

    Red Hat OpenShift AI の認証情報シークレット

    apiVersion: v1
    data:
      apitoken: <api_token> 
    1
    
    kind: Secret
    metadata:
      name: rhoai-api-keys
      namespace: openshift-lightspeed
    type: Opaque
    Copy to Clipboard Toggle word wrap

    1
    api_token は、シークレットに保存されるときに base64 でエンコードされる必要があります。

    IBM watsonx の認証情報シークレット

    apiVersion: v1
    data:
      apitoken: <api_token> 
    1
    
    kind: Secret
    metadata:
      name: watsonx-api-keys
      namespace: openshift-lightspeed
    type: Opaque
    Copy to Clipboard Toggle word wrap

    1
    api_token は、シークレットに保存されるときに base64 でエンコードされる必要があります。

    Microsoft Azure OpenAI の認証情報シークレット

    apiVersion: v1
    data:
      apitoken: <api_token> 
    1
    
    kind: Secret
    metadata:
      name: azure-api-keys
      namespace: openshift-lightspeed
    type: Opaque
    Copy to Clipboard Toggle word wrap

    1
    api_token は、シークレットに保存されるときに base64 でエンコードされる必要があります。

    または、Microsoft Azure OpenAI の場合は、Microsoft Entra ID を使用して LLM プロバイダーを認証できます。Microsoft Entra ID ユーザーは、Microsoft Azure OpenAI リソースに必要なロールを設定する必要があります。詳細は、Microsoft 公式の Cognitive Services OpenAI Contributor (Microsoft Azure OpenAI Service ドキュメント) を参照してください。

    Microsoft Entra ID の認証情報シークレット

    apiVersion: v1
    data:
      client_id: <base64_encoded_client_id>
      client_secret: <base64_encoded_client_secret>
      tenant_id: <base64_encoded_tenant_id>
    kind: Secret
    metadata:
      name: azure-api-keys
      namespace: openshift-lightspeed
    type: Opaque
    Copy to Clipboard Toggle word wrap

  2. 以下のコマンドを実行してシークレットを作成します。

    $ oc create -f /path/to/secret.yaml
    Copy to Clipboard Toggle word wrap

1.4. CLI を使用した Lightspeed カスタムリソースファイルの作成

カスタムリソース (CR) ファイルには、Operator が OpenShift Lightspeed をデプロイするために使用する情報が含まれています。CR ファイルの具体的な内容は、大規模言語モデル (LLM) プロバイダーごとに異なります。CR ファイルを作成するには、使用している LLM プロバイダーの設定ファイルを選択します。

前提条件

  • OpenShift CLI (oc) にアクセスでき、cluster-admin ロールを持つユーザーとしてログインしている。または、クラスタースコープの CR ファイルを作成する権限を持つユーザーアカウントにログインしています。
  • OpenShift Lightspeed Service で使用できる LLM プロバイダーがある。
  • OpenShift Lightspeed Operator がインストールされている。

手順

  1. 使用する LLM プロバイダーの YAML コンテンツを含む OLSConfig ファイルを作成します。

    OpenAI CR ファイル

    apiVersion: ols.openshift.io/v1alpha1
    kind: OLSConfig
    metadata:
      name: cluster
    spec:
      llm:
        providers:
          - name: myOpenai
            type: openai
            credentialsSecretRef:
              name: credentials
            url: https://api.openai.com/v1
            models:
              - name: <model_name>
      ols:
        hideIcon: true 
    1
    
        defaultModel: <model_name>
        defaultProvider: myOpenai
    Copy to Clipboard Toggle word wrap

    1
    OpenShift Container Platform Web コンソールで OpenShift Lightspeed アイコンを非表示にするかどうかを指定します。デフォルト設定は false であり、アイコンは非表示になりません。hideIcon フィールドを true に設定すると、アイコンが非表示になります。たとえば、OpenShift Lightspeed API へのアクセス権を持たないクラスターユーザーに対してアイコンを非表示にすることができます。

    Red Hat Enterprise Linux AI CR ファイル

    apiVersion: ols.openshift.io/v1alpha1
    kind: OLSConfig
    metadata:
      name: cluster
    spec:
      llm:
        providers:
        - credentialsSecretRef:
            name: <rhelai_api_keys> 
    1
    
          models:
          - name: models/<model_name>
          name: rhelai
          type: rhelai_vllm
          url: <url> 
    2
    
      ols:
        hideIcon: true 
    3
    
        defaultProvider: rhelai
        defaultModel: models/<model_name>
        additionalCAConfigMapRef:
          name: openshift-service-ca.crt
    Copy to Clipboard Toggle word wrap

    1
    デフォルトでは、Red Hat Enterprise Linux AI API キーにはリクエストの一部としてトークンが必要です。Red Hat Enterprise Linux AI 設定でトークンが不要な場合は、要求を認証するためにトークン値を任意の有効な文字列に設定する必要があります。
    2
    URL エンドポイントが有効であるためには、v1 で終わる必要があります。たとえば、https://http://3.23.103.8:8000/v1 などです。
    3
    OpenShift Container Platform Web コンソールで OpenShift Lightspeed アイコンを非表示にするかどうかを指定します。デフォルト設定は false であり、アイコンは非表示になりません。hideIcon フィールドを true に設定すると、アイコンが非表示になります。たとえば、OpenShift Lightspeed API へのアクセス権を持たないクラスターユーザーに対してアイコンを非表示にすることができます。

    Red Hat OpenShift AI CR ファイル

    apiVersion: ols.openshift.io/v1alpha1
    kind: OLSConfig
    metadata:
      name: cluster
    spec:
      llm:
        providers:
        - credentialsSecretRef:
            name: <rhoai_api_keys> 
    1
    
          models:
          - name: <model_name>
          name: red_hat_openshift_ai
          type: rhoai_vllm
          url: <url> 
    2
    
      ols:
        hideIcon: true 
    3
    
        defaultProvider: red_hat_openshift_ai
        defaultModel: <model_name>
    Copy to Clipboard Toggle word wrap

    1
    デフォルトでは、Red Hat OpenShift AI API キーにはリクエストの一部としてトークンが必要です。Red Hat OpenShift AI 設定でトークンが不要な場合は、リクエストを認証するためにトークン値を有効な文字列に設定する必要があります。
    2
    URL エンドポイントが有効であるためには、v1 で終わる必要があります。たとえば、https://<model_name>.<domain_name>.com:443/v1 です。
    3
    OpenShift Container Platform Web コンソールで OpenShift Lightspeed アイコンを非表示にするかどうかを指定します。デフォルト設定は false であり、アイコンは非表示になりません。hideIcon フィールドを true に設定すると、アイコンが非表示になります。たとえば、OpenShift Lightspeed API へのアクセス権を持たないクラスターユーザーに対してアイコンを非表示にすることができます。

    Microsoft Azure OpenAI CR ファイル

    apiVersion: ols.openshift.io/v1alpha1
    kind: OLSConfig
    metadata:
      name: cluster
    spec:
      llm:
        providers:
          - credentialsSecretRef:
              name: credentials
            apiVersion: <api_version_for_azure_model>
            deploymentName: <azure_ai_deployment_name>
            models:
              - name: <model_name>
            name: myAzure
            type: azure_openai
            url: <azure_ai_deployment_url>
      ols:
        hideIcon: true 
    1
    
        defaultModel: <model_name>
        defaultProvider: myAzure
    Copy to Clipboard Toggle word wrap

    1
    OpenShift Container Platform Web コンソールで OpenShift Lightspeed アイコンを非表示にするかどうかを指定します。デフォルト設定は false であり、アイコンは非表示になりません。hideIcon フィールドを true に設定すると、アイコンが非表示になります。たとえば、OpenShift Lightspeed API へのアクセス権を持たないクラスターユーザーに対してアイコンを非表示にすることができます。

    IBM watsonx CR ファイル

    apiVersion: ols.openshift.io/v1alpha1
    kind: OLSConfig
    metadata:
      name: cluster
    spec:
      llm:
        providers:
          - name: myWatsonx
            type: watsonx
            credentialsSecretRef:
              name: credentials
            url: <ibm_watsonx_deployment_name>
            projectID: <ibm_watsonx_project_id>
            models:
              - name: ibm/<model_name>
      ols:
        hideIcon: true 
    1
    
        defaultModel: ibm/<model_name>
        defaultProvider: myWatsonx
    Copy to Clipboard Toggle word wrap

    1
    OpenShift Container Platform Web コンソールで OpenShift Lightspeed アイコンを非表示にするかどうかを指定します。デフォルト設定は false であり、アイコンは非表示になりません。hideIcon フィールドを true に設定すると、アイコンが非表示になります。たとえば、OpenShift Lightspeed API へのアクセス権を持たないクラスターユーザーに対してアイコンを非表示にすることができます。
  2. 以下のコマンドを実行します。

    $ oc create -f /path/to/config-cr.yaml
    Copy to Clipboard Toggle word wrap

    Operator は、YAML 設定ファイルの情報を使用して OpenShift Lightspeed をデプロイします。

1.4.1. 信頼できる CA 証明書と LLM プロバイダーのサポート

TLS 証明書を使用して、大規模言語モデル (LLM) および OpenShift Lightspeed サービスとの通信を確立できます。通常、これはカスタムプロキシーを使用して LLM と通信する場合に必要です。

OpenShift Lightspeed サービスは、次の LLM プロバイダー用の信頼できる CA 証明書の追加をサポートしています。

  • Red Hat Enterprise Linux AI vLLM
  • Red Hat OpenShift AI vLLM
  • OpenAI
  • Microsoft Azure OpenAI

信頼できる CA 証明書を追加するには、証明書を含む ConfigMap オブジェクトを作成する必要があります。その後、次の例に示すように、オブジェクトの名前を OLSConfig カスタムリソース (CR) ファイルに追加します。

ols:
  additionalCAConfigMapRef:
    name: <config_map_name>
Copy to Clipboard Toggle word wrap

1.4.2. LLM 用の信頼できる CA 証明書を使用した OpenShift Lightspeed の設定

大規模言語モデル (LLM) プロバイダーに接続するために、信頼できる CA 証明書を使用して OpenShift Lightspeed を設定します。

注記

使用している LLM プロバイダーが OpenShift Lightspeed サービスを認証するために信頼できる CA 証明書を必要とする場合は、この手順を実行する必要があります。LLM プロバイダーがサービスを認証するために信頼できる CA 証明書を必要としない場合は、この手順をスキップする必要があります。

手順

  1. 証明書ファイルの内容をコピーし、caCertFileName というファイルに貼り付けます。
  2. 次のコマンドを実行して、trusted-certs という ConfigMap オブジェクトを作成します。

    $ oc create configmap trusted-certs --from-file=caCertFileName --namespace openshift-lightspeed
    Copy to Clipboard Toggle word wrap

    出力例

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: trusted-certs
      namespace: openshift-lightspeed
    data:
      caCertFileName: | 
    1
    
        -----BEGIN CERTIFICATE-----
        .
        .
        .
        -----END CERTIFICATE-----
    Copy to Clipboard Toggle word wrap

    1
    LLM プロバイダーへの接続に必要な CA 証明書を指定します。1 つ以上の証明書を含めることができます。
  3. OLSConfig カスタムリソースファイルを更新して、作成した ConfigMap オブジェクトの名前を含めます。

    Red Hat Enterprise Linux AI CR ファイルの例

    apiVersion: ols.openshift.io/v1alpha1
    kind: OLSConfig
    metadata:
      name: cluster
    spec:
      ols:
        defaultProvider: rhelai
        defaultModel: models/<model_name>
        additionalCAConfigMapRef:
          name: trusted-certs 
    1
    Copy to Clipboard Toggle word wrap

    1
    ConfigMap オブジェクトの名前を指定します。
  4. カスタム CR を作成します。

    $ oc apply -f <olfconfig_cr_filename>
    Copy to Clipboard Toggle word wrap

1.5. OpenShift Lightspeed デプロイメントの検証

OpenShift Lightspeed サービスがデプロイされたら、それが動作していることを確認します。

重要

OpenShift Container Platform 4.19 以降、Web コンソールのパースペクティブが統合されました。Developer パースペクティブは、デフォルトでは有効になっていません。

すべてのユーザーは、OpenShift Container Platform Web コンソールのすべての機能を操作できます。ただし、クラスター所有者でない場合は、特定の機能に対する権限をクラスター所有者に要求する必要がある場合があります。

引き続き Developer パースペクティブを有効にできます。Web コンソールの Getting Started ペインでは、コンソールツアーの実行、クラスター設定に関する情報の検索、Developer パースペクティブを有効にするためのクイックスタートの表示、リンク先を表示して新機能の確認などを行えます。

前提条件

  • cluster-admin ロールを持つユーザーとして OpenShift Container Platform Web コンソールにログインしている。
  • OpenShift CLI (oc) にアクセスできる。
  • OpenShift Lightspeed Operator がインストールされている。
  • 認証情報シークレットと OLSConfig カスタムリソース設定ファイルが作成されている。

手順

  1. OpenShift Container Platform Web コンソールで、Project ドロップダウンリストをクリックします。

    注記

    OpenShift Container Platform 4.18 以前の場合、ペインの上部にあるドロップダウンリストから Developer パースペクティブを選択して、Project ドロップダウンリストにアクセスします。

  2. 切り替えスイッチを有効にして、デフォルトのプロジェクトを表示します。
  3. リストから openshift-lightspeed を選択します。
  4. 次のコマンドを実行して、OpenShift Lightspeed の準備ができていることを確認します。

    $ oc logs deployment/lightspeed-app-server -c lightspeed-service-api -n openshift-lightspeed | grep Uvicorn
    Copy to Clipboard Toggle word wrap

    出力例

    INFO: 	Uvicorn running on https://0.0.0.0:8443 (Press CTRL+C to quit)
    Copy to Clipboard Toggle word wrap

1.6. Lightspeed とロールベースアクセス制御 (RBAC) について

ロールベースのアクセス制御 (RBAC) は、定義されたロールと権限を持つ承認済みユーザーへのシステムアクセスを制限するシステムセキュリティーアプローチです。

OpenShift Lightspeed RBAC はバイナリーです。デフォルトでは、すべてのクラスターユーザーが OpenShift Lightspeed インターフェイスにアクセスできるわけではありません。アクセス権は、権限を付与できるユーザーによって付与される必要があります。OpenShift Lightspeed がインストールされている OpenShift クラスターのすべてのユーザーに、OpenShift Lightspeed ボタンが表示されますが、OpenShift Lightspeed に質問を送信できるのは権限を持つユーザーだけです。

OpenShift Lightspeed の RBAC 機能を評価する場合、クラスターには kubeadmin アカウント以外のユーザーが必要になります。kubeadmin アカウントは常に OpenShift Lightspeed にアクセスできます。

1.6.1. 個々のユーザーへのアクセスの付与

この手順では、個々のユーザーにアクセス権を付与する方法を説明します。

前提条件

  • cluster-admin ロールを持つユーザーとして OpenShift Container Platform Web コンソールにログインしている。または、パーミッションを付与する権限を持つユーザーとしてログインしている。
  • OpenShift Lightspeed サービスをデプロイしている。
  • OpenShift CLI (oc) にアクセスできる。

手順

  • コマンドラインで次のコマンドを実行します。

    $ oc adm policy add-cluster-role-to-user \
    lightspeed-operator-query-access <user_name>
    Copy to Clipboard Toggle word wrap

    または、次のコマンドを使用して、個々のユーザーにアクセス権を付与するときに YAML ファイルを使用することもできます。

    $ oc adm policy add-cluster-role-to-user lightspeed-operator-query-access <user_name> -o yaml --dry-run
    Copy to Clipboard Toggle word wrap

    ターミナルは次の出力を返します。

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      creationTimestamp: null
      name: lightspeed-operator-query-access
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: lightspeed-operator-query-access
    subjects:
    - apiGroup: rbac.authorization.k8s.io
      kind: User
      name: <user_name> 
    1
    Copy to Clipboard Toggle word wrap
    1
    オブジェクトを作成する前に、<user_name> の代わりに実際のユーザー名を入力します。

    出力を YAML ファイルとして保存し、次のコマンドを実行してユーザーアクセスを付与します。

    $ oc create -f <filename>
    Copy to Clipboard Toggle word wrap

1.6.2. ユーザーグループへのアクセスの付与

この手順では、ユーザーグループにアクセス権を付与する方法を説明します。クラスターにユーザーグループなど、より高度なアイデンティティー管理が設定されている場合は、特定のグループ内のすべてのユーザーに OpenShift Lightspeed サービスへのアクセス権を付与できます。

前提条件

  • cluster-admin ロールを持つユーザーとして OpenShift Container Platform Web コンソールにログインしている。または、パーミッションを付与する権限を持つユーザーとしてログインしている。
  • OpenShift Lightspeed サービスをデプロイしている。
  • OpenShift CLI (oc) にアクセスできる。

手順

  • コマンドラインで次のコマンドを実行します。

    $ oc adm policy add-cluster-role-to-group \
    lightspeed-operator-query-access <group_name>
    Copy to Clipboard Toggle word wrap

    または、次のコマンドを使用して、ユーザーグループにアクセス権を付与するときに YAML ファイルを使用することもできます。

    $ oc adm policy add-cluster-role-to-group lightspeed-operator-query-access <group_name> -o yaml --dry-run
    Copy to Clipboard Toggle word wrap

    ターミナルは次の出力を返します。

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      creationTimestamp: null
      name: lightspeed-operator-query-access
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: lightspeed-operator-query-access
    subjects:
    - apiGroup: rbac.authorization.k8s.io
      kind: Group
      name: <user_group> 
    1
    Copy to Clipboard Toggle word wrap
    1
    オブジェクトを作成する前に、<user_group> の代わりに実際のユーザーグループを入力します。

    出力を YAML ファイルとして保存し、次のコマンドを実行してユーザーグループへのアクセスを許可します。

    $ oc create -f <filename>
    Copy to Clipboard Toggle word wrap

1.7. 情報のフィルタリングおよび編集

OpenShift Lightspeed を設定して、LLM プロバイダーに送信される情報をフィルタリングまたは編集できます。次の例は、OLSConfig ファイルを変更して IP アドレスを編集する方法を示しています。

注記

サンプルデータに対して正規表現をテストし、フィルタリングまたは編集する情報が捕捉されていること、またフィルタリングまたは編集を希望しない情報が誤って捕捉されていないことを確認する必要があります。正規表現をテストするために使用できるサードパーティーの Web サイトがいくつかあります。サードパーティーのサイトを使用する場合は、個人データの共有に関して注意する必要があります。または、Python を使用して正規表現をローカルでテストすることもできます。Python では、計算コストが非常に高い正規表現を設計することが可能です。クエリーフィルターとして複数の複雑な式を使用すると、OpenShift Lightspeed のパフォーマンスに悪影響を与える可能性があります。

前提条件

  • cluster-admin ロールを持つユーザーとして OpenShift Container Platform Web コンソールにログインしている。
  • OpenShift CLI (oc) にアクセスできる。
  • OpenShift Lightspeed Operator をインストールし、OpenShift Lightspeed サービスをデプロイしている。

手順

  1. OLSConfig ファイルを変更し、フィルタリングする正規表現ごとにエントリーを作成します。次の例では、IP アドレスを編集します。

    カスタムリソースファイルの例

    spec:
      ols:
        queryFilters:
          - name: ip-address
            pattern: '((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}'
            replaceWith: <IP_ADDRESS>
    Copy to Clipboard Toggle word wrap

  2. 変更された OpenShift Lightspeed カスタム設定を適用するには、次のコマンドを実行します。

    $ oc apply -f OLSConfig.yaml
    Copy to Clipboard Toggle word wrap

1.8. BYO Knowledge ツールについて

OpenShift Lightspeed サービスは、大規模言語モデル (LLM) を使用して質問への回答を生成します。BYO Knowledge ツールを使用して検索拡張生成 (RAG) データベースを作成することにより、LLM で利用できるナレッジを強化できます。

RAG データベースを作成するときは、OpenShift Lightspeed サービスを環境に合わせてカスタマイズします。たとえば、ネットワーク管理者は、OpenShift Container Platform クラスターのプロビジョニングに使用される標準操作手順 (SOP) を開発できます。次に、ネットワーク管理者は BYO Knowledge ツールを使用して、SOP からの情報を含めることで LLM が利用できるナレッジを強化できます。

独自の知識を LLM に持ち込むには、次の手順を実行します。

  • Markdown 形式でカスタムコンテンツを作成します。
  • BYO Knowledge ツールを使用して、コンテンツをコンテナーイメージとしてパッケージ化します。
  • コンテナーイメージを quay.io などのイメージレジストリーにプッシュします。
  • OLSConfig カスタムリソースファイルを更新して、イメージレジストリーにプッシュしたイメージを表示します。
  • OpenShift Lightspeed 仮想アシスタントにアクセスし、LLM に提供したカスタムナレッジに関連付けられた質問を送信します。

    注記

    BYO Knowledge ツールを使用すると、LLM で利用できるドキュメントが LLM プロバイダーに送信されます。

1.8.1. ドキュメントのタイトルと URL について

OpenShift Lightspeed は、サービスが回答を生成するために使用するドキュメントのタイトルと URL を表示できます。検索拡張生成 (RAG) データベースでは、タイトルと URL がメタデータとしてドキュメントに付随します。BYO Knowledge ツールは、ツールが処理する Markdown ファイルに title 属性と url 属性が存在する場合、YAML フロントマターからそれらの属性を取得できます。

---
title: "Introduction to Layers {#gimp-concepts-layers}"
url: "https://docs.gimp.org/3.0/en/gimp-using-layers.html"
---

# Introduction to Layers
...
Copy to Clipboard Toggle word wrap

Markdown ファイルに title 属性url 属性を持つ frontmatter がない場合、最初の最上位レベルの Markdown 見出し (たとえば 、# Introduction to Layers) がタイトルになり、ファイルパスが URL になります。

1.8.2. LLM にカスタムナレッジを提供する

リモートイメージレジストリーにあるコンテナーイメージにアクセスできるようにし、大規模言語モデル (LLM) で使用できる情報をカスタマイズします。この手順の例では、リモートコンテナーイメージレジストリーとして quay.io を使用し、カスタムイメージのパスは quay.io/<username>/my-byok-image:latest です。

重要

BYO Knowledge ツールは、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

前提条件

  • クラスタースコープのカスタムリソース (CR) ファイルを作成する権限を持つユーザーアカウント (cluster-admin ロールを持つユーザーなど) として OpenShift Container Platform Web コンソールにログインしている。
  • OpenShift Lightspeed Service で使用できる LLM プロバイダーがある。
  • OpenShift Lightspeed Operator がインストールされている。
  • 追加するカスタム情報が、.md 拡張子を持つ Markdown ファイルのコレクションとして存在する。他のファイル形式はサポートされていません。
  • Podman を使用して registry.redhat.io にログインしている。
  • quay.io などのコンテナーイメージレジストリーのアカウントがある。

手順

  1. 次のコマンドを実行して、検索拡張生成 (RAG) データベースの Markdown ファイルがあるディレクトリーの場所と、BYO Knowledge ツールによって生成されるイメージのパスを指定します。

    $ podman run -it --rm --device=/dev/fuse \
      -v $XDG_RUNTIME_DIR/containers/auth.json:/run/user/0/containers/auth.json:Z \
      -v <dir_tree_with_markdown_files>:/markdown:Z \
      -v <dir_for_image_tar>:/output:Z \
      registry.redhat.io/openshift-lightspeed-tech-preview/lightspeed-rag-tool-rhel9:latest
    Copy to Clipboard Toggle word wrap
    注記

    ツールによって生成されるコンテナーイメージには、カスタム RAG データベースが含まれています。RAG データベースは LLM に追加情報を提供します。

  2. 次のコマンドを実行して、BYO Knowledge ツールによって生成されたコンテナーイメージをロードします。

    $ podman load < <directory_for_image_tar>/<my-byok-image.tar>
    Copy to Clipboard Toggle word wrap
  3. 次のコマンドを実行して、ローカルコンピューター上にある podman イメージを表示します。

    $ podman images
    Copy to Clipboard Toggle word wrap

    出力例

    REPOSITORY                            TAG                IMAGE ID      CREATED       SIZE
    localhost/my-byok-image               latest             be7d1770bf10  1 minute  ago    2.37 GB
    ...
    Copy to Clipboard Toggle word wrap

  4. 次のコマンドを実行して、ローカルイメージに名前と宛先のタグを付け、イメージをコンテナーイメージレジストリーにプッシュできるようにします。

    $ podman tag localhost/my-byok-image:latest quay.io/<username>/my-byok-image:latest
    Copy to Clipboard Toggle word wrap
  5. 次のコマンドを実行して、ローカルコンテナーイメージをコンテナーイメージレジストリーにプッシュします。

    $ podman push quay.io/<username>/my-byok-image:latest
    Copy to Clipboard Toggle word wrap
  6. OLSconfig CR を変更して、新しく作成された RAG データベースを既存のデータベースと一緒にデプロイします。

    1. OpenShift Container Platform Web コンソールで、OperatorsInstalled Operators をクリックします。
    2. 画面上部の Project ドロップダウンメニューで All Projects を選択します。
    3. OpenShift Lightspeed Operator をクリックします。
    4. OLSConfig をクリックし、一覧にある cluster 設定インスタンスをクリックします。
    5. YAML タブをクリックします。
    6. spec.ols.rag yaml コードを挿入します。

      OLSconfig CR ファイルの例

      apiVersion: ols.openshift.io/v1alpha1
      kind: OLSConfig
      metadata:
        name: cluster
      spec:
        ols:
          rag:
            - image: quay.io/<username>/my-byok-image:latest 
      1
      Copy to Clipboard Toggle word wrap

      1
      ここで、image は OpenShift Lightspeed Operator がカスタムコンテンツにアクセスできるように、イメージレジストリーにプッシュされたイメージのタグを指定します。OpenShift Lightspeed Operator は、作成した複数の RAG データベースを操作できます。
  7. Save をクリックします。

検証

  • OpenShift Lightspeed 仮想アシスタントにアクセスし、LLM に提供したカスタムコンテンツに関連する質問を送信します。

    OpenShift Lightspeed 仮想アシスタントは、カスタムコンテンツに基づいて回答を生成します。

1.8.3. OpenShift Container Platform ドキュメント RAG データベースを無効にする

OLSConfig カスタムリソース (CR) ファイルを変更して、OpenShift Container Platform ドキュメントを含む組み込みの Retrieval-Augmented Generation (RAG) データベースを無効にします。そうすると、OpenShift Lightspeed が使用する RAG データベースは、BYO Knowledge 機能を使用して提供されるものだけになります。

前提条件

  • cluster-admin ロールを持つユーザーなど、クラスタースコープの CR ファイルを作成する権限を持つユーザーアカウントとして、OpenShift Container Platform の Web コンソールにログインしている。
  • OpenShift Lightspeed Operator がインストールされている。
  • 大規模言語モデルプロバイダーが設定されている。
  • OpenShift Lightspeed サービスを自動的にデプロイする OLSConfig CR ファイルが設定されている。
  • LLM へのカスタムナレッジの提供で説明されているように、使用するコンテンツを含む RAG データベースを作成しました。

手順

  1. OpenShift Container Platform Web コンソールで、OperatorsInstalled Operators をクリックします。
  2. 画面上部の Project リストで All Projects を選択します。
  3. OpenShift Lightspeed Operator をクリックします。
  4. OLSConfig をクリックし、一覧にある cluster 設定インスタンスをクリックします。
  5. YAML タブをクリックします。
  6. spec.ols.byokRAGOnly YAML コードを挿入します。

    OLSconfig CR ファイルの例

    apiVersion: ols.openshift.io/v1alpha1
    kind: OLSConfig
    metadata:
      name: cluster
    spec:
      ols:
        byokRAGOnly: true 
    1
    Copy to Clipboard Toggle word wrap

    1
    true を 指定すると、OpenShift Lightspeed は BYO Knowledge 機能を使用して作成した RAG データベースのみを使用します。true の場合、OpenShift Lightspeed は OpenShift Container Platform ドキュメントを含むデフォルトの RAG データベースを使用しません。
  7. Save をクリックします。

1.9. クラスター連携について

OpenShift Lightspeed Service は、大規模言語モデル (LLM) を使用して質問への回答を生成します。クラスター連携機能を有効にすると、OpenShift Container Platform クラスターに関する情報を使用して、LLM で利用できる知識を拡張できます。クラスターに含まれる Kubernetes オブジェクトに関する情報を提供することで、LLM は環境に合わせて非常に具体的な回答を生成できるようになります。

Model Context Protocol (MCP) は、アプリケーションが LLM にコンテキストを提供する方法を標準化するオープンプロトコルです。このプロトコルを使用すると、MCP サーバーは、外部リソースからリアルタイム情報を要求して受信することで、LLM がコンテキストを増やすための標準化された方法を提供します。

クラスター連携を有効にすると、OpenShift Lightspeed Operator によって MCP サーバーがインストールされます。MCP サーバーは、OpenShift Lightspeed Service に OpenShift API へのアクセスを提供します。このアクセスを通じて、OpenShift Lightspeed Service は読み取り操作を実行して LLM 用にコンテキストをさらに収集し、OpenShift クラスター内に存在する Kubernetes オブジェクトに関する質問に答えることができるようになります。

注記

OpenShift Lightspeed がツールを効果的に選択して使用する能力は、大規模言語 (LLM) モデルに大きく依存します。一般的に、パラメータ数が多い、より大規模なモデルほどパフォーマンスが高くなります。そして最高のパフォーマンスは、最新の AI 技術を代表する極めて大規模なフロンティアモデルによってもたらされます。小さなモデルを使用すると、ツールの選択やクラスター連携のその他の側面でパフォーマンスが低下する場合があります。

OpenShift Lightspeed Service でクラスター連携機能を有効にするには、LLM プロバイダーでツール呼び出しを有効にする必要があります。

注記

ツール呼び出しを有効にすると、トークンの使用量が大幅に増加する可能性があります。パブリックモデルプロバイダーを使用する場合、トークンの使用量が増えると、課金コストが増加する可能性があります。

1.9.1. クラスター連携の有効化

OLSConfig カスタムリソースを変更して、クラスター連携機能を有効にします。

重要

クラスターの連携機能は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

前提条件

  • cluster-admin ロールを持つユーザーとして OpenShift Container Platform Web コンソールにログインしている。または、クラスタースコープの CR を作成する権限を持つユーザーアカウントにログインしている。
  • 大規模言語モデル (LLM) プロバイダーが設定されている。
  • OpenShift Lightspeed Operator がインストールされている。

手順

  1. OpenShift Container Platform Web コンソールで、OperatorsInstalled Operators をクリックします。
  2. OpenShift Lightspeed Operator をクリックします。
  3. OLSConfig をクリックし、一覧にある cluster 設定インスタンスをクリックします。
  4. YAML タブをクリックします。
  5. spec.ols.introspectionEnabled パラメーターを true に設定して、クラスターの連携を有効にします。

    apiVersion: ols.openshift.io/v1alpha1
    kind: OLSConfig
    metadata:
      name: cluster
    spec:
      ols:
        introspectionEnabled: true
    Copy to Clipboard Toggle word wrap
  6. Save をクリックします。

検証

  • OpenShift Lightspeed 仮想アシスタントにアクセスし、クラスターに関連付けられた質問を送信します。

    OpenShift Lightspeed 仮想アシスタントは、環境に固有の高度に洗練された回答を生成します。

1.9.2. カスタム MCP サーバーの有効化

大規模言語モデル (LLM) がツールを使用して質問に対する回答を生成できるように、環境内のツールとインターフェイスする MCP サーバーを追加します。

重要

クラスターの連携機能は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

前提条件

  • OpenShift Lightspeed Operator がインストールされている。
  • 大規模言語モデルプロバイダーが設定されている。
  • OpenShift Lightspeed サービスを自動的にデプロイする OLSConfig CR ファイルが設定されている。

手順

  1. 次のコマンドを実行して、OpenShift Lightspeed OLSconfig カスタムリソース (CR) ファイルを開きます。

    $ oc edit olsconfig cluster
    Copy to Clipboard Toggle word wrap
  2. spec.featureGates 仕様ファイルに MCPServer を追加し、MCP サーバー情報を含めます。

    apiVersion: ols.openshift.io/v1alpha1
    kind: OLSConfig
    metadata:
      name: cluster
    spec:
      featureGates:
        - MCPServer 
    1
    
      mcpServers:
        - name: mcp-server-1 
    2
    
          streamableHTTP:
            url: http://localhost:8080/mcp 
    3
    
            timeout: 30
            sseReadTimeout: 10
            headers:
              - Authorization: Bearer <token>
              - Content-Type: application/json
              - Accept: application/json
            enableSSE: true
        - name: mcp-server-2
          streamableHTTP:
            url: http://localhost:8080/mcp
            timeout: 30 
    4
    
            sseReadTimeout: 10 
    5
    
            headers:
              - <key1>: <value1> 
    6
    
              - <key2>: <value2>
            enableSSE: true 
    7
    Copy to Clipboard Toggle word wrap
    1
    MCP サーバーの機能を指定します。
    2
    MCP サーバーの名前を指定します。
    3
    MCP サーバーが通信に使用する URL パスを指定します。
    4
    MCP サーバーがクエリーに応答するまでの時間を指定します。指定された時間内にクライアントがクエリーを受信しない場合、MCP サーバーはタイムアウトになります。この例では、タイムアウトは 30 秒です。
    5
    Server-Sent Events (SSE) 接続で、クライアントが新しいデータを待つ時間を指定します。クライアントがその時間内にデータを受信しない場合は、クライアントは接続を閉じます。
    6
    HTTP 要求が MCP サーバーに送信する追加ヘッダーを指定します。
    7
    enableSSEtrue に設定すると、MCP サーバーは、サーバーに新しい情報があるたびにクライアントに更新をプッシュするために使用する一方向チャネルを確立します。デフォルトの設定は false です。
  3. Save をクリックします。

    保存操作によりファイルが保存されて変更が適用され、MCP サーバーが OpenShift Lightspeed Service で使用できるようになります。

1.10. トークンとトークンクォータ制限

トークンとは、テキストを小さく分割したものであり、そのサイズは最小で 1 文字、最大で 1 単語となります。トークンは、OpenShift Lightspeed サービスが大規模言語モデル (LLM) に送信するテキストや、LLM から受信するテキストの量を定量化するのに使用される測定単位です。サービスおよび LLM とのすべてのやり取りはトークンでカウントされます。

トークンのクォータ制限は、特定の期間内に使用できるトークンの数を定義します。トークンのクォータ制限を実装すると、コストを制御し、クエリーのより効率的な使用を促進し、システムの需要を規制するのに役立ちます。マルチユーザー設定において、トークンのクォータ制限は、すべてのユーザーに均等なアクセスを提供し、誰もがクエリーを送信する機会を得られるようにするために役立ちます。

OpenShift クラスターまたは OpenShift ユーザーアカウントのトークンクォータ制限を定義できます。

1.10.1. トークンのクォータ制限の有効化

ConfigMap リソースでキーと値のペアを定義して、OpenShift Lightspeed サービスのトークンのクォータ制限をアクティブにします。OpenShift Lightspeed Pod は ConfigMap リソースをボリュームとしてマウントし、その中に保存されているファイルにアクセスできるようにします。OLSConfig カスタムリソース (CR) は、ConfigMap リソースを参照してクォータ制限情報を取得します。

前提条件

  • OpenShift Lightspeed Operator がインストールされている。
  • 大規模言語モデルプロバイダーが設定されている。
  • PostgreSQL データベースが設定され、OpenShift Lightspeed サービスがデータベースにアクセスできる。

手順

  1. 次のコマンドを実行して、OpenShift Lightspeed OLSconfig CR ファイルを開きます。

    $ oc edit olsconfig cluster
    Copy to Clipboard Toggle word wrap
  2. トークンのクォータ制限情報を含めるように spec.ols.quotaHandlersConfig 仕様を変更します。

    OpenShift Lightspeed OLSConfig CR の例

    apiVersion: ols.openshift.io/v1alpha1
    kind: OLSConfig
    metadata:
      name: cluster
    spec:
      ols:
        quotaHandlersConfig:
          limitersConfig:
          - name: user_limits 
    1
    
            type: user_limiter
            initialQuota: 100000 
    2
    
            quotaIncrease: 1000 
    3
    
            period: 30 days
          - name: cluster_limits 
    4
    
            type: cluster_limiter
            initialQuota: 1000000 
    5
    
            quotaIncrease: 100000 
    6
    
            period: 30 days 
    7
    Copy to Clipboard Toggle word wrap

    1
    ユーザーアカウントのトークン制限を指定します。
    2
    period フィールドで指定された期間にわたって、各ユーザーに対して 100,000 のトークンクォータ制限を指定します。
    3
    period フィールドで指定された期間の終了時に、ユーザーのトークンクォータ制限を 1,000 増やします。
    4
    クラスターのトークン制限を指定します。
    5
    period フィールドで指定された期間にわたって、各クラスターに対して 1,000,000 のトークンクォータ制限を指定します。
    6
    period フィールドで指定された期間の終了時に、クラスターのトークンクォータ制限を 100,000 増やします。
    7
    期間がリセットされるか、クォータ制限が増加するまでスケジューラーが待機する時間の長さを定義します。
  3. Save をクリックします。

    保存操作によりファイルが保存され、変更が適用されてトークンのクォータ制限がアクティブになります。

1.11. OpenShift Lightspeed と PostgreSQL の永続性について

PostgreSQL の永続性を使用すると、OpenShift Lightspeed 会話履歴やクォータ使用量などのデータを PostgreSQL データベースに保存し、永続ボリュームにデータを保持することができます。PostgreSQL の永続性により、PostgreSQL Pod が再起動したり、OpenShift Container Platform インストールで再スケジュールされたりしても、データは保持されます。

重要

PostgreSQL の永続性はテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

PostgreSQL の永続性はデフォルトで無効になっています。この機能を有効にするには、spec.ols.storage 仕様を OLSConfig カスタムリソース (CR) に追加します。

1.11.1. PostgreSQL の永続性の有効化

OLSConfig カスタムリソース (CR) ファイルを変更して、OpenShift Lightspeed サービスの PostgreSQL 永続性を有効にします。

前提条件

  • cluster-admin ロールを持つユーザーなど、クラスタースコープの CR ファイルを作成する権限を持つユーザーアカウントとして、OpenShift Container Platform の Web コンソールにログインしている。
  • OpenShift Lightspeed Operator がインストールされている。
  • 大規模言語モデルプロバイダーが設定されている。

手順

  1. OpenShift Container Platform Web コンソールで、OperatorsInstalled Operators をクリックします。
  2. 画面上部の Project リストで All Projects を選択します。
  3. OpenShift Lightspeed Operator をクリックします。
  4. OLSConfig をクリックし、一覧にある cluster 設定インスタンスをクリックします。
  5. YAML タブをクリックします。
  6. spec.ols.storage YAML コードを挿入します。

    OLSconfig CR ファイルの例

    apiVersion: ols.openshift.io/v1alpha1
    kind: OLSConfig
    metadata:
      name: cluster
      namespace: openshift-lightspeed
    spec:
      llm:
        providers:
    ...
      ols:
        storage: {} 
    1
    Copy to Clipboard Toggle word wrap

    1
    クラスは、クラスター内のストレージクラスにおける既存のインスタンスに依存します。ストレージクラスを空のままにすると、OpenShift Lightspeed はデフォルト値を使用します。PostgreSQL データベースに割り当てられた永続ボリュームのサイズは 1 GB で、デフォルトのクラスターのストレージクラスを使用します。デフォルト値を使用するには、storage パラメーターに空の中括弧を指定します。

    sizeclass パラメーターを変更する場合は、パラメーターに明示的な値を個別に指定できます。

    ols:
      storage:
        size: 768Mi 
    1
    
        class: gp2-csi 
    2
    Copy to Clipboard Toggle word wrap
    1
    要求されるボリュームのサイズを指定します。サイズが指定されていない場合、デフォルト値は 1 GB です。
    2
    要求されるボリュームのストレージクラスを指定します。クラスが指定されていない場合、ストレージクラスはクラスターのデフォルトのストレージクラス設定を使用します。
  7. Save をクリックします。

第2章 OLSConfig API リファレンス

OLSConfig は、OpenShift Lightspeed 設定オブジェクトのスキーマであり、基盤となるデプロイメントの構造とパラメーターを定義します。

注記

API パラメーター情報は OLSConfig API リファレンスから取得され、便宜上ここで提供されています。

2.1. OLSConfig API 仕様

説明
Red Hat Red Hat OpenShift Lightspeed の Lightspeed インスタンス。OLSConfig は olsconfigs API のスキーマです。
タイプ
object
必須
  • spec
Expand
プロパティータイプ説明

apiVersion

string

APIVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources を参照してください。

kind

string

kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーは、クライアントが要求を送信するエンドポイントからこれを推測できることがあります。これを更新することはできません。CamelCase を使用します。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。

metadata

object

標準オブジェクトのメタデータ。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。

spec

object

OLSConfigSpec は OLSConfig の望ましい状態を定義します。

2.1.1. .metadata

説明
標準オブジェクトのメタデータ。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。
タイプ
object

2.1.2. .spec

説明
OLSConfigSpec は OLSConfig の望ましい状態を定義します。
タイプ
object
必須
  • llm
  • ols
Expand
プロパティータイプ説明

featureGates

array (string)

フィーチャーゲートは明示的に有効にする機能のリストを格納します。リストに含まれない機能は、デフォルトで無効になります。指定可能な値: MCPServer

llm

object

LLMSpec は、大規模言語モデル (LLM) の望ましい状態を定義します。

mcpServers

array

MCP サーバーの設定

ols

object

OLSSpec は、OLS デプロイメントの望ましい状態を定義します。

olsDataCollector

object

OLSDataCollectorSpec は、許可される OLS データコレクター設定を定義します。

2.1.3. .spec.llm

説明
LLMSpec は、大規模言語モデル (LLM) の望ましい状態を定義します。
タイプ
object
必須
  • providers
Expand
プロパティータイプ説明

providers

array

 

2.1.4. .spec.llm.providers

説明
タイプ
array

2.1.5. .spec.llm.providers[]

説明
ProviderSpec は、LLM プロバイダーの望ましい状態を定義します。
タイプ
object
必須
  • credentialsSecretRef
  • models
  • name
  • type
Expand
プロパティータイプ説明

apiVersion

string

Azure OpenAI プロバイダーの API バージョン

credentialsSecretRef

object

API プロバイダーの認証情報を保存するシークレットオブジェクトの名前

deploymentName

string

Azure OpenAI デプロイメント名

models

array

プロバイダーのモデルのリスト

name

string

プロバイダー名

projectID

string

Watsonx プロジェクト ID

tlsSecurityProfile

object

プロバイダーへの接続で使用される TLS セキュリティープロファイル

type

string

プロバイダータイプ

url

string

プロバイダー API URL

2.1.6. .spec.llm.providers[].credentialsSecretRef

説明
API プロバイダーの認証情報を保存するシークレットオブジェクトの名前
タイプ
object
Expand
プロパティータイプ説明

name

string

参照先の名前。このフィールドは実質的には必須ですが、下位互換性のため空でもかまいません。ここで空の値を持つこの型のインスタンスは、ほぼ間違いなく間違っています。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

2.1.7. .spec.llm.providers[].models

説明
プロバイダーのモデルのリスト
タイプ
array

2.1.8. .spec.llm.providers[].models[]

説明
ModelSpec は、使用する LLM モデルとそのパラメーターを定義します。
タイプ
object
必須
  • name
Expand
プロパティータイプ説明

contextWindowSize

integer

モデルのコンテキストウィンドウのサイズをトークン単位で定義します。デフォルトは 128k トークンです。

name

string

モデル名

parameters

object

モデル API パラメーター

url

string

モデル API URL

2.1.9. .spec.llm.providers[].models[].parameters

説明
モデル API パラメーター
タイプ
object
Expand
プロパティータイプ説明

maxTokensForResponse

integer

回答の最大トークン数。デフォルトは 2048 トークンです。

2.1.10. .spec.llm.providers[].tlsSecurityProfile

説明
プロバイダーへの接続で使用される TLS セキュリティープロファイル
タイプ
object
Expand
プロパティータイプ説明

custom

``

custom は、ユーザー定義の TLS セキュリティープロファイルです。無効な設定は壊滅的である可能性があるため、カスタムプロファイルの使用には細心の注意を払ってください。カスタムプロファイルの例は次のようになります。

暗号化:

- ECDHE-ECDSA-CHACHA20-POLY1305

- ECDHE-RSA-CHACHA20-POLY1305

- ECDHE-RSA-AES128-GCM-SHA256

- ECDHE-ECDSA-AES128-GCM-SHA256

minTLSVersion: VersionTLS11

intermediate

``

intermediate は、以下に基づく TLS セキュリティープロファイルです。

https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29

以下のようになります (yaml):

暗号化:

- TLS_AES_128_GCM_SHA256

- TLS_AES_256_GCM_SHA384

- TLS_CHACHA20_POLY1305_SHA256

- ECDHE-ECDSA-AES128-GCM-SHA256

- ECDHE-RSA-AES128-GCM-SHA256

- ECDHE-ECDSA-AES256-GCM-SHA384

- ECDHE-RSA-AES256-GCM-SHA384

- ECDHE-ECDSA-CHACHA20-POLY1305

- ECDHE-RSA-CHACHA20-POLY1305

- DHE-RSA-AES128-GCM-SHA256

- DHE-RSA-AES256-GCM-SHA384

minTLSVersion: VersionTLS12

modern

``

modern は、以下に基づく TLS セキュリティープロファイルです。

https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility

以下のようになります (yaml):

暗号化:

- TLS_AES_128_GCM_SHA256

- TLS_AES_256_GCM_SHA384

- TLS_CHACHA20_POLY1305_SHA256

minTLSVersion: VersionTLS13

old

``

old は、以下に基づく TLS セキュリティープロファイルです。

https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility

以下のようになります (yaml):

暗号化:

- TLS_AES_128_GCM_SHA256

- TLS_AES_256_GCM_SHA384

- TLS_CHACHA20_POLY1305_SHA256

- ECDHE-ECDSA-AES128-GCM-SHA256

- ECDHE-RSA-AES128-GCM-SHA256

- ECDHE-ECDSA-AES256-GCM-SHA384

- ECDHE-RSA-AES256-GCM-SHA384

- ECDHE-ECDSA-CHACHA20-POLY1305

- ECDHE-RSA-CHACHA20-POLY1305

- DHE-RSA-AES128-GCM-SHA256

- DHE-RSA-AES256-GCM-SHA384

- DHE-RSA-CHACHA20-POLY1305

- ECDHE-ECDSA-AES128-SHA256

- ECDHE-RSA-AES128-SHA256

- ECDHE-ECDSA-AES128-SHA

- ECDHE-RSA-AES128-SHA

- ECDHE-ECDSA-AES256-SHA384

- ECDHE-RSA-AES256-SHA384

- ECDHE-ECDSA-AES256-SHA

- ECDHE-RSA-AES256-SHA

- DHE-RSA-AES128-SHA256

- DHE-RSA-AES256-SHA256

- AES128-GCM-SHA256

- AES256-GCM-SHA384

- AES128-SHA256

- AES256-SHA256

- AES128-SHA

- AES256-SHA

- DES-CBC3-SHA

minTLSVersion: VersionTLS10

type

string

type は、Old、Intermediate、Modern、または Custom のいずれかです。カスタムは、個々の TLS セキュリティープロファイルパラメーターを指定する機能を提供します。Old、Intermediate、Modern は、以下に基づく TLS セキュリティープロファイルです。

https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations

プロファイルは意図に基づいているため、時間の経過とともに新しい暗号が開発され、既存の暗号が安全でないことが判明すると、変更される可能性があります。プロセスで使用できる暗号の種類に応じて、リストが短縮される可能性があります。

Modern プロファイルは、一般的なソフトウェアライブラリーでまだ十分に採用されていないため、現在サポートされていないことに注意してください。

2.1.11. .spec.mcpServers

説明
MCP サーバーの設定
タイプ
array

2.1.12. .spec.mcpServers[]

説明
MCPServer は、1 つの MCP サーバーの設定を定義します。
タイプ
object
必須
  • name
Expand
プロパティータイプ説明

name

string

MCP サーバーの名前

streamableHTTP

object

Streamable HTTP Transport の設定

2.1.13. .spec.mcpServers[].streamableHTTP

説明
Streamable HTTP Transport の設定
タイプ
object
必須
  • url
Expand
プロパティータイプ説明

enableSSE

boolean

サーバー送信イベントを有効にします。

headers

object (string)

MCP サーバーに送信するヘッダー

sseReadTimeout

integer

SSE 読み取りタイムアウト。デフォルトは 10 秒です。

timeout

integer

MCP サーバーのタイムアウト。デフォルトは 5 秒です。

url

string

MCP サーバーの URL

2.1.14. .spec.ols

説明
OLSSpec は、OLS デプロイメントの望ましい状態を定義します。
タイプ
object
必須
  • defaultModel
  • defaultProvider
Expand
プロパティータイプ説明

additionalCAConfigMapRef

object

OLS サービスと LLM プロバイダー間の TLS 通信用の追加 CA 証明書

byokRAGOnly

boolean

BYOK RAG ソースのみを使用します。Red Hat OpenShift Lightspeed ドキュメントの RAG は無視します。

conversationCache

object

会話キャッシュ設定

defaultModel

string

使用のデフォルトモデル

defaultProvider

string

使用時のデフォルトプロバイダー

deployment

object

OLS デプロイメント設定

introspectionEnabled

boolean

イントロスペクション機能を有効にする

logLevel

string

ログレベル。有効なオプションは、DEBUG、INFO、WARNING、ERROR、および CRITICAL です。デフォルト: "INFO".

proxyConfig

object

LLM プロバイダーなどの外部サーバーに接続するためのプロキシー設定。

queryFilters

array

クエリーフィルター

quotaHandlersConfig

object

LLM トークンクォータの設定

rag

array

RAG データベース

storage

object

永続ストレージの設定

tlsConfig

object

Lightspeed バックエンドの HTTPS エンドポイントの TLS 設定

tlsSecurityProfile

object

API エンドポイントで使用される TLS セキュリティープロファイル

userDataCollection

object

ユーザーデータ収集スイッチ

2.1.15. .spec.ols.additionalCAConfigMapRef

説明
OLS サービスと LLM プロバイダー間の TLS 通信用の追加 CA 証明書
タイプ
object
Expand
プロパティータイプ説明

name

string

参照先の名前。このフィールドは実質的には必須ですが、下位互換性のため空でもかまいません。ここで空の値を持つこの型のインスタンスは、ほぼ間違いなく間違っています。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

2.1.16. .spec.ols.conversationCache

説明
会話キャッシュ設定
タイプ
object
Expand
プロパティータイプ説明

postgres

object

PostgresSpec は、Postgres の望ましい状態を定義します。

type

string

会話キャッシュタイプ。デフォルト: "postgres"

2.1.17. .spec.ols.conversationCache.postgres

説明
PostgresSpec は、Postgres の望ましい状態を定義します。
タイプ
object
Expand
プロパティータイプ説明

credentialsSecret

string

Postgres の認証情報を保持するシークレット

dbName

string

Postgres データベース名

maxConnections

integer

Postgres の最大接続数。デフォルト: "2000"

sharedBuffers

integer-or-string

Postgres の共有バッファー

user

string

Postgres ユーザー名

2.1.18. .spec.ols.deployment

説明
OLS デプロイメント設定
タイプ
object
Expand
プロパティータイプ説明

api

object

API コンテナーの設定。

console

object

コンソールコンテナーの設定。

dataCollector

object

データコレクターコンテナーの設定。

database

object

データベースコンテナーの設定。

mcpServer

object

MCP サーバーコンテナーの設定。

replicas

integer

必要な OLS Pod の数を定義します。デフォルト: "1"

2.1.19. .spec.ols.deployment.api

説明
API コンテナーの設定。
タイプ
object
Expand
プロパティータイプ説明

nodeSelector

object (string)

 

resources

object

ResourceRequirements は、コンピュートリソースの要件を説明します。

tolerations

array

 

2.1.20. .spec.ols.deployment.api.resources

説明
ResourceRequirements は、コンピュートリソースの要件を説明します。
タイプ
object
Expand
プロパティータイプ説明

claims

array

Claims には、spec.resourceClaims で定義され、このコンテナーによって使用されるリソースの名前がリストされます。

これはアルファフィールドであり、DynamicResourceAllocation フィーチャーゲートを有効にする必要があります。

このフィールドは変更不可能です。これはコンテナーにのみ設定できます。

limits

integer-or-string

limits は、許可されるコンピュートリソースの最大量を示します。詳細は、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

requests

integer-or-string

requests は、必要なコンピュートリソースの最小量を示します。コンテナーで Requests が省略される場合、明示的に指定される場合にデフォルトで Limits に設定されます。指定しない場合は、実装定義の値に設定されます。リクエストは制限を超えることはできません。詳細は、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

2.1.21. .spec.ols.deployment.api.resources.claims

説明

Claims には、spec.resourceClaims で定義され、このコンテナーによって使用されるリソースの名前がリストされます。

これはアルファフィールドであり、DynamicResourceAllocation フィーチャーゲートを有効にする必要があります。

このフィールドは変更不可能です。これはコンテナーにのみ設定できます。

タイプ
array

2.1.22. .spec.ols.deployment.api.resources.claims[]

説明
ResourceClaim は、PodSpec.ResourceClaims 内の 1 つのエントリーを参照します。
タイプ
object
必須
  • name
Expand
プロパティータイプ説明

name

string

name は、このフィールドが使用される Pod の pod.spec.resourceClaims に含まれる、1 つのエントリーの名前と一致する必要があります。これにより、そのリソースがコンテナー内で利用可能になります。

request

string

request は、参照されるクレーム内のリクエストに対して選択された名前です。空の場合、クレームからのすべてのものが利用可能になり、それ以外の場合はこの request の結果のみが利用可能になります。

2.1.23. .spec.ols.deployment.api.tolerations

説明
タイプ
array

2.1.24. .spec.ols.deployment.api.tolerations[]

説明
この toleration が割り当てられる Pod は、マッチング Operator <operator> を使用してトリプル <key,value,effect> と一致する taint を許容します。
タイプ
object
Expand
プロパティータイプ説明

effect

string

effect は、照合するテイントの効果を示します。空の場合は、すべてのテイント効果に一致します。指定されている場合、許可される値は NoSchedule、PreferNoSchedule、および NoExecute です。

key

string

key は toleration が適用されるテイントキーです。空の場合は、すべてのテイントキーに一致します。キーが空の場合、Operator は Exists である必要があります。この組み合わせは、すべての値とすべてのキーに一致することを意味します。

operator

string

Operator はキーと値の関係を表します。有効な Operator は Exists および Equal です。デフォルトは Equal です。Exists は、値のワイルドカードと同等であるため、Pod は特定のカテゴリーのすべてのテイントに耐えることができます。

tolerationSeconds

integer

tolerationSeconds は、toleration (effect は NoExecute でなければならず、NoExecute 以外の場合このフィールドは無視されます) が taint を許容する期間を表します。デフォルトでは設定されていません。つまり、テイントを永久に許容します (エビクトしないでください)。ゼロ値と負の値は、システムによって 0 (すぐにエビクト) として扱われます。

value

string

value は、toleration が一致するテイントの値です。Operator が Exists の場合、値は空である必要があります。それ以外の場合は、通常の文字列のみになります。

2.1.25. .spec.ols.deployment.console

説明
コンソールコンテナーの設定。
タイプ
object
Expand
プロパティータイプ説明

caCertificate

string

コンソールプロキシーエンドポイントで使用される認証局 (CA) の証明書。

nodeSelector

object (string)

 

replicas

integer

必要なコンソール Pod の数を定義します。デフォルト: "1"

resources

object

ResourceRequirements は、コンピュートリソースの要件を説明します。

tolerations

array

 

2.1.26. .spec.ols.deployment.console.resources

説明
ResourceRequirements は、コンピュートリソースの要件を説明します。
タイプ
object
Expand
プロパティータイプ説明

claims

array

Claims には、spec.resourceClaims で定義され、このコンテナーによって使用されるリソースの名前がリストされます。

これはアルファフィールドであり、DynamicResourceAllocation フィーチャーゲートを有効にする必要があります。

このフィールドは変更不可能です。これはコンテナーにのみ設定できます。

limits

integer-or-string

limits は、許可されるコンピュートリソースの最大量を示します。詳細は、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

requests

integer-or-string

requests は、必要なコンピュートリソースの最小量を示します。コンテナーで Requests が省略される場合、明示的に指定される場合にデフォルトで Limits に設定されます。指定しない場合は、実装定義の値に設定されます。リクエストは制限を超えることはできません。詳細は、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

2.1.27. .spec.ols.deployment.console.resources.claims

説明

Claims には、spec.resourceClaims で定義され、このコンテナーによって使用されるリソースの名前がリストされます。

これはアルファフィールドであり、DynamicResourceAllocation フィーチャーゲートを有効にする必要があります。

このフィールドは変更不可能です。これはコンテナーにのみ設定できます。

タイプ
array

2.1.28. .spec.ols.deployment.console.resources.claims[]

説明
ResourceClaim は、PodSpec.ResourceClaims 内の 1 つのエントリーを参照します。
タイプ
object
必須
  • name
Expand
プロパティータイプ説明

name

string

name は、このフィールドが使用される Pod の pod.spec.resourceClaims に含まれる、1 つのエントリーの名前と一致する必要があります。これにより、そのリソースがコンテナー内で利用可能になります。

request

string

request は、参照されるクレーム内のリクエストに対して選択された名前です。空の場合、クレームからのすべてのものが利用可能になり、それ以外の場合はこの request の結果のみが利用可能になります。

2.1.29. .spec.ols.deployment.console.tolerations

説明
タイプ
array

2.1.30. .spec.ols.deployment.console.tolerations[]

説明
この toleration が割り当てられる Pod は、マッチング Operator <operator> を使用してトリプル <key,value,effect> と一致する taint を許容します。
タイプ
object
Expand
プロパティータイプ説明

effect

string

effect は、照合するテイントの効果を示します。空の場合は、すべてのテイント効果に一致します。指定されている場合、許可される値は NoSchedule、PreferNoSchedule、および NoExecute です。

key

string

key は toleration が適用されるテイントキーです。空の場合は、すべてのテイントキーに一致します。キーが空の場合、Operator は Exists である必要があります。この組み合わせは、すべての値とすべてのキーに一致することを意味します。

operator

string

Operator はキーと値の関係を表します。有効な Operator は Exists および Equal です。デフォルトは Equal です。Exists は、値のワイルドカードと同等であるため、Pod は特定のカテゴリーのすべてのテイントに耐えることができます。

tolerationSeconds

integer

tolerationSeconds は、toleration (effect は NoExecute でなければならず、NoExecute 以外の場合このフィールドは無視されます) が taint を許容する期間を表します。デフォルトでは設定されていません。つまり、テイントを永久に許容します (エビクトしないでください)。ゼロ値と負の値は、システムによって 0 (すぐにエビクト) として扱われます。

value

string

value は、toleration が一致するテイントの値です。Operator が Exists の場合、値は空である必要があります。それ以外の場合は、通常の文字列のみになります。

2.1.31. .spec.ols.deployment.dataCollector

説明
データコレクターコンテナーの設定。
タイプ
object
Expand
プロパティータイプ説明

resources

object

ResourceRequirements は、コンピュートリソースの要件を説明します。

2.1.32. .spec.ols.deployment.dataCollector.resources

説明
ResourceRequirements は、コンピュートリソースの要件を説明します。
タイプ
object
Expand
プロパティータイプ説明

claims

array

Claims には、spec.resourceClaims で定義され、このコンテナーによって使用されるリソースの名前がリストされます。

これはアルファフィールドであり、DynamicResourceAllocation フィーチャーゲートを有効にする必要があります。

このフィールドは変更不可能です。これはコンテナーにのみ設定できます。

limits

integer-or-string

limits は、許可されるコンピュートリソースの最大量を示します。詳細は、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

requests

integer-or-string

requests は、必要なコンピュートリソースの最小量を示します。コンテナーで Requests が省略される場合、明示的に指定される場合にデフォルトで Limits に設定されます。指定しない場合は、実装定義の値に設定されます。リクエストは制限を超えることはできません。詳細は、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

2.1.33. .spec.ols.deployment.dataCollector.resources.claims

説明

Claims には、spec.resourceClaims で定義され、このコンテナーによって使用されるリソースの名前がリストされます。

これはアルファフィールドであり、DynamicResourceAllocation フィーチャーゲートを有効にする必要があります。

このフィールドは変更不可能です。これはコンテナーにのみ設定できます。

タイプ
array

2.1.34. .spec.ols.deployment.dataCollector.resources.claims[]

説明
ResourceClaim は、PodSpec.ResourceClaims 内の 1 つのエントリーを参照します。
タイプ
object
必須
  • name
Expand
プロパティータイプ説明

name

string

name は、このフィールドが使用される Pod の pod.spec.resourceClaims に含まれる、1 つのエントリーの名前と一致する必要があります。これにより、そのリソースがコンテナー内で利用可能になります。

request

string

request は、参照されるクレーム内のリクエストに対して選択された名前です。空の場合、クレームからのすべてのものが利用可能になり、それ以外の場合はこの request の結果のみが利用可能になります。

2.1.35. .spec.ols.deployment.database

説明
データベースコンテナーの設定。
タイプ
object
Expand
プロパティータイプ説明

nodeSelector

object (string)

 

resources

object

ResourceRequirements は、コンピュートリソースの要件を説明します。

tolerations

array

 

2.1.36. .spec.ols.deployment.database.resources

説明
ResourceRequirements は、コンピュートリソースの要件を説明します。
タイプ
object
Expand
プロパティータイプ説明

claims

array

Claims には、spec.resourceClaims で定義され、このコンテナーによって使用されるリソースの名前がリストされます。

これはアルファフィールドであり、DynamicResourceAllocation フィーチャーゲートを有効にする必要があります。

このフィールドは変更不可能です。これはコンテナーにのみ設定できます。

limits

integer-or-string

limits は、許可されるコンピュートリソースの最大量を示します。詳細は、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

requests

integer-or-string

requests は、必要なコンピュートリソースの最小量を示します。コンテナーで Requests が省略される場合、明示的に指定される場合にデフォルトで Limits に設定されます。指定しない場合は、実装定義の値に設定されます。リクエストは制限を超えることはできません。詳細は、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

2.1.37. .spec.ols.deployment.database.resources.claims

説明

Claims には、spec.resourceClaims で定義され、このコンテナーによって使用されるリソースの名前がリストされます。

これはアルファフィールドであり、DynamicResourceAllocation フィーチャーゲートを有効にする必要があります。

このフィールドは変更不可能です。これはコンテナーにのみ設定できます。

タイプ
array

2.1.38. .spec.ols.deployment.database.resources.claims[]

説明
ResourceClaim は、PodSpec.ResourceClaims 内の 1 つのエントリーを参照します。
タイプ
object
必須
  • name
Expand
プロパティータイプ説明

name

string

name は、このフィールドが使用される Pod の pod.spec.resourceClaims に含まれる、1 つのエントリーの名前と一致する必要があります。これにより、そのリソースがコンテナー内で利用可能になります。

request

string

request は、参照されるクレーム内のリクエストに対して選択された名前です。空の場合、クレームからのすべてのものが利用可能になり、それ以外の場合はこの request の結果のみが利用可能になります。

2.1.39. .spec.ols.deployment.database.tolerations

説明
タイプ
array

2.1.40. .spec.ols.deployment.database.tolerations[]

説明
この toleration が割り当てられる Pod は、マッチング Operator <operator> を使用してトリプル <key,value,effect> と一致する taint を許容します。
タイプ
object
Expand
プロパティータイプ説明

effect

string

effect は、照合するテイントの効果を示します。空の場合は、すべてのテイント効果に一致します。指定されている場合、許可される値は NoSchedule、PreferNoSchedule、および NoExecute です。

key

string

key は toleration が適用されるテイントキーです。空の場合は、すべてのテイントキーに一致します。キーが空の場合、Operator は Exists である必要があります。この組み合わせは、すべての値とすべてのキーに一致することを意味します。

operator

string

Operator はキーと値の関係を表します。有効な Operator は Exists および Equal です。デフォルトは Equal です。Exists は、値のワイルドカードと同等であるため、Pod は特定のカテゴリーのすべてのテイントに耐えることができます。

tolerationSeconds

integer

tolerationSeconds は、toleration (effect は NoExecute でなければならず、NoExecute 以外の場合このフィールドは無視されます) が taint を許容する期間を表します。デフォルトでは設定されていません。つまり、テイントを永久に許容します (エビクトしないでください)。ゼロ値と負の値は、システムによって 0 (すぐにエビクト) として扱われます。

value

string

value は、toleration が一致するテイントの値です。Operator が Exists の場合、値は空である必要があります。それ以外の場合は、通常の文字列のみになります。

2.1.41. .spec.ols.deployment.mcpServer

説明
MCP サーバーコンテナーの設定。
タイプ
object
Expand
プロパティータイプ説明

resources

object

ResourceRequirements は、コンピュートリソースの要件を説明します。

2.1.42. .spec.ols.deployment.mcpServer.resources

説明
ResourceRequirements は、コンピュートリソースの要件を説明します。
タイプ
object
Expand
プロパティータイプ説明

claims

array

Claims には、spec.resourceClaims で定義され、このコンテナーによって使用されるリソースの名前がリストされます。

これはアルファフィールドであり、DynamicResourceAllocation フィーチャーゲートを有効にする必要があります。

このフィールドは変更不可能です。これはコンテナーにのみ設定できます。

limits

integer-or-string

limits は、許可されるコンピュートリソースの最大量を示します。詳細は、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

requests

integer-or-string

requests は、必要なコンピュートリソースの最小量を示します。コンテナーで Requests が省略される場合、明示的に指定される場合にデフォルトで Limits に設定されます。指定しない場合は、実装定義の値に設定されます。リクエストは制限を超えることはできません。詳細は、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。

2.1.43. .spec.ols.deployment.mcpServer.resources.claims

説明

Claims には、spec.resourceClaims で定義され、このコンテナーによって使用されるリソースの名前がリストされます。

これはアルファフィールドであり、DynamicResourceAllocation フィーチャーゲートを有効にする必要があります。

このフィールドは変更不可能です。これはコンテナーにのみ設定できます。

タイプ
array

2.1.44. .spec.ols.deployment.mcpServer.resources.claims[]

説明
ResourceClaim は、PodSpec.ResourceClaims 内の 1 つのエントリーを参照します。
タイプ
object
必須
  • name
Expand
プロパティータイプ説明

name

string

name は、このフィールドが使用される Pod の pod.spec.resourceClaims に含まれる、1 つのエントリーの名前と一致する必要があります。これにより、そのリソースがコンテナー内で利用可能になります。

request

string

request は、参照されるクレーム内のリクエストに対して選択された名前です。空の場合、クレームからのすべてのものが利用可能になり、それ以外の場合はこの request の結果のみが利用可能になります。

2.1.45. .spec.ols.proxyConfig

説明
LLM プロバイダーなどの外部サーバーに接続するためのプロキシー設定。
タイプ
object
Expand
プロパティータイプ説明

proxyCACertificate

object

プロキシー CA 証明書を保持する configmap

proxyURL

string

プロキシー URL (例: https://proxy.example.com:8080) 指定しない場合は、環境変数 "https_proxy" に関係なく、クラスター全体のプロキシーが使用されます。

2.1.46. .spec.ols.proxyConfig.proxyCACertificate

説明
プロキシー CA 証明書を保持する configmap
タイプ
object
Expand
プロパティータイプ説明

name

string

参照先の名前。このフィールドは実質的には必須ですが、下位互換性のため空でもかまいません。ここで空の値を持つこの型のインスタンスは、ほぼ間違いなく間違っています。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

2.1.47. .spec.ols.queryFilters

説明
クエリーフィルター
タイプ
array

2.1.48. .spec.ols.queryFilters[]

説明
QueryFiltersSpec は、質問/クエリーを操作するためのフィルターを定義します。
タイプ
object
Expand
プロパティータイプ説明

name

string

フィルター名。

pattern

string

フィルターパターン。

replaceWith

string

一致したパターンの置換。

2.1.49. .spec.ols.quotaHandlersConfig

説明
LLM トークンクォータの設定
タイプ
object
Expand
プロパティータイプ説明

enableTokenHistory

boolean

トークン履歴を有効にします。

limitersConfig

array

トークンクォータリミッター

2.1.50. .spec.ols.quotaHandlersConfig.limitersConfig

説明
トークンクォータリミッター
タイプ
array

2.1.51. .spec.ols.quotaHandlersConfig.limitersConfig[]

説明
LimiterConfig はトークンクォータリミッターの設定を定義します。
タイプ
object
必須
  • initialQuota
  • name
  • period
  • quotaIncrease
  • type
Expand
プロパティータイプ説明

initialQuota

integer

トークンクォータの初期値

name

string

リミッターの名前

period

string

トークンクォータの対象となる期間

quotaIncrease

integer

トークンクォータの増加ステップ

type

string

リミッターの種類

2.1.52. .spec.ols.rag

説明
RAG データベース
タイプ
array

2.1.53. .spec.ols.rag[]

説明
RAGSpec は、RAG データベースを取得する方法を定義します。
タイプ
object
必須
  • image
Expand
プロパティータイプ説明

image

string

RAG ソースとして使用するコンテナーイメージの URL

indexID

string

RAG データベースのインデックス ID

indexPath

string

コンテナーイメージ内の RAG データベースへのパス

2.1.54. .spec.ols.storage

説明
永続ストレージの設定
タイプ
object
Expand
プロパティータイプ説明

class

string

要求されるボリュームのストレージクラス

size

integer-or-string

要求されるボリュームのサイズ

2.1.55. .spec.ols.tlsConfig

説明
Lightspeed バックエンドの HTTPS エンドポイントの TLS 設定
タイプ
object
Expand
プロパティータイプ説明

keyCertSecretRef

object

KeySecretRef は TLS キーを保持するシークレットです。

2.1.56. .spec.ols.tlsConfig.keyCertSecretRef

説明
KeySecretRef は TLS キーを保持するシークレットです。
タイプ
object
Expand
プロパティータイプ説明

name

string

参照先の名前。このフィールドは実質的には必須ですが、下位互換性のため空でもかまいません。ここで空の値を持つこの型のインスタンスは、ほぼ間違いなく間違っています。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

2.1.57. .spec.ols.tlsSecurityProfile

説明
API エンドポイントで使用される TLS セキュリティープロファイル
タイプ
object
Expand
プロパティータイプ説明

custom

``

custom は、ユーザー定義の TLS セキュリティープロファイルです。無効な設定は壊滅的である可能性があるため、カスタムプロファイルの使用には細心の注意を払ってください。カスタムプロファイルの例は次のようになります。

暗号化:

- ECDHE-ECDSA-CHACHA20-POLY1305

- ECDHE-RSA-CHACHA20-POLY1305

- ECDHE-RSA-AES128-GCM-SHA256

- ECDHE-ECDSA-AES128-GCM-SHA256

minTLSVersion: VersionTLS11

intermediate

``

intermediate は、以下に基づく TLS セキュリティープロファイルです。

https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29

以下のようになります (yaml):

暗号化:

- TLS_AES_128_GCM_SHA256

- TLS_AES_256_GCM_SHA384

- TLS_CHACHA20_POLY1305_SHA256

- ECDHE-ECDSA-AES128-GCM-SHA256

- ECDHE-RSA-AES128-GCM-SHA256

- ECDHE-ECDSA-AES256-GCM-SHA384

- ECDHE-RSA-AES256-GCM-SHA384

- ECDHE-ECDSA-CHACHA20-POLY1305

- ECDHE-RSA-CHACHA20-POLY1305

- DHE-RSA-AES128-GCM-SHA256

- DHE-RSA-AES256-GCM-SHA384

minTLSVersion: VersionTLS12

modern

``

modern は、以下に基づく TLS セキュリティープロファイルです。

https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility

以下のようになります (yaml):

暗号化:

- TLS_AES_128_GCM_SHA256

- TLS_AES_256_GCM_SHA384

- TLS_CHACHA20_POLY1305_SHA256

minTLSVersion: VersionTLS13

old

``

old は、以下に基づく TLS セキュリティープロファイルです。

https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility

以下のようになります (yaml):

暗号化:

- TLS_AES_128_GCM_SHA256

- TLS_AES_256_GCM_SHA384

- TLS_CHACHA20_POLY1305_SHA256

- ECDHE-ECDSA-AES128-GCM-SHA256

- ECDHE-RSA-AES128-GCM-SHA256

- ECDHE-ECDSA-AES256-GCM-SHA384

- ECDHE-RSA-AES256-GCM-SHA384

- ECDHE-ECDSA-CHACHA20-POLY1305

- ECDHE-RSA-CHACHA20-POLY1305

- DHE-RSA-AES128-GCM-SHA256

- DHE-RSA-AES256-GCM-SHA384

- DHE-RSA-CHACHA20-POLY1305

- ECDHE-ECDSA-AES128-SHA256

- ECDHE-RSA-AES128-SHA256

- ECDHE-ECDSA-AES128-SHA

- ECDHE-RSA-AES128-SHA

- ECDHE-ECDSA-AES256-SHA384

- ECDHE-RSA-AES256-SHA384

- ECDHE-ECDSA-AES256-SHA

- ECDHE-RSA-AES256-SHA

- DHE-RSA-AES128-SHA256

- DHE-RSA-AES256-SHA256

- AES128-GCM-SHA256

- AES256-GCM-SHA384

- AES128-SHA256

- AES256-SHA256

- AES128-SHA

- AES256-SHA

- DES-CBC3-SHA

minTLSVersion: VersionTLS10

type

string

type は、Old、Intermediate、Modern、または Custom のいずれかです。カスタムは、個々の TLS セキュリティープロファイルパラメーターを指定する機能を提供します。Old、Intermediate、Modern は、以下に基づく TLS セキュリティープロファイルです。

https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations

プロファイルは意図に基づいているため、時間の経過とともに新しい暗号が開発され、既存の暗号が安全でないことが判明すると、変更される可能性があります。プロセスで使用できる暗号の種類に応じて、リストが短縮される可能性があります。

Modern プロファイルは、一般的なソフトウェアライブラリーでまだ十分に採用されていないため、現在サポートされていないことに注意してください。

2.1.58. .spec.ols.userDataCollection

説明
ユーザーデータ収集スイッチ
タイプ
object
Expand
プロパティータイプ説明

feedbackDisabled

boolean

 

transcriptsDisabled

boolean

 

2.1.59. .spec.olsDataCollector

説明
OLSDataCollectorSpec は、許可される OLS データコレクター設定を定義します。
タイプ
object
Expand
プロパティータイプ説明

logLevel

string

ログレベル。有効なオプションは、DEBUG、INFO、WARNING、ERROR、および CRITICAL です。デフォルト: "INFO".

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る