美文网首页
错误解决 - Error from server (NotFou

错误解决 - Error from server (NotFou

作者: 追阳_41 | 来源:发表于2020-03-09 19:25 被阅读0次

在部署了kubernetes集群后,还需要安装metrics-server或者heapster
插件才能通过 kubectl top node/top查看到资源使用情况。
不然可能会出现以下报错信息:

$ kubectl top node
Error from server (NotFound): the server could not find the requested resource (get services http:heapster:)

由于heapster已经不再维护,下面记录安装metrics-server过程中遇到的问题。

先下载项目:

git clone git@github.com:kubernetes-sigs/metrics-server.git

解决镜像下载问题

由于metrics-server镜像源默认使用k8s.gcr.io,需要科学上网。如果网络不方便,我已经将镜像复制到我自己的dockhub仓库,所以image 修改为chengtai/metrics-server-amd64:v0.3.6 效果是一样的,我这里使用的版本是v0.3.6。

解决无法解析节点的主机名的问题

无法解析节点的主机名,metrics-server连Node时默认是连接Node节点的主机名,但通过CoreDNS 无法解析各Node的主机名,所以要加--kubelet-preferred-address-types=InternalIP参数,此外,还需要添加--kubelet-insecure-tls不验证客户端证书。

下面对上述两点问题进行修改:

cd metrics-server/deploy/kubernetes
vim metrics-server-deployment.yaml
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: metrics-server
  namespace: kube-system
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: metrics-server
  namespace: kube-system
  labels:
    k8s-app: metrics-server
spec:
  selector:
    matchLabels:
      k8s-app: metrics-server
  template:
    metadata:
      name: metrics-server
      labels:
        k8s-app: metrics-server
    spec:
      serviceAccountName: metrics-server
      volumes:
      # mount in tmp so we can safely use from-scratch images and/or read-only containers
      - name: tmp-dir
        emptyDir: {}
      containers:
      - name: metrics-server
        image: k8s.gcr.io/metrics-server-amd64:v0.3.6
        args:
          - --cert-dir=/tmp
          - --secure-port=4443
          - --kubelet-insecure-tls
          - --kubelet-preferred-address-types=InternalIP
        ports:
        - name: main-port
          containerPort: 4443
          protocol: TCP
        securityContext:
          readOnlyRootFilesystem: true
          runAsNonRoot: true
          runAsUser: 1000
        imagePullPolicy: IfNotPresent
        volumeMounts:
        - name: tmp-dir
          mountPath: /tmp
      nodeSelector:
        beta.kubernetes.io/os: linux
        kubernetes.io/arch: "amd64"

执行安装

# 文件列表
ls -lht
total 82104
-rw-r--r--  1 ousei  staff    39M  3  9 17:24 metrics-server-amd64.tar.gz
-rw-r--r--  1 ousei  staff   532B  3  9 16:58 resource-reader.yaml
-rw-r--r--  1 ousei  staff   297B  3  9 16:58 metrics-server-service.yaml
-rw-r--r--  1 ousei  staff   1.2K  3  9 16:58 metrics-server-deployment.yaml
-rw-r--r--  1 ousei  staff   298B  3  9 16:58 metrics-apiservice.yaml
-rw-r--r--  1 ousei  staff   324B  3  9 16:58 auth-reader.yaml
-rw-r--r--  1 ousei  staff   303B  3  9 16:58 auth-delegator.yaml
-rw-r--r--  1 ousei  staff   397B  3  9 16:58 aggregated-metrics-reader.yaml

# 安装
kubectl apply -f .

由于安装后有一个生效时间,大概1分钟后这样,再执行就显示正常了。

kubed top node
NAME           CPU(cores)   CPU%      MEMORY(bytes)   MEMORY%
k8s-master01   225m         3%        4251Mi          26%
k8s-worker01   1119m        18%       8565Mi          54%

至此结束,如果有帮助到你,就麻烦支持一下,点个赞,谢谢。

相关文章

网友评论

      本文标题:错误解决 - Error from server (NotFou

      本文链接:https://www.haomeiwen.com/subject/bnzpdhtx.html