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