GNU/Linux >> Tutoriels Linux >  >> Linux

Comment supprimer un déploiement Kubernetes [Quick K8s Tips]

Un déploiement Kubernetes exécute plusieurs répliques de votre application et remplace automatiquement toutes les instances qui échouent ou ne répondent plus.

Lorsque vous pratiquez Kubernetes, vous devrez souvent supprimer des déploiements Kubernetes.

La suppression de déploiements est facile grâce à la commande kubectl delete deployments :

kubectl delete deployment deployment_name

Je vais en discuter un peu plus en détail avec les étapes pour obtenir le nom du déploiement. Je vais également vous montrer une autre façon de supprimer des déploiements dans Kubernetes.

Utiliser la commande kubectl delete deployment pour supprimer les déploiements Kubernetes

Bien que l'onglet soit généralement rempli, vous feriez mieux d'indiquer le nom du déploiement que vous souhaitez supprimer.

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

Une fois que vous avez le nom du déploiement, utilisez-le simplement comme ceci :

kubectl delete deployments my-dep

Il devrait afficher une sortie vous indiquant que votre déploiement est supprimé :

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

Vous pouvez le vérifier en vérifiant les déploiements disponibles :

[email protected]:~/pod-create# kubectl get deployments
No resources found in default namespace.
Vous pouvez également utiliser deploy ou deployments (avec un s) au lieu de deployment dans le kubectl delete deployment commande. C'est pareil.

Suppression du déploiement Kubernetes d'un espace de noms spécifique

Les déploiements kubectl delete deployments La commande supprime les déploiements qui sont présents dans l'espace de noms "par défaut", sauf si vous fournissez un espace de noms différent.

Qu'est-ce que l'espace de noms dans Kubernetes ?

Les espaces de noms sont destinés à être utilisés dans des environnements avec de nombreux utilisateurs répartis sur plusieurs équipes ou projets. C'est comme un cluster virtuel séparé au sein du cluster Kubernetes.

Par exemple, vous pouvez disposer d'espaces de noms distincts pour isoler vos charges de travail pour les environnements de production, de préproduction et de développement.

Répertorier tous les espaces de noms disponibles et leurs déploiements

Pour voir tous les espaces de noms, utilisez la commande suivante :

[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

Vous pouvez également lister tous les déploiements de tous les espaces de noms :

[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

Lorsque vous avez l'espace de noms et le nom du déploiement, vous pouvez le spécifier à la commande kubectl delete deployment :

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

Comme vous pouvez le voir, webapps-dep a été supprimé.

[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

Supprimer plusieurs déploiements

Vous pouvez supprimer plusieurs déploiements Kubernetes en fournissant leurs noms comme ceci :

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

Supprimer des déploiements Kubernetes à l'aide de son fichier de configuration YAML

Vous pouvez également utiliser le fichier de configuration YAML pour supprimer la ressource qui lui est associée.

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

Laissez-moi vous le montrer étape par étape.

Créez un nouveau déploiement à l'aide du fichier 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

Créez le déploiement à l'aide du fichier YAML ci-dessus :

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

Vous pouvez voir le déploiement maintenant :

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

Maintenant, si vous faites référence au même fichier YAML à des fins de suppression, cela supprimera les ressources (déploiements ici) associées à ce fichier.

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

Vous pouvez le vérifier en listant tous les déploiements :

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

J'espère que vous aimez cette astuce rapide K8s. Nous couvrirons plus de tutoriels Kubernetes. Abonnez-vous pour plus de matériel d'apprentissage.


Linux
  1. Comment effectuer des déploiements Canary sur Kubernetes

  2. Comment supprimer des pods dans Kubernetes [Quick K8s Tips]

  3. Comment redémarrer les pods dans Kubernetes [Quick K8s Tip]

  4. Comment lire les nœuds dans Kubernetes [Quick K8s Tip]

  5. Comment supprimer un service dans Kubernetes

Comment installer Kubernetes (k8s) sur le serveur Ubuntu 20.04 LTS

Comment configurer le cluster Kubernetes (k8s) en HA avec Kubeadm

Comment configurer le registre Docker privé dans Kubernetes (k8s)

Comment supprimer des lignes dans Vim / Vi

Comment créer un déploiement dans Kubernetes

Pourquoi Kubernetes s'appelle-t-il K8s ?