GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo eliminar una implementación de Kubernetes [Consejos rápidos de K8s]

Una implementación de Kubernetes ejecuta varias réplicas de su aplicación y reemplaza automáticamente cualquier instancia que falle o deje de responder.

Cuando practique Kubernetes, a menudo necesitará eliminar las implementaciones de Kubernetes.

Eliminar implementaciones es fácil gracias al comando kubectl delete deployments:

kubectl delete deployment deployment_name

Lo discutiré con un poco más de detalle con los pasos para obtener el nombre de la implementación. También le mostraré otra forma de eliminar implementaciones en Kubernetes.

Utilice el comando kubectl delete deployment para eliminar implementaciones de Kubernetes

Aunque generalmente se completa la pestaña, sería mejor con el nombre de la implementación que desea eliminar.

[email protected]:~# kubectl get deployments
NAME     READY   UP-TO-DATE   AVAILABLE   AGE
my-dep   2/2     2            2           4m22s

Una vez que tenga el nombre de la implementación, simplemente utilícelo así:

kubectl delete deployments my-dep

Debería mostrar un resultado que le indique que su implementación se eliminó:

[email protected]:~/pod-create# kubectl delete deployments my-dep
deployment.apps "my-dep" deleted

Puede verificarlo comprobando las implementaciones disponibles:

[email protected]:~/pod-create# kubectl get deployments
No resources found in default namespace.
También puede usar deployment o deployments (con una s) en lugar de deployment en kubectl delete deployment dominio. Es todo lo mismo.

Eliminación de la implementación de Kubernetes de un espacio de nombres específico

Las kubectl delete deployments El comando elimina las implementaciones que están presentes en el espacio de nombres "predeterminado", a menos que proporcione un espacio de nombres diferente.

¿Qué es el espacio de nombres en Kubernetes?

Los espacios de nombres están pensados ​​para su uso en entornos con muchos usuarios repartidos en varios equipos o proyectos. Es como un clúster virtual separado dentro del clúster de Kubernetes.

Por ejemplo, puede tener espacios de nombres separados para aislar sus cargas de trabajo para entornos de producción, ensayo y desarrollo.

Lista de todos los espacios de nombres disponibles y sus implementaciones

Para ver todos los espacios de nombres, use el siguiente comando:

[email protected]:~# kubectl get namespaces
NAME              STATUS   AGE
default           Active   46d
kube-node-lease   Active   46d
kube-public       Active   46d
kube-system       Active   46d
webapps           Active   22d

También puede enumerar todas las implementaciones de todos los espacios de nombres:

[email protected]:~# kubectl get deployments --all-namespaces
NAMESPACE     NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
default       my-dep2                   2/2     2            2           3h29m
kube-system   calico-kube-controllers   1/1     1            1           46d
kube-system   coredns                   2/2     2            2           46d
webapps       webapps-dep               2/2     2            2           5h19m

Cuando tenga el espacio de nombres y el nombre de la implementación, puede especificarlo en el comando kubectl delete deployment:

[email protected]:~# kubectl delete deployments --namespace=webapps webapps-dep
deployment.apps "webapps-dep" deleted

Como puede ver, webapps-dep ha sido eliminado.

[email protected]:~# kubectl get deployments --all-namespaces
NAMESPACE     NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
default       my-dep2                   2/2     2            2           3h29m
kube-system   calico-kube-controllers   1/1     1            1           46d
kube-system   coredns                   2/2     2            2           46d

Eliminación de múltiples implementaciones

Puede eliminar más de una implementación de Kubernetes proporcionando sus nombres así:

[email protected]:~/pod-create# kubectl delete deployment my-dep my-dep-2 --namespace=default

Eliminación de implementaciones de Kubernetes mediante su archivo de configuración YAML

También puede usar el archivo de configuración YAML para eliminar el recurso asociado con él.

[email protected]:~/pod-create# kubectl delete -f deployment-definition.yml
deployment.apps "my-dep" deleted

Déjame mostrártelo paso a paso.

Cree una nueva implementación usando el archivo deployment-definition.yml:

[email protected]:~# cat pod-create/deployment-definition.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-dep
  labels:
    app: webapp
  namespace: default

spec:
  template:
    metadata:
      name: my-dep-pods
      labels:
        app: webapp
        tier: front-end
    spec:
      containers:
        - name: httpd
          image: httpd
          imagePullPolicy: IfNotPresent
          ports:
          - containerPort: 80
  replicas: 2
  selector:
    matchLabels:
      tier: front-end

Cree la implementación utilizando el archivo YAML anterior:

[email protected]:~/pod-create# kubectl apply -f deployment-definition.yml
deployment.apps/my-dep created

Puede ver la implementación ahora:

[email protected]:~# kubectl get deployments --all-namespaces
NAMESPACE     NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
default       my-dep                    2/2     2            2           1m13s

Ahora, si hace referencia al mismo archivo YAML con fines de eliminación, se eliminarán los recursos (implementaciones aquí) asociados con ese archivo.

[email protected]:~/pod-create# kubectl delete -f deployment-definition.yml
deployment.apps "my-dep" deleted

Puede verificarlo enumerando todas las implementaciones:

[email protected]:~/pod-create# kubectl get deployments
No resources found in default namespace.

Espero que les guste este consejo rápido de K8s. Cubriremos más tutoriales de Kubernetes. Suscríbete para obtener más materiales de aprendizaje.


Linux
  1. Cómo hacer Canary Deployments en Kubernetes

  2. Cómo eliminar pods en Kubernetes [Consejos rápidos de K8s]

  3. Cómo reiniciar pods en Kubernetes [Consejo rápido de K8s]

  4. Cómo leer nodos en Kubernetes [Consejo rápido de K8s]

  5. Cómo eliminar un servicio en Kubernetes

Cómo instalar Kubernetes (k8s) en el servidor Ubuntu 20.04 LTS

Cómo configurar el clúster de Kubernetes (k8s) en HA con Kubeadm

Cómo configurar el registro privado de Docker en Kubernetes (k8s)

Cómo eliminar líneas en Vim / Vi

Cómo crear un Deployment en Kubernetes

¿Por qué Kubernetes se llama K8?