Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker Kubernetes:kubectl顶部节点/吊舱不工作_Docker_Kubernetes_Kubelet_Kubernetes Metrics - Fatal编程技术网

Docker Kubernetes:kubectl顶部节点/吊舱不工作

Docker Kubernetes:kubectl顶部节点/吊舱不工作,docker,kubernetes,kubelet,kubernetes-metrics,Docker,Kubernetes,Kubelet,Kubernetes Metrics,当我执行kubectl top pods/nodes时,我得到以下错误: 指标还不可用 当我检查日志时,我得到 $ 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/apis

当我执行
kubectl top pods/nodes
时,我得到以下错误:

指标还不可用

当我检查日志时,我得到

$ 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"
此外,我可以从以下位置ping到hpa测试节点:

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

此外,我尝试在任何地方寻找解决方案,但没有解决问题

需要为metrics服务器添加标志:

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

有两种方法可以解决此问题:

1) 使用heapster: 安装heapster将允许“kubectl顶部节点”开箱即用。然而,heapster已经被弃用,所以您可能应该切换到metrics服务器

2) 使用度量服务器
: 不幸的是,在安装metrics server时,它可能无法开箱即用。。。 如果没有,您需要更新用于安装的metrics-server-deployment.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-deployment.yaml

然后,您应该能够使用

kubectl顶部节点

kubectl get--原始“/api/metrics.k8s.io/v1beta1/nodes”


出现这些问题是因为集群中没有启用度量服务器

只有当cluser上安装了metric server时,top命令才会运行

从git下载Kubernetes API中的metric server

步骤:1
git克隆https://github.com/kubernetes-incubator/metrics-server.git

步骤:2
cd metrics server/

步骤:3部署

库伯内特斯1.7
kubectl create-f deploy/1.7/

库伯内特斯1.8

kubectl create -f deploy/1.8+/
Setp:4检查公制服务器机架的状态

 kubectl get po -n kube-system |grep metrics
步骤5: 现在,您的最高命令将运行

kubectl top pod --all-namespaces

编辑metrics server的部署,并将以下参数添加到其容器中

--kubelet-insecure-tls
--kubelet-preferred-address-types=InternalIP
比如说,

kind: Deployment
metadata:
  name: metrics-server
  ...
spec:
  template:
    spec:
      ...
      containers:
      - name: metrics-server
        image: k8s.gcr.io/metrics-server-amd64:v0.3.6
        args:
          - --kubelet-insecure-tls
          - --kubelet-preferred-address-types=InternalIP

可能重复的不它不是重复的我可以ping到metrics服务器containerI的节点我是k8s的新手你能告诉我应该在我的yaml@MallikarjunBr这是库贝莱的旗帜,您可以在这里找到它
/etc/systemd/system/kubelet.service.d/10 kubeadm.conf
并添加变量添加变量后如何重新启动kubelet它会自动重新启动吗?kubelet没有此标志。此标志用于度量-server@DenisA. 在metrics-server-deployment.yaml中,我应该在哪里添加它们