Kubernetesデプロイは、アプリケーションの複数のレプリカを実行し、失敗したり応答しなくなったりしたインスタンスを自動的に置き換えます。
Kubernetesを練習しているときは、Kubernetesのデプロイを削除する必要があることがよくあります。
kubectl delete deploysコマンドのおかげで、デプロイメントの削除は簡単です。
kubectl delete deployment deployment_name
デプロイメント名を取得する手順について、もう少し詳しく説明します。また、Kubernetesでデプロイを削除する別の方法も紹介します。
Kubernetesデプロイメントを削除するにはkubectldeletedeploymentコマンドを使用します
通常はタブが完成しますが、削除するデプロイメントの名前を使用することをお勧めします。
[email protected]:~# kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
my-dep 2/2 2 2 4m22s
デプロイメント名を取得したら、次のように使用します。
kubectl delete deployments my-dep
デプロイメントが削除されたことを示す出力が表示されます:
[email protected]:~/pod-create# kubectl delete deployments my-dep
deployment.apps "my-dep" deleted
利用可能な展開を確認することで確認できます:
[email protected]:~/pod-create# kubectl get deployments
No resources found in default namespace.
kubectl delete deployment
でのデプロイの代わりに、デプロイまたはデプロイメント(sを使用)を使用することもできます。 指図。それはすべて同じです。
kubectl delete deployments
別の名前空間を指定しない限り、コマンドは「デフォルト」の名前空間に存在するデプロイメントを削除します。
Kubernetesの名前空間とは何ですか?
名前空間は、多くのユーザーが複数のチームまたはプロジェクトに分散している環境での使用を目的としています。これは、Kubernetesクラスター内の個別の仮想クラスターのようなものです。
たとえば、本番環境、ステージング環境、開発環境のワークロードを分離するために、個別の名前空間を設定できます。
利用可能なすべての名前名とその展開を一覧表示する
すべての名前名を表示するには、次のコマンドを使用します。
[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
すべての名前空間からのすべての展開を一覧表示することもできます:
[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
名前空間とデプロイメント名がある場合は、それをkubectldeleteデプロイメントコマンドに指定できます。
[email protected]:~# kubectl delete deployments --namespace=webapps webapps-dep
deployment.apps "webapps-dep" deleted
ご覧のとおり、webapps-dep
削除されました。
[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
次のように名前を指定することで、複数のKubernetesデプロイメントを削除できます。
[email protected]:~/pod-create# kubectl delete deployment my-dep my-dep-2 --namespace=default
YAML構成ファイルを使用してKubernetesデプロイメントを削除する
YAML構成ファイルを使用して、それに関連付けられているリソースを削除することもできます。
[email protected]:~/pod-create# kubectl delete -f deployment-definition.yml
deployment.apps "my-dep" deleted
少しずつお見せしましょう。
deploy-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
上記のYAMLファイルを使用してデプロイを作成します:
[email protected]:~/pod-create# kubectl apply -f deployment-definition.yml
deployment.apps/my-dep created
今すぐ展開を確認できます:
[email protected]:~# kubectl get deployments --all-namespaces
NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE
default my-dep 2/2 2 2 1m13s
これで、削除の目的で同じYAMLファイルを参照すると、そのファイルに関連付けられているリソース(ここではデプロイ)が削除されます。
[email protected]:~/pod-create# kubectl delete -f deployment-definition.yml
deployment.apps "my-dep" deleted
すべてのデプロイメントをリストすることで確認できます:
[email protected]:~/pod-create# kubectl get deployments
No resources found in default namespace.
この簡単なK8sのヒントが気に入っていただければ幸いです。より多くのKubernetesチュートリアルをカバーします。より多くの学習資料を購読してください。