GNU/Linux >> Linux の 問題 >  >> Linux

Kubernetesデプロイメントを削除する方法[K8sのクイックヒント]

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を使用)を使用することもできます。 指図。それはすべて同じです。
特定の名前空間からのKubernetesデプロイメントの削除

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チュートリアルをカバーします。より多くの学習資料を購読してください。


Linux
  1. Kubernetesでポッドを削除する方法[K8sのクイックヒント]

  2. Kubernetesでポッドを再起動する方法[K8sのクイックヒント]

  3. Kubernetesでノードを読み取る方法[K8sのクイックヒント]

  1. Kubernetesでカナリアをデプロイする方法

  2. KubernetesにJenkinsをインストールする方法

  3. Kubernetesでサービスを削除する方法

  1. Kubernetesポッドを再起動する方法

  2. ローリングアップデート用にKubernetesを設定する方法

  3. MySQLをKubernetesにデプロイする{ガイド}