From 8184c46ed329bbe896c3691562731330da5080d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Petazzoni?= Date: Tue, 9 May 2023 07:25:48 +0200 Subject: [PATCH] =?UTF-8?q?=E2=8F=AB=20Upgrade=20metrics-server=20install?= =?UTF-8?q?=20instructions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- slides/k8s/metrics-server.md | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/slides/k8s/metrics-server.md b/slides/k8s/metrics-server.md index 8fef044a..e3b0da00 100644 --- a/slides/k8s/metrics-server.md +++ b/slides/k8s/metrics-server.md @@ -111,38 +111,33 @@ Pros: (derived from the [official installation instructions](https://github.com/kubernetes-sigs/metrics-server#installation)) -- We're going to use Helm one more time: +- We can also use a Helm chart: ```bash - helm upgrade --install metrics-server bitnami/metrics-server \ + helm upgrade --install metrics-server metrics-server \ --create-namespace --namespace metrics-server \ - --set apiService.create=true \ - --set extraArgs.kubelet-insecure-tls=true \ - --set extraArgs.kubelet-preferred-address-types=InternalIP + --repo https://kubernetes-sigs.github.io/metrics-server/ \ + --set args={--kubelet-insecure-tls=true} ``` -- What are these options for? +- The `args` flag specified above should be sufficient on most clusters --- -## Installation options +class: extra-details -- `apiService.create=true` +## Kubelet insecure TLS? - register `metrics-server` with the Kubernetes aggregation layer +- The metrics-server collects metrics by connecting to kubelet - (create an entry that will show up in `kubectl get apiservices`) +- The connection is secured by TLS -- `extraArgs.kubelet-insecure-tls=true` +- This requires a valid certificate - when connecting to nodes to collect their metrics, don't check kubelet TLS certs +- In some cases, the certificate is self-signed - (because most kubelet certs include the node name, but not its IP address) +- In other cases, it might be valid, but include only the node name -- `extraArgs.kubelet-preferred-address-types=InternalIP` - - when connecting to nodes, use their internal IP address instead of node name - - (because the latter requires an internal DNS, which is rarely configured) + (not its IP address, which is used by default by metrics-server) ---