Hitachi

Hitachi Microservices Platform - Paxos Commit Transaction Orchestrator ユーザーズガイド


3.4.6 デプロイ依存関係チェック機能用ロールおよびロールバインディングのKubernetesマニフェストの作成

次に示す要件を満たすように、デプロイ依存関係チェック機能用ロールおよびロールバインディングのKubernetesマニフェストを作成してください。この作業は、次のどちらかのKubernetesアプリケーションのKubernetesマニフェスト作成時に実施します。

このロールおよびロールバインディングを使用することで、各KubernetesアプリケーションのDependency-Checkerコンテナがデプロイ依存関係チェック機能に必要なKubernetesオブジェクトにアクセスできるようにします。

デプロイ依存関係チェック機能用ロールおよびロールバインディングのKubernetesマニフェストの作成要領を次に示します。

<ロールの作成要領>

<ロールバインディングの作成要領>

デプロイ依存関係チェック機能用ロールおよびロールバインディングのKubernetesマニフェストの記述例を次に示します。

■Dependency-Checkerコンテナを含むKubernetesアプリケーションとDependency-Checkerコンテナで指定するターゲットKubernetesオブジェクト群1のNamespaceがすべて同一の場合

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: dependency-checker-role
  namespace: my-namespace
rules:
- apiGroups:
  - ""
  - apps
  resources:
  - pods
  - replicasets
  - deployments
  - statefulsets
  - daemonsets
  verbs:
  - get
  - list
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: dependency-checker-role-binding
  namespace: my-namespace
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: dependency-checker-role
subjects:
- kind: ServiceAccount
  name: orchestrator-service-account
  namespace: my-namespace
- kind: ServiceAccount
  name: entity-service-service-account
  namespace: my-namespace
- kind: ServiceAccount
  name: sql-participant-service-account※2
  namespace: my-namespace 
- kind: ServiceAccount
  name: mediator-service-account
  namespace: my-namespace
- kind: ServiceAccount
  name: filebeat-service-account
  namespace: my-namespace
- kind: ServiceAccount
  name: jaeger-query-service-account
  namespace: my-namespace
- kind: ServiceAccount
  name: jaeger-collector-service-account
  namespace: my-namespace
- kind: ServiceAccount
  name: prometheus-service-account
  namespace: my-namespace
- kind: ServiceAccount
  name: metricbeat-service-account
  namespace: my-namespace
- kind: ServiceAccount
  name: logstash-service-account
  namespace: my-namespace
注※1

Dependency-Checkerコンテナで指定するターゲットKubernetesオブジェクト群については、「5.4 各Kubernetesアプリケーションの作成要件」を参照してください。

注※2

SQL-Participantを使用する場合の例を記述しています。TCC-Participantを使用する場合は次の記述に置き換えてください。

name: tcc-participant-service-account

■Dependency-Checkerコンテナを含むKubernetesアプリケーションとDependency-Checkerコンテナで指定するターゲットKubernetesオブジェクト群1のNamespaceが1つでも異なる場合

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: dependency-checker-role
rules:
- apiGroups:
  - ""
  - apps
  resources:
  - pods
  - replicasets
  - deployments
  - statefulsets
  - daemonsets
  verbs:
  - get
  - list
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: dependency-checker-role-binding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: dependency-checker-role
subjects:
- kind: ServiceAccount
  name: orchestrator-service-account
  namespace: my-namespace
- kind: ServiceAccount
  name: entity-service-service-account
  namespace: my-namespace
- kind: ServiceAccount
  name: sql-participant-service-account※2
  namespace: my-namespace
- kind: ServiceAccount
  name: mediator-service-account
  namespace: my-namespace
- kind: ServiceAccount
  name: filebeat-service-account
  namespace: my-namespace
- kind: ServiceAccount
  name: jaeger-query-service-account
  namespace: my-namespace
- kind: ServiceAccount
  name: jaeger-collector-service-account
  namespace: my-namespace
- kind: ServiceAccount
  name: prometheus-service-account
  namespace: my-namespace
- kind: ServiceAccount
  name: metricbeat-service-account
  namespace: my-namespace
- kind: ServiceAccount
  name: logstash-service-account
  namespace: my-namespace
注※1

Dependency-Checkerコンテナで指定するターゲットKubernetesオブジェクト群については、「5.4 各Kubernetesアプリケーションの作成要件」を参照してください。

注※2

SQL-Participantを使用する場合の例を記述しています。TCC-Participantを使用する場合は次の記述に置き換えてください。

name: tcc-participant-service-account