You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
apiVersion: v1 kind: Namespace metadata: name: metallb-system labels: app: metallb ---
apiVersion: v1 kind: ServiceAccount metadata: namespace: metallb-system name: controller labels: app: metallb --- apiVersion: v1 kind: ServiceAccount metadata: namespace: metallb-system name: speaker labels: app: metallb
--- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: metallb-system:controller labels: app: metallb rules: - apiGroups: [""] resources: ["services"] verbs: ["get", "list", "watch", "update"] - apiGroups: [""] resources: ["services/status"] verbs: ["update"] - apiGroups: [""] resources: ["events"] verbs: ["create", "patch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: metallb-system:speaker labels: app: metallb rules: - apiGroups: [""] resources: ["services", "endpoints", "nodes"] verbs: ["get", "list", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: namespace: metallb-system name: config-watcher labels: app: metallb rules: - apiGroups: [""] resources: ["configmaps"] verbs: ["get", "list", "watch"] - apiGroups: [""] resources: ["events"] verbs: ["create"] ---
## Role bindings apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: metallb-system:controller labels: app: metallb subjects: - kind: ServiceAccount name: controller namespace: metallb-system roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: metallb-system:controller --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: metallb-system:speaker labels: app: metallb subjects: - kind: ServiceAccount name: speaker namespace: metallb-system roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: metallb-system:speaker --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: namespace: metallb-system name: config-watcher labels: app: metallb subjects: - kind: ServiceAccount name: controller - kind: ServiceAccount name: speaker roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: config-watcher --- apiVersion: apps/v1beta2 kind: DaemonSet metadata: namespace: metallb-system name: speaker labels: app: metallb component: speaker spec: selector: matchLabels: app: metallb component: speaker template: metadata: labels: app: metallb component: speaker annotations: prometheus.io/scrape: "true" prometheus.io/port: "{{ metallb.port }}" spec: serviceAccountName: speaker terminationGracePeriodSeconds: 0 hostNetwork: true containers: - name: speaker image: metallb/speaker:{{ metallb.version }} imagePullPolicy: IfNotPresent args: - --port={{ metallb.port }} - --config=config env: - name: METALLB_NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName ports: - name: monitoring containerPort: {{ metallb.port }} resources: limits: cpu: {{ metallb.limits.cpu }} memory: {{ metallb.limits.memory }} securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities: drop: - all add: - net_raw
--- apiVersion: apps/v1beta2 kind: Deployment metadata: namespace: metallb-system name: controller labels: app: metallb component: controller spec: revisionHistoryLimit: 3 selector: matchLabels: app: metallb component: controller template: metadata: labels: app: metallb component: controller annotations: prometheus.io/scrape: "true" prometheus.io/port: "{{ metallb.port }}" spec: serviceAccountName: controller terminationGracePeriodSeconds: 0 securityContext: runAsNonRoot: true runAsUser: 65534 # nobody containers: - name: controller image: metallb/controller:{{ metallb.version }} imagePullPolicy: IfNotPresent args: - --port={{ metallb.port }} - --config=config ports: - name: monitoring containerPort: {{ metallb.port }} resources: limits: cpu: {{ metallb.limits.cpu }} memory: {{ metallb.limits.memory }} securityContext: allowPrivilegeEscalation: false capabilities: drop: - all readOnlyRootFilesystem: true
---
|