2017-05-16 13 views
0

Kubernetes 1.6.1を実行している3つのノードのクラスタがあり、それぞれ2つのCPUと4GのRAMがあります。KubernetesのGCでExit Dockerコンテナが削除されない

私は常にコンテナに渡される環境変数の値を置き換えることによって、ポッドテンプレートのハッシュを更新することにより、同じドッカータグで自分のアプリケーションを再デプロイしています。

sed "s/THIS_STRING_IS_REPLACED_DURING_BUILD/$(date)/g" nginx-deployment.yml | kubectl replace -f -

apiVersion: apps/v1beta1 
kind: Deployment 
metadata: 
    name: nginx-deployment 
spec: 
    replicas: 3 
    template: 
    metadata: 
     labels: 
     app: nginx 
    spec: 
     containers: 
     - name: nginx 
     image: nginx:1.7.9 
     ports: 
     - containerPort: 80 
     env: 
     - name: FOR_GODS_SAKE_PLEASE_REDEPLOY 
      value: 'THIS_STRING_IS_REPLACED_DURING_BUILD' 

私は数百回のためにこれを行う場合、私はそれ以上を再デプロイすることはできません - 新しいポッドが保留状態になっています。 kubectl get eventsは、次のように生成します。

Events: 
    FirstSeen LastSeen Count From   SubObjectPath Type  Reason   Message 
    --------- -------- ----- ----   ------------- -------- ------   ------- 
    1h  50s  379 default-scheduler   Warning  
FailedScheduling No nodes are available that match all of the following predicates:: Insufficient pods (3). 

を同時に私はすべてのKUBEノード上で約200終了しましたのnginxのコンテナを見ることができます。私はPodGCは、いくつかのポッドを削除しようとしているが、それらが発見されていないことがわかりますKUBE-コントローラ・マネージャのログで探し

I0516 12:53:41.137311  1 gc_controller.go:175] Found unscheduled terminating Pod nginx-deployment-2927112463-qczvv not assigned to any Node. Deleting. 
I0516 12:53:41.137320  1 gc_controller.go:62] PodGC is force deleting Pod: default:nginx-deployment-2927112463-qczvv 
E0516 12:53:41.190592  1 gc_controller.go:177] pods "nginx-deployment-2927112463-qczvv" not found 
I0516 12:53:41.195020  1 gc_controller.go:175] Found unscheduled terminating Pod nginx-deployment-3265736979-jrpzb not assigned to any Node. Deleting. 
I0516 12:53:41.195048  1 gc_controller.go:62] PodGC is force deleting Pod: default:nginx-deployment-3265736979-jrpzb 
E0516 12:53:41.238307  1 gc_controller.go:177] pods "nginx-deployment-3265736979-jrpzb" not found 

これを防ぐためにできることはありますか?

答えて

0

私はあなたがあなたのノードのすべてのリソースが不足していると思います。スケジューラは、ポッドをスケジュールするノードを見つけることができません。ポッドはどのノードにもスケジュールされていないため、PodGCはポッドを削除できません。

私はあなたがあなたのすべてのリソースを使い果たした理由を再度確認するべきだと思います。

関連する問題