Metrics API (metrics.k8s.io) wasn't registered, so kubectl top failed with 'Metrics API not available'. kube-state-metrics from kube-prometheus-stack doesn't provide it. Uses --kubelet-insecure-tls since kubeadm kubelets serve self-signed certs (no serverTLSBootstrap), and scrapes kubelets by InternalIP.
27 lines
839 B
YAML
27 lines
839 B
YAML
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: metrics-server
|
|
namespace: argocd
|
|
annotations:
|
|
argocd.argoproj.io/sync-wave: "2"
|
|
spec:
|
|
project: default
|
|
sources:
|
|
- repoURL: https://kubernetes-sigs.github.io/metrics-server/
|
|
chart: metrics-server
|
|
targetRevision: "3.12.2" # TODO: verify latest via `helm search repo metrics-server/metrics-server --versions`
|
|
helm:
|
|
valueFiles:
|
|
- $values/manifests/metrics-server/values.yaml
|
|
- repoURL: https://gitea.fireflylab.cc/duynguyen/cluster-bootstrap.git
|
|
targetRevision: main
|
|
ref: values
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: kube-system
|
|
# Leaf app — manual sync only; root `bootstrap` app-of-apps stays automated.
|
|
syncPolicy:
|
|
syncOptions:
|
|
- CreateNamespace=true
|