GNU/Linux >> Znalost Linux >  >> Linux

Jak odstranit nasazení Kubernetes [Rychlé tipy K8s]

Kubernetes Deployment spouští několik replik vaší aplikace a automaticky nahradí všechny instance, které selžou nebo přestanou reagovat.

Když cvičíte Kubernetes, často budete muset odstranit nasazení Kubernetes.

Odstranění nasazení je snadné díky příkazu kubectl delete deployments:

kubectl delete deployment deployment_name

Proberu to trochu podrobněji s kroky k získání názvu nasazení. Ukážu vám také další způsob, jak odstranit nasazení v Kubernetes.

K odstranění nasazení Kubernetes použijte příkaz kubectl delete deployment

I když je karta obvykle dokončena, bylo by lepší uvést název Deployment, který chcete odstranit.

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

Jakmile budete mít název Deployment, jednoduše jej použijte takto:

kubectl delete deployments my-dep

Měl by zobrazit výstup, který vám řekne, že vaše nasazení je odstraněno:

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

Můžete to ověřit kontrolou dostupných nasazení:

[email protected]:~/pod-create# kubectl get deployments
No resources found in default namespace.
Můžete také použít nasazení nebo nasazení (s písmenem s) místo nasazení v kubectl delete deployment příkaz. Všechno je to stejné.

Odstranění nasazení Kubernetes z konkrétního jmenného prostoru

kubectl delete deployments příkaz odstraní nasazení, která jsou přítomna ve "výchozím" jmenném prostoru, pokud nezadáte jiný jmenný prostor.

Co je jmenný prostor v Kubernetes?

Jmenné prostory jsou určeny pro použití v prostředích s mnoha uživateli rozmístěnými ve více týmech nebo projektech. Je to jako samostatný virtuální cluster v clusteru Kubernetes.

Například můžete mít samostatné jmenné prostory, abyste izolovali své pracovní zatížení pro produkční, pracovní a vývojová prostředí.

Seznam všech dostupných jmenných prostorů a jejich nasazení

Chcete-li zobrazit všechny jmenné prostory, použijte následující příkaz:

[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

Můžete také uvést všechna nasazení ze všech jmenných prostorů:

[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

Když máte jmenný prostor a název nasazení, můžete je zadat do příkazu nasazení kubectl delete:

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

Jak můžete vidět, webapps-dep byl smazán.

[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

Smazání více nasazení

Můžete odstranit více než jedno nasazení Kubernetes zadáním jejich názvů takto:

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

Odstranění nasazení Kubernetes pomocí jeho konfiguračního souboru YAML

Konfigurační soubor YAML můžete také použít k odstranění prostředku, který je s ním spojen.

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

Dovolte mi, abych vám to ukázal krok za krokem.

Vytvořte nové nasazení pomocí souboru 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

Vytvořte nasazení pomocí výše uvedeného souboru YAML:

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

Nyní můžete vidět Nasazení:

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

Pokud nyní doporučíte stejný soubor YAML pro účely smazání, odstraní se tím zdroje (zde rozmístění) spojené s tímto souborem.

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

Můžete to ověřit výpisem všech nasazení:

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

Doufám, že se vám tento rychlý tip K8s líbí. Budeme se věnovat dalším výukovým programům Kubernetes. Přihlaste se k odběru dalších výukových materiálů.


Linux
  1. Jak odstranit moduly v Kubernetes [Rychlé tipy K8s]

  2. Jak restartovat moduly v Kubernetes [Rychlý tip K8s]

  3. Jak odstranit službu v Kubernetes

  1. Jak provést nasazení Canary na Kubernetes

  2. Jak nainstalovat Jenkins na Kubernetes

  3. Jak číst uzly v Kubernetes [Rychlý tip K8s]

  1. Jak restartovat Kubernetes Pods

  2. Jak nakonfigurovat Kubernetes pro průběžnou aktualizaci

  3. Nasazení MySQL na Kubernetes {Guide}