K8s httpLivenessプローブが1つのワーカーノードで失敗しました

Peeradis Sa-nguanTrakul

K8Sファームに.netcore2.2 APIポッドがあります。ヘルスチェックAPIを実装して、k8sの活性をチェックします。これが私の設定です。

     livenessProbe:
        httpGet:
          path: /api/Authentication/CheckLiveness
          port: 80
          scheme: HTTP
        initialDelaySeconds: 100
        timeoutSeconds: 60
        periodSeconds: 30
        successThreshold: 1
        failureThreshold: 1
      readinessProbe:
        httpGet:
          path: /api/Authentication/CheckReadiness
          port: 80
          scheme: HTTP
        initialDelaySeconds: 50
        timeoutSeconds: 30
        periodSeconds: 15
        successThreshold: 1
        failureThreshold: 1

問題は、ワーカーノード1のポッドを除いて、他のワーカーノードが問題なく動作しているように見えることです。

WorkerNode1のエラーポッド

これがエラーイベントです。

Liveness probe failed: Get 
http://10.244.3.218:80/api/Authentication/CheckLiveness:net/http: 
request canceled (Client.Timeout exceeded while awaiting headers)

Readiness probe failed: Get 
http://10.244.3.218:80/api/Authentication/CheckReadiness: net/http: 
request canceled (Client.Timeout exceeded while awaiting headers)

実行することでポッドにカールできます。しかし、ポッドは再起動し続けます。

ノードの問題だと思います。このK8sファームは、centos7osを搭載したVmwareで実行されます。同じインフラストラクチャを使用する開発環境でこの構成を試しました。そしてそれは問題なくすべて緑です。この問題をデバッグまたは解決するための提案が必要です。ありがとうございました。

@mWatney編集

そしてここにあなたの結果

Name:           authenservice-dpm-7d468bfcc4-px44m
Namespace:      pbtsapi
Priority:       0
Node:           ptseclsbtwkn01/192.168.10.136
Start Time:     Fri, 12 Jun 2020 11:23:07 +0700
Labels:         app=authenservice-api
                pod-template-hash=7d468bfcc4
