kubernetes 查看哪些 pod 正在使用 pvc

1
2
[root@k8s ~]# cat pvc-pod.sh
kubectl get pods --all-namespaces -o=json | jq -c '.items[] | {name: .metadata.name, namespace: .metadata.namespace, claimName:.spec.volumes[] | select( has ("persistentVolumeClaim") ).persistentVolumeClaim.claimName }'
1
2
3
4
5
[root@k8s ~]# sh pvc-pod.sh
{"name":"archery-mysql-master-0","namespace":"archery","claimName":"data-archery-mysql-master-0"}
{"name":"clash-d59b74867-rlj7j","namespace":"default","claimName":"ruleset-cache"}
{"name":"sonarqube-postgresql-postgresql-0","namespace":"default","claimName":"data-sonarqube-postgresql-postgresql-0"}
{"name":"sonarqube-sonarqube-7b548fdb4f-45ww8","namespace":"default","claimName":"sonarqube-sonarqube"}

查看k8s集群有哪些在使用的端口对应的服务

导出所有svc到文本

1
kubectl get svc --all-namespaces >svc.txt

过滤nodeport显示

1
grep NodePort svc.txt

通过NodePort可知道映射的服务

缩减所有空间的pod副本数为0

1
kubectl get ns -o name | awk '{print $1}' |awk -F '/' '{print $2}' >ns.txt

缩减所有空间的deployment副本数为0

1
2
3
4
5
6
7
8
9
10
cat start.sh

while read line

do

echo $line
kubectl scale --replicas=0 $(kubectl get deploy -o name -n $line) -n $line

done < ns.txt

./start.sh

缩减所有空间的statefulsets副本数为0

1
2
3
4
5
6
7
8
9
10
cat start.sh

while read line

do

echo $line
kubectl scale --replicas=0 $(kubectl get statefulsets -o name -n $line) -n $line

done < ns.txt

./start.sh

https://www.e-learn.cn/topic/3816776

使用kubectl delete jobs --all可以删除当前namespaces下所有的job