如何从Google Cloud Platform上的部署中删除Kubernetes仪表板窗格?

Chr*_*ski 16 google-cloud-platform kubernetes

我已经创建了一个Kubernetes部署.但是,似乎还有其他pod正在运行 - 我希望能够删除不必要的pod.

我认为没有必要运行仪表板容器.我想删除它以释放CPU资源.

如何禁用此容器启动?最好来自部署配置.

基本上是以下pod:

kubectl get pods --all-namespaces | grep "dashboard"                                  
kube-system   kubernetes-dashboard-490794276-sb6qs                  1/1       Running   1          3d
Run Code Online (Sandbox Code Playgroud)

附加信息:

产量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
Run Code Online (Sandbox Code Playgroud)

产量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
Run Code Online (Sandbox Code Playgroud)

fre*_*dev 29

要清除删除,您必须删除大量对象,只需尝试执行此操作即可查看它们的数量:

kubectl get secret,sa,role,rolebinding,services,deployments --namespace=kube-system | grep dashboard
Run Code Online (Sandbox Code Playgroud)

在撰写删除所有内容时,我这样做了:

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
Run Code Online (Sandbox Code Playgroud)


Zst*_*ack 24

这些答案都不适合我,因为每个答案都假设命名空间是kube-system,这并不总是正确的。因此,您需要首先查看名称空间:

$ kubectl get deployments -A
NAMESPACE              NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
default                nginx-deployment            3/3     3            3           39m
kube-system            coredns                     2/2     2            2           93m
kubernetes-dashboard   dashboard-metrics-scraper   1/1     1            1           12m
kubernetes-dashboard   kubernetes-dashboard        1/1     1            1           12m
Run Code Online (Sandbox Code Playgroud)

您可以从第一列 (NAMESPACE) 中看到:

$ kubectl delete deployment kubernetes-dashboard  --namespace=kubernetes-dashboard
$ kubectl delete deployment dashboard-metrics-scraper --namespace=kubernetes-dashboard
Run Code Online (Sandbox Code Playgroud)

对服务(如果有)执行相同的操作:

$kubectl get service -A
NAMESPACE              NAME                        TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)                  AGE
default                kubernetes                  ClusterIP   10.96.0.1      <none>        443/TCP                  102m
default                nginx-service               NodePort    10.96.31.151   <none>        80:31634/TCP             49m
kube-system            kube-dns                    ClusterIP   10.96.0.10     <none>        53/UDP,53/TCP,9153/TCP   102m
kubernetes-dashboard   dashboard-metrics-scraper   ClusterIP   10.102.22.35   <none>        8000/TCP                 22m
Run Code Online (Sandbox Code Playgroud)

然后删除任何仪表板服务:

$ kubectl delete service kubernetes-dashboard  --namespace=kubernetes-dashboard
$ kubectl delete service dashboard-metrics-scraper  --namespace=kubernetes-dashboard
Run Code Online (Sandbox Code Playgroud)

最后是服务帐户和机密:

$ kubectl delete sa kubernetes-dashboard --namespace=kubernetes-dashboard
$ kubectl delete secret kubernetes-dashboard-certs --namespace=kubernetes-dashboard
$ kubectl delete secret kubernetes-dashboard-key-holder --namespace=kubernetes-dashboard
Run Code Online (Sandbox Code Playgroud)

  • 这是真正的答案,如果您遵循 kubernetes 文档(该文档要求您在 kubernetes-dashboard 命名空间而不是 kube-system 中安装仪表板),这是唯一可行的答案 (6认同)

Rad*_*nka 11

简单地说,kubectl --namespace kube-system delete deployment kubernetes-dashboard您的群集中不再有仪表板

  • 它似乎在删除后立即开始备份. (2认同)

dpy*_*yro 9

使用标签选择器:

kubectl --namespace=kube-system delete deployment,service,role,rolebinding,sa,secret -l k8s-app=kubernetes-dashboard
Run Code Online (Sandbox Code Playgroud)


fro*_*tin 5

如前所述,您可以删除部署以删除也运行此命令的Pod:

kubectl delete deployment kubernetes-dashboard --namespace=kube-system 
Run Code Online (Sandbox Code Playgroud)

但是,如果您想清理所有与仪表板相关的内容,则只需执行基于Kubernetes官方手册中的delete命令K8s集群文件:

kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml
Run Code Online (Sandbox Code Playgroud)


whi*_*s11 -1

只要删除Deployment,所有相关的 pod 就会自动终止。