Metrics 部署
在新版的 Kubernetes 中,系统资源的采集使用 Metrics-server,可以通过 Metrics 采集节点和 Pod 的内存、磁盘、CPU 和网络的使用率。
将 Master01 节点的 front-proxy-ca.crt 复制到所有 Node 节点
for i in k8s-node01 k8s-node02; \
do scp /etc/kubernetes/pki/front-proxy-ca.crt root@$i:/etc/kubernetes/pki/front-proxy-ca.crt; \
done
在 Master01 节点安装 metrics server
(Optional)如果没有下载 k8s-ha-install,先从 gitee 上克隆它:
git clone https://gitee.com/zhang993632987/k8s-ha-install.git -b manual-installation-v1.27.x
安装 metrics server:
cd /root/k8s-ha-install/metrics-server
comp.yaml存在一点问题,需要先修复才能正常使用
在分支中 manual-installation-v1.27.x 中的文件配置存在一点问题,需要修改后才能正常安装。下面展示了修改相关的片段,并用“#” 将修改的部分标示了出来:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
k8s-app: metrics-server
name: metrics-server
namespace: kube-system
spec:
selector:
matchLabels:
k8s-app: metrics-server
strategy:
rollingUpdate:
maxUnavailable: 0
template:
metadata:
labels:
k8s-app: metrics-server
spec:
containers:
- args:
- --cert-dir=/tmp
- --secure-port=4443
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
- --kubelet-use-node-status-port
- --metric-resolution=15s
- --kubelet-insecure-tls
- --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt # change to front-proxy-ca.crt
- --requestheader-username-headers=X-Remote-User
- --requestheader-group-headers=X-Remote-Group
- --requestheader-extra-headers-prefix=X-Remote-Extra-
image: registry.cn-beijing.aliyuncs.com/dotbalo/metrics-server:v0.6.3
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
httpGet:
path: /livez
port: https
scheme: HTTPS
periodSeconds: 10
name: metrics-server
ports:
- containerPort: 4443
name: https
protocol: TCP
readinessProbe:
failureThreshold: 3
httpGet:
path: /readyz
port: https
scheme: HTTPS
initialDelaySeconds: 20
periodSeconds: 10
resources:
requests:
cpu: 100m
memory: 200Mi
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
runAsNonRoot: true
runAsUser: 1000
volumeMounts:
- mountPath: /tmp
name: tmp-dir
- mountPath: /etc/kubernetes/pki # 删除/front-proxy-ca.pem
name: pki
nodeSelector:
kubernetes.io/os: linux
priorityClassName: system-cluster-critical
serviceAccountName: metrics-server
volumes:
- emptyDir: {}
name: tmp-dir
- hostPath:
path: /etc/kubernetes/pki # 删除/front-proxy-ca.pem
name: pki
kubectl create -f comp.yaml
检查安装情况
查看 metrics-server Pod 状态:
kubectl get po -n kube-system -l k8s-app=metrics-server
待 Pod 变成 1/1 Running 后,等待几分钟,即可查看节点和 Pod 资源的使用率:
# kubectl top node
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
k8s-master01 263m 13% 1759Mi 22%
k8s-node01 87m 4% 945Mi 12%
k8s-node02 79m 3% 590Mi 7%
# kubectl top po -A
NAMESPACE NAME CPU(cores) MEMORY(bytes)
kube-system calico-kube-controllers-59fb99f948-5xl52 5m 21Mi
kube-system calico-node-5g6vw 33m 122Mi
kube-system calico-node-dnd5f 36m 131Mi
kube-system calico-node-nfvqw 42m 117Mi
kube-system calico-typha-7877bbb7fd-8nqp9 3m 34Mi
kube-system coredns-65dcc469f7-cmpg6 2m 18Mi
kube-system coredns-65dcc469f7-cqdlb 2m 17Mi
kube-system etcd-k8s-master01 31m 72Mi
kube-system kube-apiserver-k8s-master01 56m 466Mi
kube-system kube-controller-manager-k8s-master01 25m 63Mi
kube-system kube-proxy-59xjt 1m 20Mi
kube-system kube-proxy-9m89q 1m 18Mi
kube-system kube-proxy-z7hwz 1m 24Mi
kube-system kube-scheduler-k8s-master01 4m 21Mi
kube-system metrics-server-7775d96dc7-cfjjz 3m 22Mi
kubernetes-dashboard dashboard-metrics-scraper-54b649975-bbt7w 1m 11Mi
kubernetes-dashboard kubernetes-dashboard-67d8bbc569-z5xxj 1m 14Mi
最后更新于
这有帮助吗?