部署环境
IP地址 | 主机名 | 功能 |
---|---|---|
10.1.104.200 | k8s-deploy | 部署节点,不承担实际作用 |
10.1.104.201 | k8s-master01 | master节点 |
10.1.104.202 | k8s-master02 | master节点 |
10.1.104.203 | k8s-master03 | master节点 |
10.1.104.204 | k8s-nginx | 负载均衡节点,实际生产中应为HA架构 |
10.1.104.205 | k8s-node01 | node节点 |
10.1.104.206 | k8s-node02 | node节点 |
10.1.104.207 | k8s-node03 | node节点 |
部署插件_Metrics-Server
Metrics-Server通过kube-apiserver发现所有节点,然后调用kubelet APIs(通过 https 接口)获得各节点(Node)和 Pod 的 CPU、Memory 等资源使用情况。
Metrics-Server部署完成之后,可以使用kubectl top命令及api调用查看资源情况。
Kubernetes 1.12版本开始,安装脚本移除了Heapster,从1.13开始完全移除了对Heapster的支持,Heapster不再被维护。
kubernetes部署metrics-server(k8s-master):
获取Metrics-Server资源清单:
cd /opt/k8s/work,进入k8s工作目录。
wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.7/components.yaml
修改Metrics-Server部署文件:
vim components.yaml
# image: k8s.gcr.io/metrics-server/metrics-server:v0.3.7
image: mirrorgooglecontainers/metrics-server-amd64:v0.3.2
args:
- --cert-dir=/tmp
- --secure-port=4443
- --kubelet-insecure-tls
- --metric-resolution=30s
- --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP
- 因为墙外资源的问题,需要替换掉镜像仓库的地址。
- args中需要添加几个参数,否则可能会有DNS解析不通的可能。
- 如果master上没有装kube-proxy,则kube-apiserver的启动选项中必须有–enable-aggregator-routing=true选项,否则会导致不能聚合数据而使用kubectl top时候报错。
部署Metrics-Server资源:
kubectl apply -f components.yaml
kubectl get pod -n kube-system | grep metrics-server
确认Metrics-Server应用正确启动:
# 查看节点的资源使用率
kubectl top node
# 查看pod的资源使用率
kubectl top pod
# 通过kube-apiserver获取资源信息
https://10.1.104.201:6443/apis/metrics.k8s.io/v1beta1/nodes
文档更新时间: 2020-10-22 15:55 作者:闻骏