k8s—Metrics-Server部署

k8s—Metrics-Server部署

  • Metrics-Server是集群核心监控数据的聚合器,用来替换之前的heapster。

  • 容器相关的 Metrics 主要来自于 kubelet 内置的 cAdvisor 服务,有了Metrics-Server之后,用户就可以通过标准的 Kubernetes API 来访问到这些监控数据。

  • Metrics API 只可以查询当前的度量数据,并不保存历史数据。

  • Metrics API URI 为 /apis/metrics.k8s.io/,在 k8s.io/metrics 维护。

  • 必须部署 metrics-server 才能使用该 API,metrics-server 通过调用 Kubelet Summary API 获取数据。

  • Metrics Server 并不是 kube-apiserver 的一部分,而是通过 Aggregator 这种插件机制,在独立部署的情况下同 kube-apiserver 一起统一对外服务的。

  • kube-aggregator 其实就是一个根据 URL 选择具体的 API 后端的代理服务器。
    在这里插入图片描述
    上传镜像到仓库

部署后查看Metrics-server的Pod日志
kubectl

修改yaml文件 将443改为4443.镜像地址修改为自己的地址

在这里插入图片描述

  • kubectl apply -f components.yaml
    在这里插入图片描述

报错:x509: certificate signed by unknown authority
启用TLS Bootstrap 证书签发
解决:每个结点编辑文件,重启

vim /var/lib/kubelet/config.yaml 	
serverTLSBootstrap: true #在文件的最后一行加入

systemctl  restart kubelet重启

下边是因为我在其它节点多次重启上述文件,所以出现不止三个认证的问题,解决该问题只需要把所有没有通过认证的节点,通过认证即可

  • kubectl get csr
  • kubectl certificate approve csr-5hcdz
[root@server1 mnt]# kubectl get csr
NAME        AGE     SIGNERNAME                      REQUESTOR             CONDITION
csr-5hcdz   6m49s   kubernetes.io/kubelet-serving   system:node:server3   Pending
csr-74thb   8m54s   kubernetes.io/kubelet-serving   system:node:server2   Pending
csr-95vf8   11m     kubernetes.io/kubelet-serving   system:node:server1   Approved,Issued
csr-h9mm4   6m51s   kubernetes.io/kubelet-serving   system:node:server2   Pending
csr-jwsx5   23m     kubernetes.io/kubelet-serving   system:node:server2   Approved,Issued
csr-jzzrp   23m     kubernetes.io/kubelet-serving   system:node:server3   Approved,Issued
csr-wkjvw   8m50s   kubernetes.io/kubelet-serving   system:node:server3   Pending
csr-wpfw7   26m     kubernetes.io/kubelet-serving   system:node:server1   Approved,Issued
[root@server1 mnt]# kubectl certificate approve csr-5hcdz 
certificatesigningrequest.certificates.k8s.io/csr-5hcdz approved
[root@server1 mnt]# kubectl certificate approve csr-74thb
certificatesigningrequest.certificates.k8s.io/csr-74thb approved
[root@server1 mnt]# kubectl certificate approve csr-h9mm4
certificatesigningrequest.certificates.k8s.io/csr-h9mm4 approved
[root@server1 mnt]# kubectl certificate approve csr-wkjvw
certificatesigningrequest.certificates.k8s.io/csr-wkjvw approved
[root@server1 mnt]# kubectl get csr
NAME        AGE     SIGNERNAME                      REQUESTOR             CONDITION
csr-5hcdz   7m17s   kubernetes.io/kubelet-serving   system:node:server3   Approved,Issued
csr-74thb   9m22s   kubernetes.io/kubelet-serving   system:node:server2   Approved,Issued
csr-95vf8   11m     kubernetes.io/kubelet-serving   system:node:server1   Approved,Issued
csr-h9mm4   7m19s   kubernetes.io/kubelet-serving   system:node:server2   Approved,Issued
csr-jwsx5   24m     kubernetes.io/kubelet-serving   system:node:server2   Approved,Issued
csr-jzzrp   24m     kubernetes.io/kubelet-serving   system:node:server3   Approved,Issued
csr-wkjvw   9m18s   kubernetes.io/kubelet-serving   system:node:server3   Approved,Issued
csr-wpfw7   26m     kubernetes.io/kubelet-serving   system:node:server1   Approved,Issued
  • kubectl -n kube-system get pod 查看是否ready
    在这里插入图片描述

  • kubectl top node

