2.9. アドレス空間情報をアプリケーション名前空間にエクスポートする例

このアドレス空間の例は、AddressSpace リソースのエンドポイント情報を、メッセージングアプリケーションと同じ名前空間の ConfigMapSecret、または Service にエクスポートする方法を示しています。

apiVersion: enmasse.io/v1beta1
kind: AddressSpace
metadata:
  name: myspace
spec:
  type: standard
  plan: standard-unlimited
  authenticationService:
    name: standard-authservice
  endpoints:
  - name: messaging
    service: messaging
    exports:
    - kind: ConfigMap 1
      name: my-config 2
1
(必須) エクスポートのタイプ: ConfigMapSecret、または Service。結果として得られる ConfigMap には、exports format の例 に示されている形式の値が含まれます。Secret の場合、同じキーが使用されますが、値は base64 でエンコードされます。Service の場合、タイプ ExternalName の OpenShift サービスが作成されます。これにより、OpenShift で実行されているアプリケーションに、エンドポイント情報を注入したり、アプリケーションと同じ namespace でプロキシーサービスを提供したりできるようになります。詳細は エクスポート形式の例 を参照してください。
2
(必須) 作成および更新するリソースの名前。

エンドポイント情報をエクスポートする場合、system:serviceaccounts:_amq-online-infra_ グループには、エクスポートリストで指定された configmap を作成、更新、および削除する権限が付与されている必要があります。これには、次のような RBAC ロールとロールバインディングを作成します。

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: rbac
rules:
  - apiGroups: [ "" ]
    resources: [ "configmaps" ]
    verbs: [ "create" ]
  - apiGroups: [ "" ]
    resources: [ "configmaps" ]
    resourceNames: [ "my-config" ]
    verbs: [ "get", "update", "patch" ]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: rbac-binding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: rbac
subjects:
- kind: Group
  name: system:serviceaccounts:_amq-online-infra_