3.6. OpenShift Ansible Broker の設定

重要

OpenShift Ansible Broker は OpenShift Container Platform 4 では非推奨になっています。同等または強化された機能は Operator Framework および Operator Lifecycle Manager (OLM) で提供されます。

3.6.1. OpenShift Ansible Broker の設定

以下の手順では、OpenShift Ansible Broker の設定をカスタマイズします。

前提条件

  • OpenShift Ansible Broker がインストールされていること。

手順

この手順では、ansible-service-broker を OpenShift Ansible Broker 名前とインストール先のプロジェクトの両方に使用していることを前提とします。

  1. Web コンソールで OperatorsInstalled Operators に移動し、ansible-service-broker プロジェクトを選択します。
  2. OpenShift Ansible Service Broker Operator を選択します。
  3. Automation Broker タブで、ansible-service-broker を選択します。
  4. YAML タブの spec フィールドの下で OpenShift Ansible Broker 設定オプションを追加するか、または更新します。

    以下は例になります。

    spec:
      keepNamespace: true
      sandboxRole: edit
  5. Save をクリックして変更を適用します。

3.6.1.1. OpenShift Ansible Broker 設定オプション

OpenShift Ansible Broker の以下のオプションを設定できます。

表3.2 OpenShift Ansible Broker 設定オプション

YAML キー説明デフォルト値

brokerName

Broker インスタンスを特定するために使用される名前。

ansible-service-broker

brokerNamespace

Broker が置かれている namespace。

openshift-ansible-service-broker

brokerImage

Broker に使用されている完全修飾イメージ。

docker.io/ansibleplaybookbundle/origin-ansible-service-broker:v4.0

brokerImagePullPolicy

Broker イメージ自体に使用されるプルポリシー。

IfNotPresent

brokerNodeSelector

Broker のデプロイメントに使用されるノードセレクター文字列。

''

registries

Broker レジストリー設定の yaml 一覧として表現される。これにより、ユーザーは Broker が検出し、APB の取得に使用するイメージレジストリーを設定できます。

デフォルトレジストリー配列を参照してください。

logLevel

Broker のログに使用されるログレベル。

info

apbPullPolicy

APB Pod に使用されるプルポリシー。

IfNotPresent

sandboxRole

APB を実行するために使用されるサービスアカウントに付与されるロール。

edit

keepNamespace

APB の完了後に APB を実行するために作成された一時 namespace が削除されたかどうか (結果の如何は問わない)。

false

keepNamespaceOnError

結果がエラーの場合のみ、APB の完了後に APB を実行するために作成された一時 namespace が削除されたかどうか。

false

bootstrapOnStartup

Broker が起動時にブートストラップルーチンを実行する必要があるかどうか。

true

refreshInterval

APB のインベントリーを更新する Broker ブートストラップ間の間隔。

600s

launchApbOnBind

Experimental: バインド操作時に APB を実行する Broker を切り替えます。

false

autoEscalate

APB の実行中に、Broker がユーザーのパーミッションをエスカレートするかどうか。これは、Broker が起点となるユーザー承認を実行してユーザーが APB サンドボックスに付与されたパーミッションを持つようにするため、通常は false のままになります。

false

outputRequest

Broker が受信する低レベル HTTP 要求を出力するかどうか。

false

registries のデフォルト配列

- type: rhcc
  name: rhcc
  url: https://registry.redhat.io
  white_list:
  - ".*-apb$"
  auth_type: secret
  auth_name: asb-registry-auth

3.6.2. OpenShift Ansible Broker のモニタリング設定

Prometheus が OpenShift Ansible Broker をモニターできるようにするには、以下のリソースを作成して、OpenShift Ansible Broker がインストールされている namespace にアクセスできるように Prometheus にパーミッションを付与する必要があります。

前提条件

  • OpenShift Ansible Broker がインストールされていること。

    注記

    この手順では、OpenShift Ansible Broker が openshift-ansible-service-broker namespace にインストールされていることを前提とします。

手順

  1. ロールを作成します。

    1. AdministrationRoles に移動し、Create Role をクリックします。
    2. エディターで YAML を以下に置き換えます。

      apiVersion: rbac.authorization.k8s.io/v1
      kind: Role
      metadata:
        name: prometheus-k8s
        namespace: openshift-ansible-service-broker
      rules:
      - apiGroups:
        - ""
        resources:
        - services
        - endpoints
        - pods
        verbs:
        - get
        - list
        - watch
    3. Create をクリックします。
  2. ロールバインディングを作成します。

    1. AdministrationRole Bindings に移動し、Create Binding をクリックします。
    2. Binding Type について、Namespace Role Binding (RoleBinding) を選択します。
    3. Role Binding について、prometheus-k8sName フィールドに、openshift-ansible-service-brokerNamespace フィールドに入力します。
    4. Role について、prometheus-k8s を選択します。
    5. Subject について、Service Account オプションを選択し、openshift-monitoring namespace を選択してから prometheus-k8sSubject Name フィールドに入力します。
    6. Create をクリックします。

Prometheus は OpenShift Ansible Broker メトリクスにアクセスできるようになります。