how to delete kubectl service

KubernetesKubectl

Kubernetes Problem Overview


I executed the following command: % kubectl get service

It returned this list of services that were created at one point in time with kubectl:

NAME                     CLUSTER-IP   EXTERNAL-IP   PORT(S)                         AGE
car-example-service      10.0.0.129   <nodes>       8025:31564/TCP,1025:31764/TCP   10h
circle-example-service   10.0.0.48    <nodes>       9000:30362/TCP                  9h
demo-service             10.0.0.9     <nodes>       8025:30696/TCP,1025:32047/TCP   10h
example-servic           10.0.0.168   <nodes>       8080:30231/TCP                  1d
example-service          10.0.0.68    <nodes>       8080:32308/TCP                  1d
example-service2         10.0.0.184   <nodes>       9000:32727/TCP                  13h
example-webservice       10.0.0.35    <nodes>       9000:32256/TCP                  1d
hello-node               10.0.0.224   <pending>     8080:32393/TCP                  120d
kubernetes               10.0.0.1     <none>        443/TCP                         120d
mouse-example-service    10.0.0.40    <nodes>       9000:30189/TCP                  9h
spring-boot-web          10.0.0.171   <nodes>       8080:32311/TCP                  9h
spring-boot-web-purple   10.0.0.42    <nodes>       8080:31740/TCP                  9h

I no longer want any of these services listed, because when I list resources: % kubectl get rs

I am expecting that I only see the spring-boot-web resource listed.

NAME                         DESIRED   CURRENT   READY     AGE
spring-boot-web-1175758536   1         1         0         18m

Please help clarify why I am seeing services that are listed , when the resources only show 1 resource.

Kubernetes Solutions


Solution 1 - Kubernetes

Simply call this command.

1/Get all available services:

kubectl get service -o wide

2/ Then you can delete any services like this:

kubectl delete svc <YourServiceName>

Solution 2 - Kubernetes

show deployment

$ kubectl get deployments;

NAME              DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
spring-hello      1         1         1            1           22h
spring-world      1         1         1            1           22h
vfe-hello-wrold   1         1         1            1           14m

show services

$kubectl get services;

NAME              TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
kubernetes        ClusterIP   10.96.0.1        <none>        443/TCP          2d
spring-hello      NodePort    10.103.27.226   <none>        8081:30812/TCP   23h
spring-world      NodePort    10.102.21.165    <none>        8082:31557/TCP   23h
vfe-hello-wrold   NodePort    10.101.23.36     <none>        8083:31532/TCP   14m

delete deployment

$ kubectl delete deployments vfe-hello-wrold

deployment.extensions "vfe-hello-wrold" deleted

delete services

$ kubectl delete service vfe-hello-wrold

service "vfe-hello-wrold" deleted

Solution 3 - Kubernetes

Kubernetes objects like Service and Deployment/ReplicaSet/Pod are independent and their deletions do not cascade to each other (like it does between say Deployment/RS/Pod). You need to manage your services independently from other objects, so you just need to delete the ones that are still lingering behind.

Solution 4 - Kubernetes

If you want to delete multiple related or non related objects at the same time

 kubectl delete <objType>/objname <objType>/objname <objType>/objname

Example

 kubectl delete service/myhttpd-clusterip service/myhttpd-nodeport

 kubectl delete service/myhttpd-lb deployment/myhttpd

This also works

kubectl delete deploy/httpenv svc/httpenv-np

Solution 5 - Kubernetes

To delete ALL services in ALL namespaces just run:

kubectl delete --all services --namespace=*here-you-enter-namespace

The other option is to delete the deployment with:

kubectl delete deployment deployment-name

That will delete the service as well!

IMPORTANT: And watch out when you run this command in production!

Cheers!

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionjoe the coderView Question on Stackoverflow
Solution 1 - KubernetesRezaView Answer on Stackoverflow
Solution 2 - Kubernetes取一个好的名字View Answer on Stackoverflow
Solution 3 - KubernetesRadek 'Goblin' PieczonkaView Answer on Stackoverflow
Solution 4 - KubernetesAbhash KumarView Answer on Stackoverflow
Solution 5 - KubernetesDragomir IvanovView Answer on Stackoverflow