J'ai créé un déploiement Kubernetes. Cependant, il semble y avoir des pods supplémentaires en cours d'exécution - que j'espère pouvoir supprimer ceux inutiles.
Je ne vois pas la nécessité d'exécuter le conteneur de tableau de bord. Je voudrais le supprimer pour libérer des ressources CPU.
Comment désactiver le démarrage de ce conteneur? De préférence à partir de la configuration de déploiement.
Essentiellement le pod suivant:
kubectl get pods --all-namespaces | grep "dashboard"
kube-system kubernetes-dashboard-490794276-sb6qs 1/1 Running 1 3d
Informations supplémentaires:
Sortie de kubectl --namespace kube-system get deployment
:
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
heapster-v1.3.0 1 1 1 1 3d
kube-dns 2 2 2 2 3d
kube-dns-autoscaler 1 1 1 1 3d
kubernetes-dashboard 1 1 1 1 11m
l7-default-backend 1 1 1 1 3d
Sortie de kubectl --namespace kube-system get rs
:
NAME DESIRED CURRENT READY AGE
heapster-v1.3.0-191291410 1 1 1 3d
heapster-v1.3.0-3272732411 0 0 0 3d
heapster-v1.3.0-3742215525 0 0 0 3d
kube-dns-1829567597 2 2 2 3d
kube-dns-autoscaler-2501648610 1 1 1 3d
kubernetes-dashboard-490794276 1 1 1 12m
l7-default-backend-3574702981 1 1 1 3d
Pour avoir une suppression nette, vous devez supprimer un grand nombre d'objets, essayez simplement de l'exécuter pour voir combien ils sont:
kubectl get secret,sa,role,rolebinding,services,deployments --namespace=kube-system | grep dashboard
Au moment d'écrire pour tout supprimer, j'ai fait ceci:
kubectl delete deployment kubernetes-dashboard --namespace=kube-system
kubectl delete service kubernetes-dashboard --namespace=kube-system
kubectl delete role kubernetes-dashboard-minimal --namespace=kube-system
kubectl delete rolebinding kubernetes-dashboard-minimal --namespace=kube-system
kubectl delete sa kubernetes-dashboard --namespace=kube-system
kubectl delete secret kubernetes-dashboard-certs --namespace=kube-system
kubectl delete secret kubernetes-dashboard-key-holder --namespace=kube-system
Allez simplement avec kubectl --namespace kube-system delete deployment kubernetes-dashboard
et vous n'aurez plus de tableau de bord dans votre cluster
Utilisation d'un sélecteur d'étiquettes:
kubectl --namespace=kube-system delete deployment,service,role,rolebinding,sa,secret -l k8s-app=kubernetes-dashboard
Comme indiqué précédemment, vous pouvez supprimer le déploiement pour supprimer les pods en exécutant également ceci:
kubectl delete deployment kubernetes-dashboard --namespace=kube-system
Mais si vous voulez nettoyer toutes les choses liées au tableau de bord, vous pouvez simplement exécuter la commande de suppression du fichier de cluster K8s basé sur le --- manuel Kubernetes :
kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml
kubectl --namespace=kube-system edit deployment kubernetes-dashboard
Et mettre replicas: 0
Cela semble fonctionner pour le tableau de bord.
Supprimez simplement le Deployment
, tous les pods associés se termineront automatiquement.