第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 にデフォルトで作成されますが、初期の状態は managementState
がRemoved
になります。サービスカタログをインストールするには、それらのリソースの managementState
を Managed
に変更する必要があります。
手順
サービスカタログ API サーバーを有効にします。
以下のコマンドを使用して、サービスカタログ API サーバーリソースを編集します。
$ oc edit servicecatalogapiservers
spec
の下で、managementState
フィールドをManaged
に設定します。spec: logLevel: Normal managementState: Managed
変更を適用するためにファイルを保存します。
Operator はサービスカタログ API サーバーコンポーネントをインストールします。OpenShift Container Platform 4 の時点では、このコンポーネントは
openshift-service-catalog-apiserver
namespace にインストールされます。
サービスカタログコントローラーマネージャーを有効にします。
以下のコマンドを使用して、サービスカタログコントローラーマネージャーのリソースを編集します。
$ oc edit servicecatalogcontrollermanagers
spec
の下で、managementState
フィールドをManaged
に設定します。spec: logLevel: Normal managementState: Managed
変更を適用するためにファイルを保存します。
Operator はサービスカタログコントローラーマネージャーをインストールします。OpenShift Container Platform 4 の時点で、このコンポーネントは
openshift-service-catalog-controller-manager
namespace にインストールされます。
4.1.3. サービスカタログのインストール
サービスカタログをアンインストールするには、サービスカタログの API サーバーの managementState
を変更し、コントローラーマネージャーのリソース Managed
から Removed
に変更する必要があります。
手順
サービスカタログ API サーバーを無効にします。
以下のコマンドを使用して、サービスカタログ API サーバーリソースを編集します。
$ oc edit servicecatalogapiservers
spec
の下で、managementState
フィールドをRemoved
に設定します。spec: logLevel: Normal managementState: Removed
- 変更を適用するためにファイルを保存します。
サービスカタログコントローラーマネージャーを無効にします。
以下のコマンドを使用して、サービスカタログコントローラーマネージャーのリソースを編集します。
$ oc edit servicecatalogcontrollermanagers
spec
の下で、managementState
フィールドをRemoved
に設定します。spec: logLevel: Normal managementState: Removed
- 変更を適用するためにファイルを保存します。
サービスカタログを無効にした後に削除しようとする際に、プロジェクトが「Terminatin」状態になることに関連する既知の問題があります。回避策については、『OpenShift Container Platform 4.1 Release Notes』を参照してください。(BZ#1746174)