Kubernetesを使用してdgraph(単一サーバー)をインストールしようとしました。作成したポッドを削除するだけです。 kubectl delete pod pod-nameを使用して削除しましたが、結果には「pod deleted」と表示されていますが、再びポッド自体が再作成され、複製が続行されます。 kubernetesからこれらのポッドが必要です。私は今どうすればいい?
指定したとおり、これを使用してdgraph
サーバーを作成しました https://raw.githubusercontent.com/dgraph-io/dgraph/master/contrib/config/kubernetes/dgraph-single.yaml =、だからあなたが作成したリソースを削除するためにこれを使用してください:
$ kubectl delete -f https://raw.githubusercontent.com/dgraph-io/dgraph/master/contrib/config/kubernetes/dgraph-single.yaml
私は同じ問題に直面しました。コマンド「kubectl get deployment」を実行すると、ポッドへのそれぞれのデプロイメントが取得されます。それをコピーし、コマンド「kubectl delete deployment xyz」を実行してから確認します。新しいポッドは作成されません。
@Shudipta Sharmaの回答は、ポッドを削除する方法について明らかに正しい方法です。なぜこれが起こっているのかを著者が理解できるようにしたいと思います。その理由は、ポッドが一時的な使い捨てエンティティと見なされるKubernetesの「考え方」です。 Podが行き来すると、StatefulSetは、一意のIDを持つ特定の数のPodが常に実行されることを保証する1つの方法です。デプロイに使用したyamlファイルに到達する:
# This StatefulSet runs 1 pod with one Zero, one Alpha & one Ratel containers.
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: dgraph
spec:
serviceName: "dgraph"
replicas: 1
これを展開することで、基本的に、KubernetesがいつでもそのPodのレプリカを常に1つ実行するようにしたいと言っています。ポッドを削除すると、その条件はもはや真ではないため、削除後に、上記の条件が有効であることを確認する別のポッドが生成されます。 @Shudipta Sharmaが提供した方法は、そのStatefulSetを削除するだけなので、実行中のPodの数を監視する必要な状態がなくなります。
詳細については、Kubernetesのドキュメントをご覧ください。
Kubernetesのポッドもそのタイプに依存します。お気に入り
行う kubectl describe pod <podname>
およびチェック
apiVersion: apps/v1
kind: StatefulSet
metadata:
kubectl get <pod-kind>
最後に同じものを削除すると、ポッドも削除されます。
次のコマンドを使用して、適切なポッドの削除を実行できます。
kubectl delete pods <pod>
Kubectlバージョン> = 1.5を使用してポッドを強制的に削除するには、次の手順を実行します。
kubectl delete pods <pod> --grace-period=0 --force
Kubectl <= 1.4のいずれかのバージョンを使用している場合は、-forceオプションを省略して使用する必要があります。
kubectl delete pods <pod> --grace-period=0
これらのコマンドを実行した後でもポッドが不明な状態のままになっている場合は、次のコマンドを使用してポッドをクラスターから削除します。
kubectl patch pod <pod> -p '{"metadata":{"finalizers":null}}'