2017-11-29 7 views
0

私は非常に単純なSpringブートWebアプリケーションを含むKubernetesデプロイメントを持っています。私はこのアプリケーションに外部から接続しようとしているランダムなタイムアウトを経験しています。Kubernetesポッドランダムタイムアウト

一部のリクエストは即座に返されますが、他のリクエストは数分間停止します。

ログに問題はありません。

ポッドに直接接続すると、アプリケーションがcurlになり、すぐに応答が得られ、ネットワークの問題のように感じられます。

同じクラスタ内で同じ設定を実行していて、問題のないアプリケーションもあります。

私はまだ私の質問は次のようになりますのでKubernetesに非常に新しいです:

どこで、どのように私は、ネットワークの問題を診断して行くべきですか?

役立つ場合は、さらに詳しい情報を提供できます。

+0

クラウドサービスを使用しているのですか。 – Alex

+0

はいAWS with kops – timothyclifford

+0

Azureと異なるアプリケーションスタックでも同様の問題が発生しました。回避策は、ネットワークの正常な動作を開始させたポッド(デプロイ/コントローラによって再作成されたもの)を削除することでした。私はそれがトラフィックルーティングと関係があると推測しているので、それを追跡する方法を見つけることができれば回答を投稿します。 – Alex

答えて

1

クラスタのコンポーネントが健康であることを意味するネットワーキングする問題を絞り込む持っているように、このようなとしてKubelet、KUBE-プロキシ

あなたはsystemctlユーティリティを使って、自分の状態を確認することができます。たとえば、

systemctl status kubelet 
systemctl status kube-proxy 

詳細については、journalctlユーティリティを使用してください。あなたは、パケットの運命が何を知りたい場合は、たとえば

journalctl -xeu kubelet 
journalctl -f -u docker 

はさて、あなたはiptablesのユーティリティを使用する必要があります。これは、パケットの着信、ルーティング、および判定(受信パケットまたは送信パケット)を決定するものです。

私の行動計画はではありません私は疑問をクリアするために以下のユーティリティを実行します。

  • Kubectl

    Kubectl説明ポッド/ SVCのpodName/SVCNAME

  • systemctl

  • journalctl
  • etcdctl
  • カール
  • iptablesの

私がまだ問題を解決できなかった場合、それは私が仮定したことを意味します。

私のユーティリティセットに入れたいツールを教えてください

+0

別の問題で終了しましたが、あなたの助けを借りて感謝します – timothyclifford

+0

ありがとう、私に答えを更新したい場合はお知らせください。 k8の問題をデバッグするための新しい視点を私に与えるかもしれません。 –