3.6.9 メトリクス向けKubernetesメタデータ付与用ロールおよびロールバインディングのKubernetesマニフェストの作成
次に示す要件を満たすように、メトリクス向けKubernetesメタデータ付与用ロールおよびロールバインディングのKubernetesマニフェストを作成してください。
このロールおよびロールバインディングを使用することで、MetricbeatコンテナがKubernetesメタデータ付与に必要なKubernetesオブジェクトにアクセスできるようにします。
メトリクス向けKubernetesメタデータ付与用ロールおよびロールバインディングのKubernetesマニフェストの作成要領を次に示します。
<ロールの作成要領>
-
リソースの種類(.kindフィールド)は、ClusterRoleリソースを指定してください。
-
ロールの名称(.metadata.nameフィールド)に、ユーザ任意の名称を指定してください。
-
ロールのルール(.rulesフィールド)に、次のとおり指定してください。
APIグループ(apiGroups)
リソース(resources)
アクセス許可(verbs)
空(コアグループ)
pods、nodes、namespaces、events
get、watch、list
<ロールバインディングの作成要領>
-
リソースの種類(.kindフィールド)は、ClusterRoleBindingリソースを指定してください。
-
ロールバインディングの名称(.metadata.nameフィールド)に、ユーザ任意の名称を指定してください。
-
バインドするロール(.roleRefフィールド)は、次のとおりとしてください。
-
.roleRef.apiGroupフィールドに、「rbac.authorization.k8s.io」を指定してください。
-
.roleRef.kindフィールドに、「ClusterRole」を指定してください。
-
.roleRef.nameフィールドに、前述のロールで指定したロールの名称を指定してください。
-
-
バインドする対象物(.subjectsフィールド)は、次のとおりとしてください。
-
リストの要素数は1つにします。
-
.subjects[].kindフィールドに、「ServiceAccount」を指定してください。
-
.subjects[].nameフィールドは、「metricbeat-service-account」を指定してください。
-
.subjects[].namespaceフィールドに、MetricbeatのServiceAccountリソースの.metadata.namespaceで指定した値を指定してください。
-
メトリクス向けKubernetesメタデータ付与用ロールおよびロールバインディングのKubernetesマニフェストの記述例を示します。
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: metricbeat-role rules: - apiGroups: - "" resources: - pods - nodes - namespaces - events verbs: - get - watch - list --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: metricbeat-role-binding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: metricbeat-role subjects: - kind: ServiceAccount name: metricbeat-service-account namespace: my-namespace