kubeletで起動したときに、ポッド内のコンテナの1つが起動するのがなぜ遅いのかを理解しようとしています。kubeletがdocker cliよりも遅いので、コンテナを開始するのはなぜですか?
ここにkubeletログがあります。コンテナが開始され、しかし、23秒間準備の整っていない状態のままにされています
18:49:55.000 Container image "eu.gcr.io/proj/ns/[email protected]:fff668" already present on machine
18:49:55.000 Created container
18:49:56.000 Started container
18:49:56.000 Readiness probe failed: cat: /tmp/healthy: No such file or directory
18:49:58.000 Readiness probe failed: cat: /tmp/healthy: No such file or directory
18:50:00.000 Readiness probe failed: cat: /tmp/healthy: No such file or directory
18:50:02.000 Readiness probe failed: cat: /tmp/healthy: No such file or directory
18:50:04.000 Readiness probe failed: cat: /tmp/healthy: No such file or directory
18:50:06.000 Readiness probe failed: cat: /tmp/healthy: No such file or directory
18:50:08.000 Readiness probe failed: cat: /tmp/healthy: No such file or directory
18:50:10.000 Readiness probe failed: cat: /tmp/healthy: No such file or directory
18:50:12.000 Readiness probe failed: cat: /tmp/healthy: No such file or directory
18:50:14.000 Readiness probe failed: cat: /tmp/healthy: No such file or directory
18:50:16.000 Readiness probe failed: cat: /tmp/healthy: No such file or directory
18:50:18.000 Readiness probe failed: cat: /tmp/healthy: No such file or directory
最後にコンテナ実際には本当には23秒後に開始します。私はこれを知っています。なぜなら、最初の行は次のログ行を出力してから、readinessProbeの/ tmp/healthyファイルを書き込むからです。
18:50:18.000 17:50:18,572|MainThread|INFO|cli|Starting application
しかしながら、(上記で実行されているkubeletと同じノード上で)ドッカーCLIを有する容器を開始、現在の日付を印刷し、そしてによる次のコマンドが示すように、それだけに約1秒を取るべきですコンテナを起動します。
[email protected] ~ $ date ++%Y-%m-%d %H:%M:%S.%N; docker run -it eu.gcr.io/proj/ns/[email protected]:fff668
2017-11-25 16:37:01.188799045
2017-11-25 16:37:02,246|MainThread|INFO|cli|Starting application
これは私を少しナッツ運転しています!これを引き起こしている可能性のあるものについて考えてみましょう:)
"kubectl"経由でのデプロイでは、スケジューリングやその他の追加プロセスがマスターノード経由で行われる必要があると確信しています。それにもかかわらず、[this one](https://kubernetes.io/docs/user-guide/docker-cli-to-kubectl/)のような単純な例の後には、私は何の違いに気づくことができません。 PODの説明やクラスタイベントの一覧表示中に追加情報がありますか? – Carlos
スケジューリングはすでにこの段階で行われています。注意私は 'kubectl'ではなく' kubelet'について話しています。私はkubernetesで私の経験のいずれか前にそれに気付いたことがないので、私はこの特定のコンテナにとても困惑しています。 – MarkNS
あなたのプロセスについて、Kubernetesの環境変数と組み合わせて何かがありますか? '/ tmp/healthy'が表示されるのに20秒かかるのはなぜか分かりますか? –