Forráskód Böngészése

split deployment manifests, add kustomization options

Grega Bremec 2 éve
szülő
commit
50ed32a628

+ 3 - 3
deployment/exporter/base/daemonset.yml

@@ -4,7 +4,7 @@ metadata:
   name: metrics
   namespace: exporter
   labels:
-    app: metrics
+    app: metrics-exporter
   # Apparently ICT don't work on daemonsets, although docs say they should.
   #annotations:
   #  image.openshift.io/triggers: '[{"from":{"kind":"ImageStreamTag","name":"collector-sysstat:latest"},"fieldPath":"spec.template.spec.containers[?(@.name==\"collector-sysstat\")].image"},{"from":{"kind":"ImageStreamTag","name":"collector-psacct:latest"},"fieldPath":"spec.template.spec.containers[?(@.name==\"collector-psacct\")].image"},{"from":{"kind":"ImageStreamTag","name":"metrics-exporter:latest"},"fieldPath":"spec.template.spec.containers[?(@.name==\"metrics-exporter\")].image"}]'
@@ -12,7 +12,7 @@ spec:
   minReadySeconds: 15
   selector:
     matchLabels:
-      app: metrics
+      app: metrics-exporter
       type: daemonset
       project: exporter
   updateStrategy:
@@ -24,7 +24,7 @@ spec:
   template:
     metadata:
       labels:
-        app: metrics
+        app: metrics-exporter
         type: daemonset
         project: exporter
     spec:

+ 2 - 0
deployment/exporter/base/is-collector-psacct.yml

@@ -1,3 +1,5 @@
+# Rot. ICT don't work with DaemonSets.
+# This file is useless now. Foo.
 apiVersion: image.openshift.io/v1
 kind: ImageStream
 metadata:

+ 2 - 0
deployment/exporter/base/is-collector-sysstat.yml

@@ -1,3 +1,5 @@
+# Rot. ICT don't work with DaemonSets.
+# This file is useless now. Foo.
 apiVersion: image.openshift.io/v1
 kind: ImageStream
 metadata:

+ 2 - 0
deployment/exporter/base/is-metrics-exporter.yml

@@ -1,3 +1,5 @@
+# Rot. ICT don't work with DaemonSets.
+# This file is useless now. Foo.
 apiVersion: image.openshift.io/v1
 kind: ImageStream
 metadata:

+ 0 - 2
deployment/exporter/base/kustomization.yml

@@ -4,8 +4,6 @@ resources:
   - namespace.yml
   - serviceaccount.yml
   - privileged-clusterrolebinding.yml
-  - prometheus-role.yml
-  - prometheus-rolebinding.yml
   - daemonset.yml
 # Rot. ICT don't work with DaemonSets.
 #  - is-collector-sysstat.yml

+ 2 - 0
deployment/exporter/base/namespace.yml

@@ -2,3 +2,5 @@ apiVersion: v1
 kind: Namespace
 metadata:
   name: exporter
+  labels:
+    app: metrics-exporter

+ 2 - 0
deployment/exporter/base/privileged-clusterrolebinding.yml

@@ -2,6 +2,8 @@ apiVersion: rbac.authorization.k8s.io/v1
 kind: ClusterRoleBinding
 metadata:
   name: metrics-exporter-serviceaccount
+  labels:
+    app: metrics-exporter
 roleRef:
   apiGroup: rbac.authorization.k8s.io
   kind: ClusterRole

+ 2 - 0
deployment/exporter/base/serviceaccount.yml

@@ -3,3 +3,5 @@ kind: ServiceAccount
 metadata:
   name: exporter
   namespace: exporter
+  labels:
+    app: metrics-exporter

+ 7 - 0
deployment/exporter/overlays/custom/kustomization.yml

@@ -0,0 +1,7 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+resources:
+  - ../../base/
+transformers:
+  # Use a custom project for all the components.
+  - use-custom-namespace.yml

+ 8 - 0
deployment/exporter/overlays/custom/use-custom-namespace.yml

@@ -0,0 +1,8 @@
+apiVersion: builtin
+kind: NamespaceTransformer
+metadata:
+  namespace: my-very-own-namespace
+setRoleBindingSubjects: allServiceAccounts
+fieldSpecs:
+  - path: metadata/name
+    kind: Namespace

+ 6 - 0
deployment/integrate/base/kustomization.yml

@@ -0,0 +1,6 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+resources:
+  - prometheus-role.yml
+  - prometheus-rolebinding.yml
+  - podmonitor.yml

+ 2 - 0
deployment/exporter/base/podmonitor.yml → deployment/integrate/base/podmonitor.yml

@@ -3,6 +3,8 @@ kind: PodMonitor
 metadata:
   name: exporter-monitor
   namespace: prometheus
+  labels:
+    app: metrics-exporter
 spec:
   namespaceSelector:
     matchNames:

+ 2 - 2
deployment/exporter/base/prometheus-role.yml → deployment/integrate/base/prometheus-role.yml

@@ -3,13 +3,13 @@ kind: Role
 metadata:
   name: prometheus-scrape
   namespace: exporter
+  labels:
+    app: metrics-exporter
 rules:
 - apiGroups:
   - ""
   resources:
   - pods
-  - services
-  - endpoints
   verbs:
   - get
   - list

+ 2 - 0
deployment/exporter/base/prometheus-rolebinding.yml → deployment/integrate/base/prometheus-rolebinding.yml

@@ -3,6 +3,8 @@ kind: RoleBinding
 metadata:
   name: prometheus-scrape
   namespace: exporter
+  labels:
+    app: metrics-exporter
 roleRef:
   apiGroup: rbac.authorization.k8s.io
   kind: Role

+ 7 - 0
deployment/operators/base/kustomization.yml

@@ -0,0 +1,7 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+resources:
+  - namespace.yml
+  - operatorgroup.yml
+  - sub-prometheus.yml
+  - sub-grafana.yml

+ 4 - 0
deployment/operators/base/namespace.yml

@@ -0,0 +1,4 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: prometheus

+ 0 - 0
deployment/prometheus/base/operatorgroup.yml → deployment/operators/base/operatorgroup.yml


+ 0 - 0
deployment/prometheus/base/sub-grafana.yml → deployment/operators/base/sub-grafana.yml


+ 0 - 0
deployment/prometheus/base/sub-prometheus.yml → deployment/operators/base/sub-prometheus.yml


+ 0 - 3
deployment/prometheus/base/kustomization.yml

@@ -2,9 +2,6 @@ apiVersion: kustomize.config.k8s.io/v1beta1
 kind: Kustomization
 resources:
   - namespace.yml
-  - operatorgroup.yml
-  - sub-prometheus.yml
-  - sub-grafana.yml
   - prometheus.yml
   - grafana.yml
   - grafana-ds.yml