diff --git a/README.md b/README.md index a53bc93f0217f11afa670ebab97095fc1a94f63d..13bf2c8d53c23fb13f1709f53e80c98416bf2829 100644 --- a/README.md +++ b/README.md @@ -110,14 +110,14 @@ Though for a quickstart a compiled version of the Kubernetes [manifests](manifes ```shell # Create the namespace and CRDs, and then wait for them to be available before creating the remaining resources -kubectl create -f manifests/setup +kubectl apply --server-side -f manifests/setup until kubectl get servicemonitors --all-namespaces ; do date; sleep 1; echo ""; done -kubectl create -f manifests/ +kubectl apply -f manifests/ ``` We create the namespace and CustomResourceDefinitions first to avoid race conditions when deploying the monitoring components. Alternatively, the resources in both folders can be applied with a single command -`kubectl create -f manifests/setup -f manifests`, but it may be necessary to run the command multiple times for all components to +`kubectl apply --server-side -f manifests/setup -f manifests`, but it may be necessary to run the command multiple times for all components to be created successfullly. * And to teardown the stack: @@ -274,12 +274,16 @@ Now simply use `kubectl` to install Prometheus and Grafana as per your configura ```shell # Update the namespace and CRDs, and then wait for them to be available before creating the remaining resources -$ kubectl apply -f manifests/setup +$ kubectl apply --server-side -f manifests/setup $ kubectl apply -f manifests/ ``` +> Note that due to some CRD size we are using kubeclt server-side apply feature which is generally available since +> kubernetes 1.22. If you are using previous kubernetes versions this feature may not be available and you would need to +> use `kubectl create` instead. + Alternatively, the resources in both folders can be applied with a single command -`kubectl apply -Rf manifests`, but it may be necessary to run the command multiple times for all components to +`kubectl apply --server-side -Rf manifests`, but it may be necessary to run the command multiple times for all components to be created successfullly. Check the monitoring namespace (or the namespace you have specific in `namespace: `) and make sure the pods are running. Prometheus and Grafana should be up and running soon. diff --git a/developer-workspace/common/deploy-kube-prometheus.sh b/developer-workspace/common/deploy-kube-prometheus.sh index 6dc6daf736cc526f933994806862fe337f262516..84f285c8b6bd685582f85fb29f0d2989ea55a1b4 100755 --- a/developer-workspace/common/deploy-kube-prometheus.sh +++ b/developer-workspace/common/deploy-kube-prometheus.sh @@ -1,6 +1,6 @@ #!/bin/bash -kubectl apply -f manifests/setup +kubectl apply --server-side -f manifests/setup # Safety wait for CRDs to be working sleep 30 @@ -17,4 +17,4 @@ kubectl rollout status -n monitoring deployment kube-state-metrics kubectl port-forward -n monitoring svc/grafana 3000 > /dev/null 2>&1 & kubectl port-forward -n monitoring svc/alertmanager-main 9093 > /dev/null 2>&1 & -kubectl port-forward -n monitoring svc/prometheus-k8s 9090 > /dev/null 2>&1 & \ No newline at end of file +kubectl port-forward -n monitoring svc/prometheus-k8s 9090 > /dev/null 2>&1 &