Kubernetes: верхние узлы kubectl / стручки не работают - PullRequest
0 голосов
/ 08 октября 2018

Когда я делаю верхние блоки / узлы kubectl, я получаю следующую ошибку:

метрики еще не доступны

Когда я проверяю логи, я получаю

$ kubectl logs metrics-server-7df4c4484d-h75wr -n kube-system -c metrics-server

I1008 12:02:55.159069       1 serving.go:273] Generated self-signed cert(apiserver.local.config/certificates/apiserver.crt, apiserver.local.config/certificates/apiserver.key)
[restful] 2018/10/08 12:02:56 log.go:33: [restful/swagger] listing is available at https://:443/swaggerapi
[restful] 2018/10/08 12:02:56 log.go:33: [restful/swagger] https://:443/swaggerui/ is mapped to folder /swagger-ui/
I1008 12:02:56.358063       1 serve.go:96] Serving securely on [::]:443
E1008 12:03:04.225519       1 reststorage.go:101] unable to fetch node metrics for node "hpa-test": no metrics known for node "hpa-test"
E1008 12:03:07.619489       1 reststorage.go:101] unable to fetch node metrics for node "hpa-test": no metrics known for node "hpa-test"

Кроме того, я могу пропинговать узел hpa-test с:

$ kubectl exec -it  metrics-server-7df4c4484d-h75wr -n kube-system sh

Кроме того, я пытался найти решение везде, но ничего не решило проблему

Ответы [ 2 ]

0 голосов
/ 13 декабря 2018

Существует два способа решения этой проблемы:

1) с использованием heapster : установка heapster позволит 'верхним узлам kubectl' работать "из коробки",Однако heapster устарел, поэтому вам, вероятно, следует переключиться на metrics-server.

2), используя metrics-server : к сожалению, он может не работать сразу после установки metrics-server... если это не так, вам нужно обновить конец файла metrics-server-deploy.yaml (1.8+), который вы использовали для установки, и добавить секцию команд с правильными параметрами, как указано ниже:

containers:
- name: metrics-server
  image: k8s.gcr.io/metrics-server-amd64:v0.3.1
  imagePullPolicy: Always
  volumeMounts:
  - name: tmp-dir
    mountPath: /tmp

  command:
      - /metrics-server
      - --kubelet-insecure-tls
      - --kubelet-preferred-address-types=InternalIP

, затем просто примените изменения:

kubectl apply -f metrics-server-deploy.yaml

, после чего вы сможетечтобы получить результаты с

верхними узлами kubectl

и

kubectl get --raw "/apis/metrics.k8s.io/v1beta1 / node "

0 голосов
/ 08 октября 2018

Нужно добавить флаги для метрики-сервера:

--kubelet-insecure-tls=true
--kubelet-port={YOU_KUBELET_PORT}
--kubelet-preferred-address-types=InternalIP
--v=5
--logtostderr
...