Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

第4章 サービスブローカー

4.1. サービスカタログのインストール

重要

サービスカタログは OpenShift Container Platform 4 では非推奨になっています。同等または強化された機能は Operator Framework および Operator Lifecycle Manager (OLM) で提供されます。

4.1.1. サービスカタログについて

マイクロサービスベースのアプリケーションを開発して、クラウドネイティブのプラットフォームで実行する場合には、サービスプロバイダーやプラットフォームに合わせて、異なるリソースをプロビジョニングし、その位置情報 (coordinate)、認証情報および設定を共有する数多くの方法を利用できます。

開発者がよりシームレスに作業できるように、OpenShift Container Platform には Kubernetes 向けの Open Service Broker API (OSB API) の実装である サービスカタログ が含まれています。これにより、OpenShift Container Platform にデプロイされているアプリケーションをさまざまな種類のサービスブローカーに接続できます。

サービスカタログでは、クラスター管理者が 1 つの API 仕様を使用して、複数のプラットフォームを統合できます。OpenShift Container Platform Web コンソールは、サービスカタログにサービスブローカーによって提供されるクラスターサービスカタログを表示するので、ユーザーはこれらのサービスをそれぞれのアプリケーションで使用できるようにサービスの検出やインスタンス化を実行できます。

結果として、サービスのユーザーは異なるプロバイダーが提供する異なるタイプのサービスを簡単かつ一貫して使用できるという利点が得られます。また、サービスプロバイダーは、複数のプラットフォームにアクセスできる統合ポイントという利点を得られます。

サービスカタログは、OpenShift Container Platform 4 ではデフォルトでインストールされません。

4.1.2. サービスカタログのインストール

OpenShift Ansible Broker またはテンプレートサービスブローカーからサービスを使用することを計画する場合、以下の手順を実行してサービスカタログをインストールする必要があります。

サービスカタログの API サーバーおよびコントローラーマネージャーのカスタムリソースは OpenShift Container Platform にデフォルトで作成されますが、初期の状態は managementStateRemoved になります。サービスカタログをインストールするには、それらのリソースの managementStateManaged に変更する必要があります。

手順

  1. サービスカタログ API サーバーを有効にします。

    1. 以下のコマンドを使用して、サービスカタログ API サーバーリソースを編集します。

      $ oc edit servicecatalogapiservers
    2. spec の下で、managementState フィールドを Managed に設定します。

      spec:
        logLevel: Normal
        managementState: Managed
    3. 変更を適用するためにファイルを保存します。

      Operator はサービスカタログ API サーバーコンポーネントをインストールします。OpenShift Container Platform 4 の時点では、このコンポーネントは openshift-service-catalog-apiserver namespace にインストールされます。

  2. サービスカタログコントローラーマネージャーを有効にします。

    1. 以下のコマンドを使用して、サービスカタログコントローラーマネージャーのリソースを編集します。

      $ oc edit servicecatalogcontrollermanagers
    2. spec の下で、managementState フィールドを Managed に設定します。

      spec:
        logLevel: Normal
        managementState: Managed
    3. 変更を適用するためにファイルを保存します。

      Operator はサービスカタログコントローラーマネージャーをインストールします。OpenShift Container Platform 4 の時点で、このコンポーネントは openshift-service-catalog-controller-manager namespace にインストールされます。

4.1.3. サービスカタログのインストール

サービスカタログをアンインストールするには、サービスカタログの API サーバーの managementState を変更し、コントローラーマネージャーのリソース Managed から Removed に変更する必要があります。

手順

  1. サービスカタログ API サーバーを無効にします。

    1. 以下のコマンドを使用して、サービスカタログ API サーバーリソースを編集します。

      $ oc edit servicecatalogapiservers
    2. spec の下で、managementState フィールドを Removed に設定します。

      spec:
        logLevel: Normal
        managementState: Removed
    3. 変更を適用するためにファイルを保存します。
  2. サービスカタログコントローラーマネージャーを無効にします。

    1. 以下のコマンドを使用して、サービスカタログコントローラーマネージャーのリソースを編集します。

      $ oc edit servicecatalogcontrollermanagers
    2. spec の下で、managementState フィールドを Removed に設定します。

      spec:
        logLevel: Normal
        managementState: Removed
    3. 変更を適用するためにファイルを保存します。
重要

サービスカタログを無効にした後に削除しようとする際に、プロジェクトが「Terminatin」状態になることに関連する既知の問題があります。回避策については、『OpenShift Container Platform 4.1 Release Notes』を参照してください。(BZ#1746174)