Annotations:    <none>
Status:         Running
IP:             10.244.3.218
Controlled By:  ReplicaSet/authenservice-dpm-7d468bfcc4
Containers:
  authenservice:
    Container ID:   docker://1b1acffeae54421201d1bbc54b8020a75db660e1ae1a0f0d18a56930bbca0d12
    Image:          10.99.21.89:5000/authenservice:v1.0.4
    Image ID:       docker-pullable://10.99.21.89:5000/authenservice@sha256:b9244059195edff3cc3592d3e19a94ac00e481e9936413a4315a3cf41b0023ea
    Port:           80/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Fri, 12 Jun 2020 14:46:22 +0700
    Last State:     Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Fri, 12 Jun 2020 14:37:52 +0700
      Finished:     Fri, 12 Jun 2020 14:46:21 +0700
    Ready:          False
    Restart Count:  28
    Limits:
      cpu:     500m
      memory:  400Mi
    Requests:
      cpu:      250m
      memory:   200Mi
    Liveness:   http-get http://:80/api/Authentication/CheckLiveness delay=300s timeout=60s period=30s #success=1 #failure=1
    Readiness:  http-get http://:80/api/Authentication/CheckReadiness delay=300s timeout=60s period=30s #success=1 #failure=1
    Environment:
      MSSQL_PORT:  1433
    Mounts:
      /app/appsettings.json from authen-v (rw,path="appsettings.json")
      /etc/localtime from tz-config (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-h8x2b (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             False 
  ContainersReady   False 
  PodScheduled      True 
Volumes:
  authen-v:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      authenservice-config
    Optional:  false
  tz-config:
    Type:          HostPath (bare host directory volume)
    Path:          /usr/share/zoneinfo/Asia/Bangkok
    HostPathType:  
  default-token-h8x2b:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-h8x2b
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason     Age                     From                     Message
  ----     ------     ----                    ----                     -------
  Normal   Killing    22m (x26 over 3h23m)    kubelet, ptseclsbtwkn01  Container authenservice failed liveness probe, will be restarted
  Warning  Unhealthy  6m42s (x28 over 3h23m)  kubelet, ptseclsbtwkn01  Liveness probe failed: Get http://10.244.3.218:80/api/Authentication/CheckLiveness: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
  Warning  Unhealthy  10s (x22 over 3h8m)     kubelet, ptseclsbtwkn01  Readiness probe failed: Get http://10.244.3.218:80/api/Authentication/CheckReadiness: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
mWatney

仮想マシンが同一になることはありません。同一の仕様で仮想マシンをセットアップできます。これを行うことで、仮想マシンが類似していることを確認できますが、まったく同じように動作するわけではありません。

同じことがサーバーにも起こります。2つの同一の物理サーバーを購入できます。これらのサーバーのパフォーマンスは同じですが、同じになることはありません。

ログには、アプリケーションがテストされた時点ではまだ準備ができていなかったことが明確に示されています。

以下のようzerkmsは言った、あなたは同じredinessと生存性のプローブを持つことはできません。あなたは間違いなくこれをレビューする必要があります。また、準備プローブを確認する必要がありますinitialDelaySecondsアプリケーションが起動する時間を増やすために、それを増やしてみてください。

トラブルシューティングするために、suren提案し、あなたのタイムアウトを増やし、私は増加するinitialDelaySeconds代わりに。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

K8sの秘密の構成

分類Dev

k8sクラスターへのrookのインストールに失敗しました

分類Dev

ワーカーノードがシャットダウンされた後、K8sポッドが終了状態でスタックしている

分類Dev

K8sマトリックス、トップノード

分類Dev

異なるノードに2つのレプリカがあるK8Sポッド

分類Dev

k8sマスターノードを知る方法は?

分類Dev

1つの特定のk8sノードでメトリックを取得できません

分類Dev

K8s Azure VMノード-マスターノードからワーカーノードにpingを実行できますが、ワーカーノードのポッドにpingを実行できません

分類Dev

K8S / HelmでTimescaleDBのインストール中にエラーが発生しました:ボリューム「certificate」のMountVolume.SetUpが失敗しました:シークレット「timescaledb-certificate」が見つかりません

分類Dev

k8sクラスターをデプロイする

分類Dev

k8sポッド準備プローブが失敗し、接続が拒否されましたが、ポッドはリクエストを正常に処理しています

分類Dev

K8sサービスをK8sの外部にあるConsulClusterに同期する方法は?

分類Dev

k8sのどのAPIグループ

分類Dev

RaspberryPiのK8sクラスターのHAマスターノード

分類Dev

K8sサービスはpingできません

分類Dev

K8sリソースを削除できません

分類Dev

キーがあり値がないK8sノードラベル

分類Dev

ノードプールに「ドット付き」k8sラベルを指定しますか?

分類Dev

k8sクラスターでの通信

分類Dev

k8sクラスターでの通信

分類Dev

ドローンパイプラインからのGAEactivate-service-account(k8sのドローン):キーを検出できませんでした

分類Dev

K8sダッシュボードがログインしない(k8sバージョン1.11)

分類Dev

ワーカーポッドのk8s活性プローブと読み取り性プローブを定義する方法

分類Dev

Javaアプリ(k8s)からfluentd(k8s)にログを収集する方法

分類Dev

K8sは私のエアフローウェブサーバーポッドを殺しませんでした

分類Dev

k8s活性プローブが失敗したときにコンテナで実行されているプロセスに送信されるシグナルは何ですか?KILLまたはTERM

分類Dev

RedisとSpringBootのK8Sエラーとの統合

分類Dev

Kubernetes、k8sサービスURLの作成方法は?

分類Dev

Ansible k8sモジュールの使用方法は?

Related 関連記事

  1. 1

    K8sの秘密の構成

  2. 2

    k8sクラスターへのrookのインストールに失敗しました

  3. 3

    ワーカーノードがシャットダウンされた後、K8sポッドが終了状態でスタックしている

  4. 4

    K8sマトリックス、トップノード

  5. 5

    異なるノードに2つのレプリカがあるK8Sポッド

  6. 6

    k8sマスターノードを知る方法は?

  7. 7

    1つの特定のk8sノードでメトリックを取得できません

  8. 8

    K8s Azure VMノード-マスターノードからワーカーノードにpingを実行できますが、ワーカーノードのポッドにpingを実行できません

  9. 9

    K8S / HelmでTimescaleDBのインストール中にエラーが発生しました:ボリューム「certificate」のMountVolume.SetUpが失敗しました:シークレット「timescaledb-certificate」が見つかりません

  10. 10

    k8sクラスターをデプロイする

  11. 11

    k8sポッド準備プローブが失敗し、接続が拒否されましたが、ポッドはリクエストを正常に処理しています

  12. 12

    K8sサービスをK8sの外部にあるConsulClusterに同期する方法は?

  13. 13

    k8sのどのAPIグループ

  14. 14

    RaspberryPiのK8sクラスターのHAマスターノード

  15. 15

    K8sサービスはpingできません

  16. 16

    K8sリソースを削除できません

  17. 17

    キーがあり値がないK8sノードラベル

  18. 18

    ノードプールに「ドット付き」k8sラベルを指定しますか?

  19. 19

    k8sクラスターでの通信

  20. 20

    k8sクラスターでの通信

  21. 21

    ドローンパイプラインからのGAEactivate-service-account(k8sのドローン):キーを検出できませんでした

  22. 22

    K8sダッシュボードがログインしない(k8sバージョン1.11)

  23. 23

    ワーカーポッドのk8s活性プローブと読み取り性プローブを定義する方法

  24. 24

    Javaアプリ(k8s)からfluentd(k8s)にログを収集する方法

  25. 25

    K8sは私のエアフローウェブサーバーポッドを殺しませんでした

  26. 26

    k8s活性プローブが失敗したときにコンテナで実行されているプロセスに送信されるシグナルは何ですか?KILLまたはTERM

  27. 27

    RedisとSpringBootのK8Sエラーとの統合

  28. 28

    Kubernetes、k8sサービスURLの作成方法は?

  29. 29

    Ansible k8sモジュールの使用方法は?

ホットタグ

アーカイブ