apiVersion: v1 kind: ServiceAccount metadata: name: eventrouter namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRole metadata: name: eventrouter rules: - apiGroups: [""] resources: ["events"] verbs: ["get", "watch", "list"] --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: eventrouter roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: eventrouter subjects: - kind: ServiceAccount name: eventrouter namespace: kube-system --- apiVersion: v1 data: config.json: |- { "sink": "stdout" } kind: ConfigMap metadata: name: eventrouter-cm namespace: kube-system --- apiVersion: apps/v1 kind: Deployment metadata: name: eventrouter namespace: kube-system labels: app: eventrouter spec: replicas: 1 selector: matchLabels: app: eventrouter template: metadata: labels: app: eventrouter tier: control-plane-addons spec: containers: - name: kube-eventrouter image: gcr.io/heptio-images/eventrouter:latest imagePullPolicy: IfNotPresent volumeMounts: - name: config-volume mountPath: /etc/eventrouter serviceAccount: eventrouter volumes: - name: config-volume configMap: name: eventrouter-cm