問題タブ [kubernetes-health-check]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
623 参照

kubernetes - 一定間隔で kubernetes の更新をロールする方法

k8s のポッドが最新バージョンであることを確認する必要がある場合があります。これを達成するための最良の方法は何ですか?

最初のアイデアは、新しいポッドが最新のイメージをプルすることを知って、ある時点でポッドを強制終了することでした。これまでに見つかったものは次のとおりです。まだ方法がわかりません。

もう 1 つのアイデアはrolling-update、5 時間ごとなど、間隔を置いて実行することです。これを行う方法はありますか?

0 投票する
2 に答える
11752 参照

kubernetes - Kubernetes Pod が Terminated 状態になり、Completed 理由と終了コード 0 を返すのはなぜですか?

Kubernetes のドキュメントでこれに対する答えを見つけるのに苦労しています。シナリオは次のとおりです。

  • AWS 上の Kubernetes バージョン 1.4
  • Kubernetes デプロイメントとしてデプロイされた NodeJS API (Express) を実行する 8 つのポッド
  • ポッドの 1 つが深夜に明らかな理由もなく再起動されます (トラフィックがない、CPU スパイクがない、メモリ プレッシャーがない、アラートがないなど)。この結果、再起動の回数が増加します。
  • ログに異常は何も表示されません (kubectl -p以前のログを確認するために実行しましたが、エラーはまったくありません)
  • リソースの消費は正常です。Kubernetes がポッドを別のノードなどに再スケジュールすることに関するイベントは表示されません。
  • ポッドを記述するとTERMINATED状態が返され、理由と終了コード 0 が返されます。このポッドは現在複数回置き換えられているCOMPLETEDため、正確な出力はありません。kubectl

ポッドは NodeJS サーバー インスタンスであり、完了することができず、常に実行されてリクエストを待機しています。

これは、ポッドの Kubernetes の内部再配置でしょうか? これがいつ起こるかを知る方法はありますか?なぜそれが起こったのかを言うどこかのイベントであってはなりませんか?

アップデート

これは、本番環境で発生したものです。問題のあるポッドを説明した結果は次のとおりです。

api: Container ID: docker://7a117ed92fe36a3d2f904a882eb72c79d7ce66efa1162774ab9f0bcd39558f31 Image: 1.0.5-RC1 Image ID: docker://sha256:XXXX Ports: 9080/TCP, 9443/TCP State: Running Started: Mon, 27 Mar 2017 12:30:05 +0100 Last State: Terminated Reason: Completed Exit Code: 0 Started: Fri, 24 Mar 2017 13:32:14 +0000 Finished: Mon, 27 Mar 2017 12:29:58 +0100 Ready: True Restart Count: 1

更新 2

使用したdeployment.yamlファイルは次のとおりです。

上記の展開マニフェストで参照されているイメージの Dockerfile:

npm startnode app.jsポート 9080 で NodeJS サーバーを起動する通常のコマンドのエイリアスです。