From 3edf39ce7f8f0de9827df06c4bd0922cf83af4f7 Mon Sep 17 00:00:00 2001
From: Slach
Date: Mon, 6 Jun 2022 14:31:03 +0400
Subject: [PATCH 1/2] update prometheus-operator to v0.57.0, fixes related to
https://github.com/prometheus-operator/prometheus-operator/issues/4439
Signed-off-by: Slach
---
deploy/prometheus/create-prometheus.sh | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/deploy/prometheus/create-prometheus.sh b/deploy/prometheus/create-prometheus.sh
index 4e358b958..d0fd5f8bb 100755
--- a/deploy/prometheus/create-prometheus.sh
+++ b/deploy/prometheus/create-prometheus.sh
@@ -6,7 +6,7 @@ echo "External value for \$VALIDATE_YAML=$VALIDATE_YAML"
export PROMETHEUS_NAMESPACE="${PROMETHEUS_NAMESPACE:-prometheus}"
export OPERATOR_NAMESPACE="${OPERATOR_NAMESPACE:-kube-system}"
-export PROMETHEUS_OPERATOR_BRANCH="${PROMETHEUS_OPERATOR_BRANCH:-release-0.50}"
+export PROMETHEUS_OPERATOR_BRANCH="${PROMETHEUS_OPERATOR_BRANCH:-v0.57.0}"
export ALERT_MANAGER_EXTERNAL_URL="${ALERT_MANAGER_EXTERNAL_URL:-http://localhost:9093}"
# Possible values for "validate yaml" are values from --validate=XXX kubectl option. They are true/false ATM
export VALIDATE_YAML="${VALIDATE_YAML:-true}"
@@ -31,12 +31,12 @@ kubectl create namespace "${PROMETHEUS_NAMESPACE}" || true
BASE_PATH="https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/${PROMETHEUS_OPERATOR_BRANCH}"
echo "Setup prometheus-operator into '${PROMETHEUS_NAMESPACE}' namespace."
-kubectl --namespace="${PROMETHEUS_NAMESPACE}" apply --validate="${VALIDATE_YAML}" -f <( \
+kubectl --namespace="${PROMETHEUS_NAMESPACE}" apply --server-side --validate="${VALIDATE_YAML}" -f <( \
wget -qO- "${BASE_PATH}"/bundle.yaml | \
sed "s/namespace: default/namespace: ${PROMETHEUS_NAMESPACE}/" \
)
-kubectl --namespace="${PROMETHEUS_NAMESPACE}" apply --validate="${VALIDATE_YAML}" -f <( \
+kubectl --namespace="${PROMETHEUS_NAMESPACE}" apply --server-side --validate="${VALIDATE_YAML}" -f <( \
wget -qO- "${BASE_PATH}"/bundle.yaml | \
sed "s/namespace: default/namespace: ${PROMETHEUS_NAMESPACE}/" | \
yq -M eval '. | select(.kind == "Deployment") | .spec.template.spec.containers[0].imagePullPolicy = "IfNotPresent" ' - \
@@ -44,17 +44,17 @@ kubectl --namespace="${PROMETHEUS_NAMESPACE}" apply --validate="${VALIDATE_YAML}
echo "Setup RBAC"
RBAC_PATH="${BASE_PATH}/example/rbac/prometheus"
-kubectl --namespace="${PROMETHEUS_NAMESPACE}" apply --validate="${VALIDATE_YAML}" -f <( \
+kubectl --namespace="${PROMETHEUS_NAMESPACE}" apply --server-side --validate="${VALIDATE_YAML}" -f <( \
wget -qO- "${RBAC_PATH}"/prometheus-cluster-role-binding.yaml | \
sed "s/namespace: default/namespace: ${PROMETHEUS_NAMESPACE}/" \
)
-kubectl --namespace="${PROMETHEUS_NAMESPACE}" apply --validate="${VALIDATE_YAML}" -f \
+kubectl --namespace="${PROMETHEUS_NAMESPACE}" apply --server-side --validate="${VALIDATE_YAML}" -f \
"${RBAC_PATH}"/prometheus-cluster-role.yaml
-kubectl --namespace="${PROMETHEUS_NAMESPACE}" apply --validate="${VALIDATE_YAML}" -f \
+kubectl --namespace="${PROMETHEUS_NAMESPACE}" apply --server-side --validate="${VALIDATE_YAML}" -f \
"${RBAC_PATH}"/prometheus-service-account.yaml
echo "Setup Prometheus instance via prometheus-operator into '${PROMETHEUS_NAMESPACE}' namespace"
-kubectl --namespace="${PROMETHEUS_NAMESPACE}" apply --validate="${VALIDATE_YAML}" -f <( \
+kubectl --namespace="${PROMETHEUS_NAMESPACE}" apply --server-side --validate="${VALIDATE_YAML}" -f <( \
envsubst < "${CUR_DIR}/prometheus-template.yaml" \
)
From e0db40ec2fa69d91e2523f5fa756354a2216b298 Mon Sep 17 00:00:00 2001
From: Slach
Date: Mon, 6 Jun 2022 14:31:32 +0400
Subject: [PATCH 2/2] update grafana-operator to v4.4.1
Signed-off-by: Slach
---
.../delete-grafana.sh | 7 +++++++
.../install-grafana-operator.sh | 18 ++++++++++--------
.../install-grafana-with-operator.sh | 3 ++-
3 files changed, 19 insertions(+), 9 deletions(-)
create mode 100644 deploy/grafana/grafana-with-grafana-operator/delete-grafana.sh
diff --git a/deploy/grafana/grafana-with-grafana-operator/delete-grafana.sh b/deploy/grafana/grafana-with-grafana-operator/delete-grafana.sh
new file mode 100644
index 000000000..ed9bf918f
--- /dev/null
+++ b/deploy/grafana/grafana-with-grafana-operator/delete-grafana.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+GRAFANA_NAMESPACE="${GRAFANA_NAMESPACE:-grafana}"
+
+echo "Delete Grafana namespace ${GRAFANA_NAMESPACE}"
+
+kubectl delete namespace "${GRAFANA_NAMESPACE}"
diff --git a/deploy/grafana/grafana-with-grafana-operator/install-grafana-operator.sh b/deploy/grafana/grafana-with-grafana-operator/install-grafana-operator.sh
index 4507b6c96..6df0bf0b8 100755
--- a/deploy/grafana/grafana-with-grafana-operator/install-grafana-operator.sh
+++ b/deploy/grafana/grafana-with-grafana-operator/install-grafana-operator.sh
@@ -4,7 +4,7 @@ echo "External value for \$GRAFANA_NAMESPACE=$GRAFANA_NAMESPACE"
echo "External value for \$GRAFANA_OPERATOR_VERSION=$GRAFANA_OPERATOR_VERSION"
GRAFANA_NAMESPACE="${GRAFANA_NAMESPACE:-grafana}"
-GRAFANA_OPERATOR_VERSION="${GRAFANA_OPERATOR_VERSION:-v3.9.0}"
+GRAFANA_OPERATOR_VERSION="${GRAFANA_OPERATOR_VERSION:-v4.4.1}"
echo "Setup Grafana"
echo "OPTIONS"
@@ -67,14 +67,16 @@ kubectl create namespace "${GRAFANA_NAMESPACE}" || true
# Setup grafana-operator into dedicated namespace
# 1. Create the custom resource definitions that the operator uses:
-kubectl --namespace="${GRAFANA_NAMESPACE}" apply -f "${GRAFANA_OPERATOR_DIR}/deploy/crds"
+kubectl --namespace="${GRAFANA_NAMESPACE}" apply -f <(
+ cat "${GRAFANA_OPERATOR_DIR}/deploy/manifests/${GRAFANA_OPERATOR_VERSION}/crds.yaml" | sed "s/namespace: system/namespace: ${GRAFANA_NAMESPACE}/g"
+)
# 2. Create the operator roles:
-kubectl --namespace="${GRAFANA_NAMESPACE}" apply -f "${GRAFANA_OPERATOR_DIR}/deploy/roles"
-# 3. If you want to scan for dashboards in other namespaces you also need the cluster roles:
-kubectl --namespace="${GRAFANA_NAMESPACE}" apply -f "${GRAFANA_OPERATOR_DIR}/deploy/cluster_roles"
-# 4. Deploy the operator of explicitly specified version
-kubectl --namespace="${GRAFANA_NAMESPACE}" apply -f <( \
- cat "${GRAFANA_OPERATOR_DIR}/deploy/operatorMasterImage.yaml" | sed -e "s/:master/:${GRAFANA_OPERATOR_VERSION}/g" \
+kubectl --namespace="${GRAFANA_NAMESPACE}" apply -f <(
+ cat "${GRAFANA_OPERATOR_DIR}/deploy/manifests/${GRAFANA_OPERATOR_VERSION}/rbac.yaml" | sed "s/namespace: system/namespace: ${GRAFANA_NAMESPACE}/g" | sed "s/controller-manager/grafana-operator/g"
+)
+# 3. Deploy the operator of explicitly specified version
+kubectl --namespace="${GRAFANA_NAMESPACE}" apply -f <(
+ cat "${GRAFANA_OPERATOR_DIR}/deploy/manifests/${GRAFANA_OPERATOR_VERSION}/deployment.yaml" | sed "s/namespace: system/namespace: ${GRAFANA_NAMESPACE}/g" | sed "s/controller-manager/grafana-operator/g"
)
# Remove downloaded sources
diff --git a/deploy/grafana/grafana-with-grafana-operator/install-grafana-with-operator.sh b/deploy/grafana/grafana-with-grafana-operator/install-grafana-with-operator.sh
index 40c2bbd06..335b97052 100755
--- a/deploy/grafana/grafana-with-grafana-operator/install-grafana-with-operator.sh
+++ b/deploy/grafana/grafana-with-grafana-operator/install-grafana-with-operator.sh
@@ -106,7 +106,8 @@ function wait_grafana_datasource_to_start() {
local datasource=$2
echo -n "Waiting for Grafana DataSource custom resource '${namespace}/${datasource}'"
- while [[ $(kubectl --namespace="${namespace}" get grafanadatasources "${datasource}" -o'=custom-columns=NAME:.metadata.name,STATUS:.status.message' | grep -i "success" | wc -l) == "0" ]]; do
+ # while [[ $(kubectl --namespace="${namespace}" get grafanadatasources "${datasource}" -o'=custom-columns=NAME:.metadata.name,STATUS:.status.message' | grep -i "success" | wc -l) == "0" ]]; do
+ while [[ $(kubectl --namespace="${namespace}" get grafanadatasources "${datasource}" -o'=custom-columns=NAME:.metadata.name,STATUS:.status.message' | wc -l) == "0" ]]; do
printf "."
sleep 1
done