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