Skip to content

Instantly share code, notes, and snippets.

@nitisht
Last active November 17, 2023 15:32
Show Gist options
  • Save nitisht/0c11d8c670f565b58d930b526ba0f2ed to your computer and use it in GitHub Desktop.
Save nitisht/0c11d8c670f565b58d930b526ba0f2ed to your computer and use it in GitHub Desktop.

Revisions

  1. nitisht revised this gist Feb 28, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion healthcheck.md
    Original file line number Diff line number Diff line change
    @@ -13,7 +13,7 @@ Kubernetes *does not* forward traffic to pods if readiness probe responds with a
    ### Minio implementation
    Minio server exposes two un-authenticated, healthcheck related endpoints - liveness probe and readiness probe at `/minio/health/live` and `/minio/health/ready` respectively.

    - Liveness probe handler does a list object internally, if that is successful, server returns a status 200 OK. If it fails, it returns 503.
    - Liveness probe handler does a list buckets internally, if that is successful, server returns a status 200 OK. If it fails, it returns 503.
    - Readiness probe handler does a go routine count internally. If the number of go routines is higher than a threshold, server returns 503 else it returns 200. Currently the arbitrary threshold for total goroutines is set to 500.


  2. nitisht revised this gist Feb 28, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion healthcheck.md
    Original file line number Diff line number Diff line change
    @@ -11,7 +11,7 @@ Used to identify situations where server is not ready to accept requests yet. Su
    Kubernetes *does not* forward traffic to pods if readiness probe responds with a failure code. It just waits for the readiness probe to return success.

    ### Minio implementation
    Minio server exposes two healthcheck related endpoints, liveness probe and readiness probe at `/minio/health/live` and `/minio/health/ready` respectively. Both are un-authenticated.
    Minio server exposes two un-authenticated, healthcheck related endpoints - liveness probe and readiness probe at `/minio/health/live` and `/minio/health/ready` respectively.

    - Liveness probe handler does a list object internally, if that is successful, server returns a status 200 OK. If it fails, it returns 503.
    - Readiness probe handler does a go routine count internally. If the number of go routines is higher than a threshold, server returns 503 else it returns 200. Currently the arbitrary threshold for total goroutines is set to 500.
  3. nitisht revised this gist Feb 28, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion healthcheck.md
    Original file line number Diff line number Diff line change
    @@ -11,7 +11,7 @@ Used to identify situations where server is not ready to accept requests yet. Su
    Kubernetes *does not* forward traffic to pods if readiness probe responds with a failure code. It just waits for the readiness probe to return success.

    ### Minio implementation
    Minio server exposes two healthcheck related endpoints, liveness probe and readiness probe at `/minio/health/live` and `/minio/health/ready` respectively.
    Minio server exposes two healthcheck related endpoints, liveness probe and readiness probe at `/minio/health/live` and `/minio/health/ready` respectively. Both are un-authenticated.

    - Liveness probe handler does a list object internally, if that is successful, server returns a status 200 OK. If it fails, it returns 503.
    - Readiness probe handler does a go routine count internally. If the number of go routines is higher than a threshold, server returns 503 else it returns 200. Currently the arbitrary threshold for total goroutines is set to 500.
  4. nitisht revised this gist Feb 28, 2018. 1 changed file with 19 additions and 5 deletions.
    24 changes: 19 additions & 5 deletions healthcheck.md
    Original file line number Diff line number Diff line change
    @@ -1,15 +1,29 @@
    ## Minio healthcheck endpoints

    Expose two healthcheck related endpoints, liveness probe and readiness probe at `/minio/health/live` and `/minio/health/ready` respectively.
    ## Minio Healthcheck

    ### Liveness probe definition
    Used to identify situations where server is running but may not behave optimally, i.e. sluggish response. Such situations can be generally fixed after a restart.
    Used to identify situations where server is running but may not behave optimally, i.e. sluggish response or corrupt backend. Such situations can be generally *only* be fixed after a restart.

    Kubernetes *kills* the container and restarts it in case of liveness probe responding with a failure code.

    ### Readiness probe definition
    Used to identify situations where server is not ready to accept requests yet. Such situations are generally recovered after waiting for some time.

    A pod with containers reporting that they are not ready do not receive traffic through Kubernetes Services.
    Kubernetes *does not* forward traffic to pods if readiness probe responds with a failure code. It just waits for the readiness probe to return success.

    ### Minio implementation
    Minio server exposes two healthcheck related endpoints, liveness probe and readiness probe at `/minio/health/live` and `/minio/health/ready` respectively.

    - Liveness probe handler does a list object internally, if that is successful, server returns a status 200 OK. If it fails, it returns 503.
    - Readiness probe handler does a go routine count internally. If the number of go routines is higher than a threshold, server returns 503 else it returns 200. Currently the arbitrary threshold for total goroutines is set to 500.


    Sample configuration in a Kubernetes `yaml` file.

    ```yaml
    livenessProbe:
    httpGet:
    path: /minio/health/live
    port: 9000
    initialDelaySeconds: 10
    periodSeconds: 20
    ```
  5. nitisht revised this gist Feb 28, 2018. 1 changed file with 12 additions and 1 deletion.
    13 changes: 12 additions & 1 deletion healthcheck.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,15 @@
    ## Minio healthcheck endpoints

    Expose two healthcheck related endpoints - liveness probe and readiness probe at `/minio/health/live` and `/minio/health/ready` respectively.
    Expose two healthcheck related endpoints, liveness probe and readiness probe at `/minio/health/live` and `/minio/health/ready` respectively.

    ### Liveness probe definition
    Used to identify situations where server is running but may not behave optimally, i.e. sluggish response. Such situations can be generally fixed after a restart.

    Kubernetes *kills* the container and restarts it in case of liveness probe responding with a failure code.

    ### Readiness probe definition
    Used to identify situations where server is not ready to accept requests yet. Such situations are generally recovered after waiting for some time.

    A pod with containers reporting that they are not ready do not receive traffic through Kubernetes Services.

    ### Minio implementation
  6. nitisht created this gist Feb 28, 2018.
    4 changes: 4 additions & 0 deletions healthcheck.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,4 @@
    ## Minio healthcheck endpoints

    Expose two healthcheck related endpoints - liveness probe and readiness probe at `/minio/health/live` and `/minio/health/ready` respectively.