26 lines
965 B
Bash
Executable File
26 lines
965 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# metrics-server — makes `kubectl top` work.
|
|
#
|
|
# kind nodes serve kubelet metrics over a self-signed cert, so the standard
|
|
# manifest never becomes ready without --kubelet-insecure-tls. That is fine here
|
|
# (it is a local cluster) and is the single most common reason metrics-server
|
|
# sits at 0/1 on kind.
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
|
|
source ./lib/config.sh
|
|
load_config
|
|
|
|
K="kubectl --context ${KUBECONTEXT}"
|
|
|
|
if ! $K get deployment -n kube-system metrics-server >/dev/null 2>&1; then
|
|
$K apply -f "https://github.com/kubernetes-sigs/metrics-server/releases/download/${METRICS_SERVER_VERSION}/components.yaml"
|
|
fi
|
|
|
|
$K patch deployment metrics-server -n kube-system --type=json \
|
|
-p '[{"op":"add","path":"/spec/template/spec/containers/0/args/-","value":"--kubelet-insecure-tls"}]' \
|
|
>/dev/null 2>&1 || true
|
|
|
|
echo " waiting for metrics-server..."
|
|
$K rollout status deployment/metrics-server -n kube-system --timeout=180s
|