Linux实战笔记-----kubernetes资源监控

一、Metrics-Server部署

Metrics-Server简介:

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

2.容器相关的 Metrics 主要来自于 kubelet 内置的 cAdvisor
服务,有了Metrics-Server之后,用户就可以通过标准的 Kubernetes API 来访问到这些监控数据。
3.MetricsAPI 只可以查询当前的度量数据,并不保存历史数据。 Metrics API URI 为 /apis/metrics.k8s.io/,在k8s.io/metrics 维护。 必须部署 metrics-server 才能使用该 API,metrics-server 通过调用Kubelet Summary API 获取数据。
3. Metrics Server 并不是 kube-apiserver 的一部分,而是通过Aggregator 这种插件机制,在独立部署的情况下同 kube-apiserver 一起统一对外服务的。
4.kube-aggregator 其实就是一个根据 URL 选择具体的 API 后端的代理服务器
在这里插入图片描述

Metrics-server属于Core metrics(核心指标),提供API metrics.k8s.io,仅提供Node和Pod的CPU和内存使用情况。而其他Custom Metrics(自定义指标)由Prometheus等组件来完成。

资源下载:https://github.com/kubernetes-incubator/metrics-server

Metrics-Server部署

server1获取相关资源

wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
docker pull bitnami/metrics-server:0.4.2
docker push reg.westos.org/library/metrics-server:0.4.2  %上传镜像到私有仓库中(在这之前要对镜像做tag)

修改yaml文件中的镜像路径为metrics-server:0.4.2   %默认在私有仓库的library项目下查找

server2准备部署文件

wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

修改配置文件image地址与端口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
应用,发现metrics-server没有ready
在这里插入图片描述
通过logs查看问题原因

kubectl logs -n kube-system metrics-server-xxxxxxx

在这里插入图片描述
Metric Server 支持一个参数 --kubelet-insecure-tls,可以跳过这一检查,然而官方也明确说了,这种方式不推荐生产使用。启用TLS Bootstrap 证书签发所有节点的这个文件都要修改并重启kubelet服务

vim /var/lib/kubelet/config.yaml

添加跳过证书检查

serverTLSBootstrap: true
systemctl  restart kubelet #重启kubelet服务

查看csr,添加认证

kubectl get csr
kubectl certificate approve %csr名称

在这里插入图片描述
检测部署是否成功
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

kubectl top node

在这里插入图片描述

二、Dashboard部署

Dashboard可以给用户提供一个可视化的 Web 界面来查看当前集群的各种信息。用户可以用 Kubernetes Dashboard 部署容器化的应用、监控应用的状态、执行故障排查任务以及管理 Kubernetes 各种资源。

首先在server1中,下载官方的dashboard安装包
此为官方安装包下载地址
下载好并加载完安装包后,上传至本地镜像仓库,详情点击此处harbor仓库搭建

server2中,需要准备官方部署文件

wget https://raw.githubusercontent.com/kubernetes/dashboard/版本号-rc5/aio/deploy/recommended.yaml

修改image为本地镜像仓库地址
在这里插入图片描述
在这里插入图片描述
应用部署文件

kubectl apply -f recommended.yaml

在这里插入图片描述
结合 LoadBalancer 类型的 Service,实现虚拟IP访问dashboard,方便外部访问

 kubectl -n kubernetes-dashboard edit svc kubernetes-dashboard

在这里插入图片描述
查看暴露的端口

kubectl get all -n kubernetes-dashboard

在这里插入图片描述
外部访问,登陆dashboard需要认证,需要获取dashboard pod的token

kubectl get sa -n kubernetes-dashboard

kubectl describe -n kubernetes-dashboard secrets kubernetes-dashboard-token-xxxxx

在这里插入图片描述
访问的时候要https方式访问ip加暴露出来的端口号External-IP
复制上面的token,使用token方式登陆

默认dashboard对集群没有操作权限,需要做相关授权

vim rbac.yaml

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kubernetes-dashboard-admin
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard  
kubectl apply -f rbac.yaml 

应用该rbac.yaml后,可管理资源
在这里插入图片描述
点击左侧工作负载,可以查看已创建pod的yaml文件并编辑,来达到创建或更新Pod的目的
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
也可以删除
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值