现在腾讯云的tke托管集群已经需要收费了,针对不同的集群规格,会有一些资源最大的限制,如果超过这个限制,会影响集群可用性,从而导致集群访问异常,具体的限制说明可以参考文档https://cloud.tencent.com/document/product/457/68804
那么集群的 最大管理节点数量、最大 Pod 数量、最大 ConfigMap 数量、最大 CRD 数量 这4个指标该如何统计当前的数量呢,下面我们来给下对应的统计命令
- 节点数量统计
kubectl get node -A | wc -l
- pod数量统计
kubectl get pod -A | wc -l
- configmap数量统计
kubectl get cm -A | wc -l
- crd数量统计
for i in `kubectl get crd | grep -v NAME | awk -F " " '{print $1}'` ; do kubectl get --raw /metrics|grep etcd_object_counts|sort -rn -k2 | grep -i ${i} ; done | awk '{sum =$NF}END{print sum}'
注意:资源对象数量在不同版本的k8s,metrics指标发生变化:
- 当TKE为1.22以上版本时, 指标名字为apiserver_storage_objects
- 当TKE为1.22以下版本时, 指标名字为etcd_object_counts。
- TKE为1.22版本时,指标名字apiserver_storage_objects和etcd_object_counts都可以查询到
如果是1.22以上的TKE版本,用下面命令统计
代码语言:txt复制for i in `kubectl get crd | grep -v NAME | awk -F " " '{print $1}'` ; do kubectl get --raw /metrics|grep apiserver_storage_objects |sort -rn -k2 | grep -i ${i} ; done | awk '{sum =$NF}END{print sum}'