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.