GNU/Linux >> Belajar Linux >  >> Linux

Cara Menghapus Deployment Kubernetes [Tips Cepat K8s]

Deployment Kubernetes menjalankan beberapa replika aplikasi Anda dan secara otomatis mengganti semua instance yang gagal atau menjadi tidak responsif.

Saat berlatih Kubernetes, Anda harus sering menghapus penerapan Kubernetes.

Menghapus penerapan itu mudah, berkat perintah kubectl delete deployments:

kubectl delete deployment deployment_name

Saya akan membahasnya lebih detail dengan langkah-langkah untuk mendapatkan nama penerapan. Saya juga akan menunjukkan cara lain untuk menghapus penerapan di Kubernetes.

Gunakan perintah kubectl delete deployment untuk menghapus deployment Kubernetes

Meskipun biasanya tab selesai, Anda akan lebih baik dengan nama Deployment yang ingin Anda hapus.

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

Setelah Anda memiliki nama Deployment, cukup gunakan seperti ini:

kubectl delete deployments my-dep

Ini akan menampilkan output yang memberi tahu Anda bahwa penerapan Anda telah dihapus:

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

Anda dapat memverifikasinya dengan memeriksa penerapan yang tersedia:

[email protected]:~/pod-create# kubectl get deployments
No resources found in default namespace.
Anda juga dapat menggunakan penerapan atau penerapan (dengan s) alih-alih penerapan di kubectl delete deployment memerintah. Semuanya sama.

Menghapus Deployment Kubernetes dari namespace tertentu

kubectl delete deployment perintah menghapus penerapan yang ada di namespace "default" kecuali Anda memberikan namespace yang berbeda.

Apa itu namespace di Kubernetes?

Ruang nama dimaksudkan untuk digunakan di lingkungan dengan banyak pengguna yang tersebar di beberapa tim, atau proyek. Ini seperti cluster virtual terpisah di dalam cluster Kubernetes.

Misalnya, Anda dapat memiliki ruang nama terpisah untuk mengisolasi beban kerja Anda untuk lingkungan produksi, staging, dan pengembangan.

Mencantumkan semua namespace yang tersedia dan penerapannya

Untuk melihat semua namespace, gunakan perintah berikut:

[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

Anda juga dapat membuat daftar semua penerapan dari semua ruang nama:

[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

Saat Anda memiliki namespace dan nama penerapan, Anda dapat menentukannya dengan perintah kubectl delete deployment:

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

Seperti yang Anda lihat, webapps-dep telah dihapus.

[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

Menghapus beberapa penerapan

Anda dapat menghapus lebih dari satu penerapan Kubernetes dengan memberikan namanya seperti ini:

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

Menghapus penerapan Kubernetes menggunakan file konfigurasi YAML

Anda juga dapat menggunakan file konfigurasi YAML untuk menghapus sumber daya yang terkait dengannya.

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

Biarkan saya menunjukkannya kepada Anda langkah demi langkah.

Buat penerapan baru menggunakan file 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

Buat penerapan menggunakan file YAML di atas:

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

Anda dapat melihat Deployment sekarang:

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

Sekarang, jika Anda merujuk file YAML yang sama untuk tujuan penghapusan, itu akan menghapus sumber daya (penyebaran di sini) yang terkait dengan file tersebut.

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

Anda dapat memverifikasinya dengan mencantumkan semua penerapan:

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

Semoga Anda menyukai tip K8 cepat ini. Kami akan membahas lebih banyak tutorial Kubernetes. Berlanggananlah untuk materi pembelajaran lainnya.


Linux
  1. Cara Menghapus Pod di Kubernetes [Tips Cepat K8s]

  2. Cara Memulai Ulang Pod di Kubernetes [Kiat Cepat K8s]

  3. Cara Menghapus Layanan di Kubernetes

  1. Bagaimana melakukan Deployment Canary di Kubernetes

  2. Cara Menginstal Jenkins di Kubernetes

  3. Cara Membaca Node di Kubernetes [Kiat K8 Cepat]

  1. Cara Memulai Ulang Pod Kubernetes

  2. Cara Mengonfigurasi Kubernetes untuk Pembaruan Bergulir

  3. Menerapkan MySQL di Kubernetes {Guide}