kubernetes部署metrics-server

关于metrics-server

原有的kubernetes容器监控服务heapster,从kubernetes 1.11版本开始逐渐退休,如下图所示,红框中显示新的监控服务即metrics-server :
在这里插入图片描述
metrics-server的github地址:https://github.com/kubernetes-sigs/metrics-server

实战环境信息

  1. 本次实战环境由三台CensOS7服务器组成,已部署了kubernetes 1.15版本;
  2. 即将部署的metrics-server版本为v0.3.6,与kubernetes版本的匹配关系如下:
    在这里插入图片描述
    接下来开始部署;

下载metrics-server

  1. ssh登录kubernetes机器;
  2. 从GitHub下载metrics-server的发布包:
wget https://github.com/kubernetes-sigs/metrics-server/archive/v0.3.6.tar.gz
  1. 解压下载的文件:
tar -zxvf v0.3.6.tar.gz
  1. 得到名为metrics-server-0.3.6的文件夹,下载工作完成;

解决问题

接下来还不能立即部署服务,有两个问题要先解决:

  1. metrics-server默认使用的是hostname,但是coredns中并没有三台物理机器的hostname和IP地址的关系,需要改为使用主机IP地址;

  2. 验证客户端证书的问题,需要改为不验证;

上述问题通过以下步骤解决:

  1. 进入目录metrics-server-0.3.6/deploy/1.8+/
cd metrics-server-0.3.6/deploy/1.8+/
  1. 打开文件metrics-server-deployment.yaml,新增一些内容,如下图,红框中为新增的内容:
    在这里插入图片描述

部署metrics-server

  1. 还是在目录metrics-server-0.3.6/deploy/1.8+/,执行命令kubectl apply -f ./
  2. 控制台提示多种资源被创建,如下图:
    在这里插入图片描述
  3. 等待metrics-server的pod为running状态,如下图:
    在这里插入图片描述
  4. 至此,metrics-server部署已经完成,接下来验证服务是否正常;

验证功能

  1. 执行命令kubectl top node查看服务器节点情况:
    在这里插入图片描述
  2. 执行命令kubectl top pod -n kube-system查看kube-system这个namespace下所有pod的基本情况:
    在这里插入图片描述
  3. 再来试试metrics-server的API服务,执行命令kubectl proxy --port=8080,用来开代理端口;
  4. 再开打一个同样的ssh连接,执行命令curl localhost:8080/apis/metrics.k8s.io/v1beta1/,如下图,可以看到API返回的内容:
    在这里插入图片描述
  5. 查看名为kube-apiserver-node1的pod的基本信息,命令是:curl localhost:8080/apis/metrics.k8s.io/v1beta1/namespaces/kube-system/pods/kube-apiserver-node1,如下图:
    在这里插入图片描述
    至此,kubernetes环境的metrics-server部署和验证都完成了,希望能给您一些参考;

欢迎关注我的公众号:程序员欣宸

在这里插入图片描述

Kubernetes (k8s) 的 Metrics-Server 是一个独立的组件,用于收集和存储集群内各个节点和Pod的监控指标,如CPU、内存、网络I/O等。在 Kubernetes 1.24 版本部署 Metrics-Server,你可以按照以下步骤操作: 1. **安装依赖**: - 确保你的系统已经安装了 Kubernetes 工具(kubectl 和 kubelet),并且有可用的 API Server。 2. **获取镜像**: - 可以从官方 Docker Hub 获取 Metrics-Server 的镜像,例如 `gcr.io/k8s-minikube/metrics-server:v0.5.1` 或者最新的稳定版本。 3. **创建服务账户**: ```yaml apiVersion: v1 kind: ServiceAccount metadata: name: metrics-server namespace: kube-system ``` 4. **应用角色绑定**: ```yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: metrics-server-cluster-rule subjects: - kind: ServiceAccount name: metrics-server namespace: kube-system spec: roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-reader ``` 5. **创建 Deployment**: 使用以下 YAML 配置文件(替换 `<image>` 为你需要的镜像名称): ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: metrics-server namespace: kube-system spec: replicas: 1 selector: matchLabels: app: metrics-server template: metadata: labels: app: metrics-server spec: serviceAccountName: metrics-server containers: - name: metrics-server image: <image> ports: - containerPort: 443 args: ["--kubelet-insecure-tls", "--kubelet-preferred-address-types=InternalIP"] ``` 6. **检查部署**: ``` kubectl apply -f metrics-server-deployment.yaml kubectl get pods -n kube-system | grep metrics-server ``` 7. **验证配置**: 检查 Metrics-Server 是否正常运行并能访问集群资源: ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员欣宸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值