Minikube for windowsで、kubernetesクラスターにデプロイを作成し、レプリカを1から2に変更してスケーリングを試みました。その後、kubectlがハングし、ディスク使用率が100%になりました。展開に1つのコンテナーしかない
apiVersion: apps/v1
kind: Deployment
metadata:
name: first-deployment
spec:
replicas: 1
selector:
matchLabels:
run: app
template:
metadata:
labels:
run: app
spec:
containers:
- name: demo
image: ner_app
imagePullPolicy: IfNotPresent
ports:
- containerPort: 5000
私がしたことは、ポッドが正常にデプロイされて実行された後にこれを実行することだけでした
kubectl scale --replicas=2 deployment first-deployment
別の端末でポッドを使用して見ていました
kubectl get pods --watch
しかし、すべてが応答しなくなり、これからどのように回復するのかわかりません。
kubectl get pods
を再度実行すると、次のメッセージが表示されます
PS D:\docker\ner> kubectl get pods
Unable to connect to the server: net/http: TLS handshake timeout
実行中のプロセスを回復またはキャンセルする方法はありますか?
また、私のVMはHyper-V for Windows 10 Pro(minikubeとDocker Desktop)にあり、どちらもデフォルトRAM割り当て済み-2048MBです)
私のポッドのコンテナーは機械学習プロセスであり、それがロードするモデルは、200MBから300MB程度の大きなものになる可能性があります
デプロイでリソース limits を設定して、ポッドがノードで使用可能なリソース全体を使用しないようにすることができます。
プロキシの問題が発生している可能性があります。次のコマンドを試してください:
$ unset http_proxy
$ unset https_proxy
そして、kubectl呼び出しを繰り返します。