2017-05-19 8 views
1

Iは、3つのノードから成る織りCNIプラグインでkubernetesクラスタ有する:Kubeletプロセスが長時間にわたって高いCPU使用率を有する

  • 1マスタノード(仮想マシン)
  • 2ワーカーbaremetallノード(4つのコアXeonプロセッサとをハイパースレッディング - 8論理ノード)

topは、kubeletが最初のワーカーで60-100%のCPU使用率を持つことを示しています。 はjournalctl -u kubeletに私は

May 19 09:57:38 kube-worker1 bash[3843]: E0519 09:57:38.075243 3843 docker_sandbox.go:205] Failed to stop sandbox "011cf10cf46dbc6bf2e11d1cb562af478eee21eba0c40521bf7af51ee5399640": Error response from daemon: {"message":"No such container: 011cf10cf46dbc6bf2e11d1cb562af478eee21eba0c40521bf7af51ee5399640"} 
May 19 09:57:38 kube-worker1 bash[3843]: E0519 09:57:38.075360 3843 remote_runtime.go:109] StopPodSandbox "011cf10cf46dbc6bf2e11d1cb562af478eee21eba0c40521bf7af51ee5399640" from runtime service failed: rpc error: code = 2 desc = NetworkPlugin cni failed to teardown pod "cron-task-2533948c46c1-p6kwb_namespace" network: CNI failed to retrieve network namespace path: Error: No such container: 011cf10cf46dbc6bf2e11d1cb562af478eee21eba0c40521bf7af51ee5399640 
May 19 09:57:38 kube-worker1 bash[3843]: E0519 09:57:38.075380 3843 kuberuntime_gc.go:138] Failed to stop sandbox "011cf10cf46dbc6bf2e11d1cb562af478eee21eba0c40521bf7af51ee5399640" before removing: rpc error: code = 2 desc = NetworkPlugin cni failed to teardown pod "cron-task-2533948c46c1-p6kwb_namespace" network: CNI failed to retrieve network namespace path: Error: No such container: 011cf10cf46dbc6bf2e11d1cb562af478eee21eba0c40521bf7af51ee5399640 
May 19 09:57:38 kube-worker1 bash[3843]: E0519 09:57:38.076549 3843 docker_sandbox.go:205] Failed to stop sandbox "0125de37634ef7f3aa852c999cfb5849750167b1e3d63293a085ceca416e4ebf": Error response from daemon: {"message":"No such container: 0125de37634ef7f3aa852c999cfb5849750167b1e3d63293a085ceca416e4ebf"} 
May 19 09:57:38 kube-worker1 bash[3843]: E0519 09:57:38.076654 3843 remote_runtime.go:109] StopPodSandbox "0125de37634ef7f3aa852c999cfb5849750167b1e3d63293a085ceca416e4ebf" from runtime service failed: rpc error: code = 2 desc = NetworkPlugin cni failed to teardown pod "cron-task-2533948c46c1-6g8jq_namespace" network: CNI failed to retrieve network namespace path: Error: No such container: 0125de37634ef7f3aa852c999cfb5849750167b1e3d63293a085ceca416e4ebf 
May 19 09:57:38 kube-worker1 bash[3843]: E0519 09:57:38.076676 3843 kuberuntime_gc.go:138] Failed to stop sandbox "0125de37634ef7f3aa852c999cfb5849750167b1e3d63293a085ceca416e4ebf" before removing: rpc error: code = 2 desc = NetworkPlugin cni failed to teardown pod "cron-task-2533948c46c1-6g8jq_namespace" network: CNI failed to retrieve network namespace path: Error: No such container: 0125de37634ef7f3aa852c999cfb5849750167b1e3d63293a085ceca416e4ebf 
May 19 09:57:38 kube-worker1 bash[3843]: E0519 09:57:38.079585 3843 docker_sandbox.go:205] Failed to stop sandbox "014135ede46ee45c176528da02782a38ded36bd10566f864c147ccb66a617772": Error response from daemon: {"message":"No such container: 014135ede46ee45c176528da02782a38ded36bd10566f864c147ccb66a617772"} 
May 19 09:57:38 kube-worker1 bash[3843]: E0519 09:57:38.079805 3843 remote_runtime.go:109] StopPodSandbox "014135ede46ee45c176528da02782a38ded36bd10566f864c147ccb66a617772" from runtime service failed: rpc error: code = 2 desc = NetworkPlugin cni failed to teardown pod "cron-task-2533948c46c1-r30cw_namespace" network: CNI failed to retrieve network namespace path: Error: No such container: 014135ede46ee45c176528da02782a38ded36bd10566f864c147ccb66a617772 

それが起こるの作成中に失敗した間違ったcronetes作業後に大量のメッセージ(数百分ごと)を参照してください。 --forceですべてのポッドを取り除いたが、kubeletはまだそれらを取り除こうとしている。また、結果のないワーカーでkubeletを再開しました。 kubeletとどうやってそれらを忘れることができますか? (メタデータなし)

バージョン情報

Kubernetes v1.6.1 
Docker version 1.12.0, build 8eab29e 
Linux kube-worker1 4.4.0-72-generiC#93-Ubuntu SMP 

コンテナマニフェスト

job: 
    apiVersion: batch/v1 
    kind: Job 
    spec: 
     template: 
     spec: 
      containers: 
      - name: cron-task 
      image: docker.company.ru/image:v2.3.2 
      command: ["rake", "db:refresh_views"] 
      env: 
      - name: RAILS_ENV 
       value: namespace 
      - name: CONFIG_PATH 
       value: /config 
      volumeMounts: 
      - name: config 
       mountPath: /config 
      volumes: 
      - name: config 
      configMap: 
       name: task-conf 
      restartPolicy: Never 

また、私は、クラスタのetcdに(2533948c46c1)名前のこのポッドの一部の一切の言及が見つかりませんでした。

答えて

0

最後に解決策が見つかりました。
Kubeletは私lsがそのフォルダに私が不足しているすべてのポッド用のファイルを見つけたときに

/var/lib/dockershim/sandbox 

でその上で実行されている、すべてのポッドについての情報を格納します。その後、これらのファイルを削除し、ログメッセージが消え、CPU使用率が正常値に戻ります(kubeletを再起動しなくても)

0

これはKubernetes 1.6.xのPods with hostNetwork=true cannot be removed (and generate errors) when using CNIの問題と関連しているようです。これらのメッセージは決して重要ではありませんが、実際の問題を見つけようとすると迷惑になります。 Kubernetesの最新バージョンを使用して問題を軽減してください。

+0

ありがとうございました!しかし、それは別の問題のように見えます。私はネットワークタイプを指定しなかったので、hostNetwork = falseと仮定します。私は正しい? 全体ログには、1)StopPodSandbox、2)サンドボックスの停止に失敗した、3)MountVolume.SetUpが成功しました。追加の情報を提供する必要がありますか? – user1802474

0

私はあなたと同じ問題に遭遇し、プロファイリングを行って原因を突き止めました。 '/ var/lib/dockershim/sandbox'は魔法をしました。

関連する問題