Metrics Server: Difference between revisions

From WilliamsNet Wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 21: Line 21:


Deploy the metrics server:
Deploy the metrics server:
  kubectl apply -f metrics-server/deploy/1.8+/
  kubectl apply -f metrics-server/manifests/base/


----
----


<references/>
<references/>

Revision as of 14:46, 12 July 2020

Kubernetes provides for metrics collection on performance/capacity of nodes, pods, etc. Previously, this was done by the Heapster application, but that is now deprecated in favor of an internal metrics server. This capability is still in kubernetes incubator status, but it provides a significant capability at this time.

Installation

There is a helm chart (untested), but the deployment is very straightforward using the GitHub repository:

git clone https://github.com/kubernetes-incubator/metrics-server.git

Due to the fact that the default kubeadm installation uses self-signed certificates for the kubelets (not certificated signed by the main CA for the cluster), one minor change needs to be made to the deployment if this is being applied to an existing cluster. Modify the file metrics-server/deploy/1.8+/metrics-server-deployment.yaml, adding the --kubelet-insecure-tls argument to the containers spec so that it looks like this<ref>https://github.com/kubernetes-incubator/metrics-server/issues/146#issuecomment-430483619</ref>:

      containers:
      - name: metrics-server
        image: k8s.gcr.io/metrics-server-amd64:v0.x.x
        imagePullPolicy: Always
        args:
          - --cert-dir=/tmp
          - --secure-port=4443
          - --kubelet-insecure-tls
        volumeMounts:
        - name: tmp-dir
          mountPath: /tmp

This tells the metrics server to ignore the fact that the certificates are self-signed -- in general, not the best solution, but as it is totally within the cluster, the exposure is minimal.

Deploy the metrics server:

kubectl apply -f metrics-server/manifests/base/

<references/>