8.5. OpenShift AI コンポーネントでの自己署名証明書の使用


一部の OpenShift AI コンポーネントには、自己署名証明書用の追加オプションまたは必要な設定があります。

8.5.1. 自己署名証明書を使用した S3 互換オブジェクトストレージへのアクセス

自己署名証明書を使用する OpenShift クラスター内にデプロイされたオブジェクトストレージソリューションまたはデータベースに OpenShift AI コンポーネントを安全に接続するには、認証局 (CA) 証明書を提供する必要があります。各 namespace には、kube-root-ca.crt という名前の ConfigMap が含まれており、ここには内部 API サーバーの CA 証明書が含まれています。

前提条件

  • OpenShift クラスターのクラスター管理者権限を持っている。
  • OpenShift コマンドラインインターフェイス (CLI) がインストールされている。OpenShift CLI のインストール を参照してください。
  • OpenShift クラスターにオブジェクトストレージソリューションまたはデータベースをデプロイした。

手順

  1. ターミナルウィンドウで、次の例に示すように OpenShift CLI にログインします。

    oc login api.<cluster_name>.<cluster_domain>:6443 --web
    Copy to Clipboard Toggle word wrap
  2. 現在の OpenShift AI の信頼済み CA 設定を取得し、新しいファイルに保存します。

    oc get dscinitializations.dscinitialization.opendatahub.io default-dsci -o json | jq -r '.spec.trustedCABundle.customCABundle' > /tmp/my-custom-ca-bundles.crt
    Copy to Clipboard Toggle word wrap
  3. クラスターの kube-root-ca.crt ConfigMap を、OpenShift AI の信頼された CA 設定に追加します。

    oc get configmap kube-root-ca.crt -o jsonpath="{['data']['ca\.crt']}" >> /tmp/my-custom-ca-bundles.crt
    Copy to Clipboard Toggle word wrap
  4. kube-root-ca.crt 内の認証局が発行した証明書を信頼するように、OpenShift AI の信頼された CA 設定を更新します。

    oc patch dscinitialization default-dsci --type='json' -p='[{"op":"replace","path":"/spec/trustedCABundle/customCABundle","value":"'"$(awk '{printf "%s\\n", $0}' /tmp/my-custom-ca-bundles.crt)"'"}]'
    Copy to Clipboard Toggle word wrap

検証

  • OpenShift クラスターにデプロイされたオブジェクトストレージソリューションまたはデータベースを使用するように設定されたコンポーネントを正常にデプロイできます。たとえば、クラスターにデプロイされたデータベースを使用するように設定されたパイプラインサーバーが正常に起動します。
注記

OpenShift AI チュートリアル - 不正検出例 の手順に従って、新しい証明書の設定を確認できます。スクリプトを実行してローカルオブジェクトストレージバケットをインストールし、接続を作成してから、データサイエンスパイプラインを有効にします。

スクリプトを実行してローカルオブジェクトストレージバケットをインストールする方法の詳細は、スクリプトを実行してローカルオブジェクトストレージバケットをインストールし、接続を作成する を参照してください。

データサイエンスパイプラインの有効化に関する詳細は、データサイエンスパイプラインの有効化 を参照してください。

8.5.2. データサイエンスパイプラインの証明書の設定

デフォルトでは、OpenShift AI には OpenShift クラスター全体の証明書が odh-trusted-ca-bundle ConfigMap に含まれています。これらのクラスター全体の証明書は、ワークベンチやモデルサーバーなどのほとんどのコンポーネントをカバーします。ただし、パイプラインサーバーは、特に自己署名証明書またはカスタム証明書を使用する外部システムと対話する場合、追加の認証局 (CA) 設定が必要になる可能性があります。

データサイエンスパイプラインの証明書の追加方法には、次のオプションがあります。

前提条件

  • Red Hat OpenShift AI がインストールされている OpenShift クラスターに対するクラスター管理者アクセス権がある。
  • 自己署名証明書を作成し、証明書をファイルに保存した。たとえば、OpenSSL を使用して証明書を作成し、example-ca.crt という名前のファイルに保存したとします。
  • データサイエンスパイプラインサーバーを設定した。