[root@server1 mnt]# kubectl top node
W0803 18:29:27.334697   15783 top_node.go:119] Using json format to get metrics. Next release will switch to protocol-buffers, switch early by passing --use-protocol-buffers flag
NAME      CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
server1   419m         20%    1233Mi          74%       
server2   329m         32%    661Mi           74%       
server3   116m         11%    606Mi           68%    

部署成功!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: K8s Metrics Server是一个Kubernetes集群中的组件,用于收集和存储集群中各种资源的度量数据,例如CPU、内存、网络等。它可以提供实时的度量数据,帮助管理员和开发人员更好地了解集群的状态和性能,并进行优化和调整。 ### 回答2: k8s metrics-serverKubernetes的一个组件,它被设计用于收集集群内的性能指标。这些指标包括容器和节点的CPU使用率、内存使用量、网络I/O等等。利用这些指标,可以更好的了解集群中的资源使用情况,从而做出相应的资源分配和优化决策。 在Kubernetes中,集群管理员经常需要监控集群内部每个节点和容器的性能情况,这是为了确保应用程序在正确的资源调度下正常运行。为了监控这些性能指标,需要使用一些工具来帮助收集、分析和存储指标数据。而k8s metrics-server正是为此而设计的。 k8s metrics-server采用的是轻量级的部署模式,可以轻松地在Kubernetes集群中进行安装和配置。它具有以下优点: 1.快速部署k8s metrics-server非常轻量,可以非常快速地部署Kubernetes集群中。 2.高效:k8s metrics-server具有高效的数据收集和存储能力,能够实时地监控和收集节点和容器的性能指标。 3.可扩展:k8s metrics-server可以轻松地扩展到集群的规模,以便于更好地适应性能监控的需求。 总之,k8s metrics-serverKubernetes集群内必备的性能指标收集器,以便于运维和开发人员更好地了解集群的性能情况,保障应用程序的可靠性和高可用性。 ### 回答3: K8s Metrics Server是一个通过K8s的APIs来收集、聚合以及输出资源的使用情况的组件,主要用于扩展Kubernetes集群的监控及自动化调整容器资源。通过Metrics Server,用户可以查看当前K8s集群的完整资源使用情况,并能够在资源不足或者超量使用时自动调整容器资源。 K8s Metrics Server的基本原理是通过启动一个服务,并通过访问K8s各种组件的API endpoints来获取当前容器和集群资源使用状态。Metrics Server在收集到的数据中,主要包括CPU、memory以及network的使用率、请求流量、响应时间等信息。同时,可以基于这些数据来为Pods、Deployments、DaemonSets等对象提供水平自动扩容和增量调整的服务。 在K8s Metrics Server中,最重要的组件是Heapster,它作为Metrics Server的扩展组件,负责对收集到的所有的K8s集群的资源使用数据进行经过处理之后进行监控和分析。通过Heapster可以实现的监控和提醒,包括对Pods、Deployments、DaemonSets等对象的资源使用情况的监控,集群负荷的观察,容器状态的查询等。 总的来说,K8s Metrics ServerK8s设计的一个非常重要的组件,它能够帮助K8s构建一个可靠的、基于资源监控的自动化调整平台,为用户提供可靠、高效的容器资源调度服务。对于企业用户而言,K8s Metrics Server的使用不仅能够提升企业应用的稳定性和可靠性,也能够降低系统维护与调整的成本,提升效率和便捷性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值