From 258cee04ca182f4a8119406293fbd0189b39dc5d Mon Sep 17 00:00:00 2001 From: laverya Date: Wed, 20 Dec 2023 17:55:19 +0000 Subject: [PATCH] Create new Goldpinger version --- addons/goldpinger/3.9.0-6.1.2/Manifest | 1 + addons/goldpinger/3.9.0-6.1.2/goldpinger.yaml | 160 ++++++++++++++++++ addons/goldpinger/3.9.0-6.1.2/install.sh | 35 ++++ .../goldpinger/3.9.0-6.1.2/kustomization.yaml | 5 + .../3.9.0-6.1.2/servicemonitor.yaml | 16 ++ .../goldpinger/3.9.0-6.1.2/troubleshoot.yaml | 19 +++ web/src/installers/versions.js | 1 + 7 files changed, 237 insertions(+) create mode 100644 addons/goldpinger/3.9.0-6.1.2/Manifest create mode 100644 addons/goldpinger/3.9.0-6.1.2/goldpinger.yaml create mode 100644 addons/goldpinger/3.9.0-6.1.2/install.sh create mode 100644 addons/goldpinger/3.9.0-6.1.2/kustomization.yaml create mode 100644 addons/goldpinger/3.9.0-6.1.2/servicemonitor.yaml create mode 100644 addons/goldpinger/3.9.0-6.1.2/troubleshoot.yaml diff --git a/addons/goldpinger/3.9.0-6.1.2/Manifest b/addons/goldpinger/3.9.0-6.1.2/Manifest new file mode 100644 index 0000000000..bda099beec --- /dev/null +++ b/addons/goldpinger/3.9.0-6.1.2/Manifest @@ -0,0 +1 @@ +image goldpinger bloomberg/goldpinger:3.9.0 diff --git a/addons/goldpinger/3.9.0-6.1.2/goldpinger.yaml b/addons/goldpinger/3.9.0-6.1.2/goldpinger.yaml new file mode 100644 index 0000000000..bfb52b766c --- /dev/null +++ b/addons/goldpinger/3.9.0-6.1.2/goldpinger.yaml @@ -0,0 +1,160 @@ +--- +# Source: goldpinger/templates/serviceaccount.yaml +apiVersion: v1 +kind: ServiceAccount +metadata: + name: goldpinger + labels: + helm.sh/chart: goldpinger-6.1.2 + app.kubernetes.io/name: goldpinger + app.kubernetes.io/instance: goldpinger + app.kubernetes.io/version: "3.9.0" + app.kubernetes.io/managed-by: Helm +--- +# Source: goldpinger/templates/configmap.yaml +apiVersion: v1 +kind: ConfigMap +metadata: + name: goldpinger-zap + labels: + helm.sh/chart: goldpinger-6.1.2 + app.kubernetes.io/name: goldpinger + app.kubernetes.io/instance: goldpinger + app.kubernetes.io/version: "3.9.0" + app.kubernetes.io/managed-by: Helm +data: + zap.json: "{\n \"level\": \"info\",\n \"encoding\": \"json\",\n \"outputPaths\": [\n \"stdout\"\n ],\n \"errorOutputPaths\": [\n \"stderr\"\n ],\n \"initialFields\": {\n },\n \"encoderConfig\": {\n \"messageKey\": \"message\",\n \"levelKey\": \"level\",\n \"levelEncoder\": \"lowercase\",\n \"timeKey\": \"ts\",\n \"timeEncoder\": \"ISO8601\",\n \"callerKey\": \"caller\",\n \"callerEncoder\": \"Short\"\n }\n}\n" +--- +# Source: goldpinger/templates/clusterrole.yaml +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: goldpinger-clusterrole + labels: + helm.sh/chart: goldpinger-6.1.2 + app.kubernetes.io/name: goldpinger + app.kubernetes.io/instance: goldpinger + app.kubernetes.io/version: "3.9.0" + app.kubernetes.io/managed-by: Helm +rules: + - apiGroups: [""] + resources: ["pods"] + verbs: ["list"] +--- +# Source: goldpinger/templates/clusterrolebinding.yaml +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: goldpinger-clusterrolebinding + labels: + helm.sh/chart: goldpinger-6.1.2 + app.kubernetes.io/name: goldpinger + app.kubernetes.io/instance: goldpinger + app.kubernetes.io/version: "3.9.0" + app.kubernetes.io/managed-by: Helm +subjects: + - kind: ServiceAccount + name: goldpinger + namespace: kurl +roleRef: + kind: ClusterRole + name: goldpinger-clusterrole + apiGroup: rbac.authorization.k8s.io +--- +# Source: goldpinger/templates/service.yaml +apiVersion: v1 +kind: Service +metadata: + name: goldpinger + labels: + helm.sh/chart: goldpinger-6.1.2 + app.kubernetes.io/name: goldpinger + app.kubernetes.io/instance: goldpinger + app.kubernetes.io/version: "3.9.0" + app.kubernetes.io/managed-by: Helm +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: 80 + protocol: TCP + name: http + selector: + app.kubernetes.io/name: goldpinger + app.kubernetes.io/instance: goldpinger +--- +# Source: goldpinger/templates/daemonset.yaml +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: goldpinger + labels: + helm.sh/chart: goldpinger-6.1.2 + app.kubernetes.io/name: goldpinger + app.kubernetes.io/instance: goldpinger + app.kubernetes.io/version: "3.9.0" + app.kubernetes.io/managed-by: Helm +spec: + selector: + matchLabels: + app.kubernetes.io/name: goldpinger + app.kubernetes.io/instance: goldpinger + template: + metadata: + labels: + app.kubernetes.io/name: goldpinger + app.kubernetes.io/instance: goldpinger + spec: + priorityClassName: + serviceAccountName: goldpinger + containers: + - name: goldpinger-daemon + image: "bloomberg/goldpinger:3.9.0" + imagePullPolicy: IfNotPresent + volumeMounts: + - name: zap + mountPath: /config + env: + - name: HOSTNAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + - name: HOST + value: "0.0.0.0" + - name: PORT + value: "80" + - name: LABEL_SELECTOR + value: "app.kubernetes.io/name=goldpinger" + - name: POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + - name: PING_TIMEOUT + value: 2s + - name: CHECK_TIMEOUT + value: 3s + - name: CHECK_ALL_TIMEOUT + value: 10s + ports: + - name: http + containerPort: 80 + protocol: TCP + livenessProbe: + httpGet: + path: / + port: http + readinessProbe: + httpGet: + path: / + port: http + resources: + limits: + cpu: 50m + memory: 128Mi + requests: + cpu: 20m + memory: 64Mi + volumes: + - name: zap + configMap: + name: goldpinger-zap diff --git a/addons/goldpinger/3.9.0-6.1.2/install.sh b/addons/goldpinger/3.9.0-6.1.2/install.sh new file mode 100644 index 0000000000..cfcd6323bd --- /dev/null +++ b/addons/goldpinger/3.9.0-6.1.2/install.sh @@ -0,0 +1,35 @@ + +function goldpinger() { + local src="$DIR/addons/goldpinger/3.9.0-6.1.2" + local dst="$DIR/kustomize/goldpinger" + + cp "$src/kustomization.yaml" "$dst/" + cp "$src/goldpinger.yaml" "$dst/" + cp "$src/servicemonitor.yaml" "$dst/" + cp "$src/troubleshoot.yaml" "$dst/" + + if [ -n "${PROMETHEUS_VERSION}" ]; then + insert_resources "$dst/kustomization.yaml" servicemonitor.yaml + fi + + kubectl apply -k "$dst/" + + logStep "Waiting for the Goldpinger Daemonset to be ready" + spinner_until 180 goldpinger_daemonset + logStep "Waiting for the Goldpinger service to be ready" + spinner_until 120 kubernetes_service_healthy kurl goldpinger + logSuccess "Goldpinger is ready and monitoring node network health" +} + +function goldpinger_daemonset() { + local desired=$(kubectl get daemonsets -n kurl goldpinger --no-headers | tr -s ' ' | cut -d ' ' -f2) + local ready=$(kubectl get daemonsets -n kurl goldpinger --no-headers | tr -s ' ' | cut -d ' ' -f4) + local uptodate=$(kubectl get daemonsets -n kurl goldpinger --no-headers | tr -s ' ' | cut -d ' ' -f5) + + if [ "$desired" = "$ready" ] ; then + if [ "$desired" = "$uptodate" ] ; then + return 0 + fi + fi + return 1 +} diff --git a/addons/goldpinger/3.9.0-6.1.2/kustomization.yaml b/addons/goldpinger/3.9.0-6.1.2/kustomization.yaml new file mode 100644 index 0000000000..6b349dbca1 --- /dev/null +++ b/addons/goldpinger/3.9.0-6.1.2/kustomization.yaml @@ -0,0 +1,5 @@ +namespace: kurl + +resources: +- goldpinger.yaml +- troubleshoot.yaml diff --git a/addons/goldpinger/3.9.0-6.1.2/servicemonitor.yaml b/addons/goldpinger/3.9.0-6.1.2/servicemonitor.yaml new file mode 100644 index 0000000000..d1abd6b066 --- /dev/null +++ b/addons/goldpinger/3.9.0-6.1.2/servicemonitor.yaml @@ -0,0 +1,16 @@ +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: goldpinger-prometheus-servicemonitor + namespace: monitoring + labels: + app.kubernetes.io/name: goldpinger +spec: + selector: + matchLabels: + app.kubernetes.io/name: goldpinger + namespaceSelector: + matchNames: + - kurl + endpoints: + - port: http diff --git a/addons/goldpinger/3.9.0-6.1.2/troubleshoot.yaml b/addons/goldpinger/3.9.0-6.1.2/troubleshoot.yaml new file mode 100644 index 0000000000..45671c01d2 --- /dev/null +++ b/addons/goldpinger/3.9.0-6.1.2/troubleshoot.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Secret +metadata: + name: kurl-goldpinger-supportbundle-spec + labels: + troubleshoot.io/kind: support-bundle +stringData: + support-bundle-spec: | + apiVersion: troubleshoot.sh/v1beta2 + kind: SupportBundle + metadata: + name: goldpinger + spec: + collectors: + - goldpinger: + collectorName: kurl-goldpinger + namespace: kurl + analyzers: + - goldpinger: {} diff --git a/web/src/installers/versions.js b/web/src/installers/versions.js index fbf400d166..c1971e1126 100644 --- a/web/src/installers/versions.js +++ b/web/src/installers/versions.js @@ -628,6 +628,7 @@ module.exports.InstallerVersions = { ], goldpinger: [ // cron-goldpinger-update + "3.9.0-6.1.2", "3.7.0-6.0.1", "3.7.0-5.6.0", "3.7.0-5.5.0",