手順

  1. OpenShift コンソールにログインします。
  2. Workloads ConfigMaps から、ターゲットデータサイエンスパイプラインと同じデータサイエンスプロジェクトに必要なバンドルを含む ConfigMap を作成します。

    kind: ConfigMap
    apiVersion: v1
    metadata:
        name: custom-ca-bundle
    data:
        ca-bundle.crt: |
        # contents of ca-bundle.crt
    Copy to Clipboard Toggle word wrap
  3. 次のスニペットを、基盤となるデータサイエンスパイプラインアプリケーション (DSPA) の .spec.apiserver.caBundle フィールドに追加します。

    apiVersion: datasciencepipelinesapplications.opendatahub.io/v1
    kind: DataSciencePipelinesApplication
    metadata:
        name: data-science-dspa
    spec:
        ...
        apiServer:
        ...
        cABundle:
            configMapName: custom-ca-bundle
            configMapKey: ca-bundle.crt
    Copy to Clipboard Toggle word wrap
  4. ConfigMap を保存します。パイプラインサーバー Pod は、更新されたバンドルを使用して自動的に再デプロイされます。

検証

CA バンドルが正常にマウントされたことを確認します。

  1. OpenShift コンソールにログインします。
  2. 対象のデータサイエンスパイプラインがあるデータサイエンスプロジェクトに移動します。
  3. Pods タブをクリックします。
  4. ds-pipeline-dspa-<hash> の接頭辞を持つパイプラインサーバー Pod をクリックします。
  5. Terminal をクリックします。
  6. cat/dsp-custom-certs/dsp-ca.crt と入力します。
  7. CA バンドルがこのファイル内に存在することを確認します。

8.5.3. ワークベンチの証明書の設定

重要

デフォルトでは、自己署名証明書は、クラスター全体の証明書を設定した後に作成するワークベンチに適用されます。既存のワークベンチにクラスター全体の証明書を適用するには、ワークベンチを停止してから再起動します。

自己署名証明書は /etc/pki/tls/custom-certs/ca-bundle.crt に保存されます。ワークベンチは、多くの一般的な HTTP クライアントパッケージが証明書に指定する事前設定された環境変数を使用します。デフォルトで含まれていないパッケージの場合は、この証明書パスを指定できます。たとえば、kfp パッケージがデータサイエンスパイプラインサーバーに接続する場合は、次のようにします。

from kfp.client import Client

with open(sa_token_file_path, 'r') as token_file:
    bearer_token = token_file.read()

    client = Client(
        host='https://<GO_TO_ROUTER_OF_DS_PROJECT>/',
        existing_token=bearer_token,
        ssl_ca_cert='/etc/pki/tls/custom-certs/ca-bundle.crt'
    )
    print(client.list_experiments())
Copy to Clipboard Toggle word wrap

デフォルトでは、OpenShift AI のシングルモデルサービングプラットフォームは、サーバーのデプロイ時に作成されるエンドポイントのインストール時に生成される自己署名証明書を使用します。

OpenShift クラスターでクラスター全体の証明書を設定している場合は、ルートのエンドポイントなど、他のタイプのエンドポイントにデフォルトで使用されます。

次の手順では、OpenShift クラスターにすでにある証明書と同じ証明書を使用する方法を説明します。

前提条件

手順

  1. OpenShift コンソールにログインします。
  2. プロジェクトのリストから、openshift-ingress プロジェクトを開きます。
  3. YAML をクリックします。
  4. "cert" を検索して、名前に "cert" が含まれるシークレットを見つけます。たとえば、rhods-internal-primary-cert-bundle-secret などです。シークレットの内容には、すべての OpenShift ルートに使用される 2 つの項目、tls.cert (証明書) と tls.key (キー) が含まれている必要があります。
  5. シークレットへの参照をコピーします。
  6. プロジェクトリストから、istio-system プロジェクトを開きます。
  7. YAML ファイルを作成し、openshift-ingress YAML ファイルからコピーしたシークレットへの参照を貼り付けます。
  8. 次の例に示すように、関連する内容のみを保持するように YAML コードを編集します。rhods-internal-primary-cert-bundle-secret は、シークレットの名前に置き換えます。

    kind: Secret
    apiVersion: v1
    metadata:
    name: rhods-internal-primary-cert-bundle-secret
    data:
    tls.crt: >-
        LS0tLS1CRUd...
    tls.key: >-
        LS0tLS1CRUd...
    type: kubernetes.io/tls
    Copy to Clipboard Toggle word wrap
  9. YAML ファイルを istio-system プロジェクトに保存します。
  10. Operators Installed Operators Red Hat OpenShift AI に移動します。
  11. Data Science Cluster* をクリックし、default-dsc YAML をクリックします。
  12. 次の例に示すように、シークレットを参照するように kserve 設定セクションを編集します。rhods-internal-primary-cert-bundle-secret は、手順 8 で作成したシークレットの名前に置き換えます。

    kserve:
    devFlags: {}
    managementState: Managed
    serving:
        ingressGateway:
        certificate:
            secretName: rhods-internal-primary-cert-bundle-secret
            type: Provided
        managementState: Managed
        name: knative-serving
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る