Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor probes based on performance feedback #264

Merged
merged 19 commits into from
Mar 26, 2021
Merged

Refactor probes based on performance feedback #264

merged 19 commits into from
Mar 26, 2021

Conversation

pega-talba
Copy link
Contributor

@pega-talba pega-talba commented Mar 16, 2021

No description provided.

@pega-talba pega-talba requested review from dcasavant, taz-pega-work and a team as code owners March 16, 2021 20:19
Copy link
Contributor

@taz-pega-work taz-pega-work left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

excellent new content summaries. I see that you updated the percentages to integers for maxSurge and maxUnavailable in several yamls...that detail for what it means isn't documented anywhere. I makes me wonder if that should be a future enhancement for the effected helm charts in charts/pega. Nothing in your updates.

@APegaDavis
Copy link
Contributor

Note: pegasystems/docker-pega-web-ready#119 is required before this change can be merged

Just wanted to note that we made the necessary changes as part of #261 when adding a default server.xml to the config/deploy directory.

@pega-talba pega-talba added the integ-all Label that triggers automation testing against EKS, AKS, GKE label Mar 25, 2021
@pegaautomationuser
Copy link
Collaborator

Starting PR-264 validation on -> integ-all

Copy link
Contributor

@taz-pega-work taz-pega-work left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice;-) I called out a few minor tweaks might help...up to you if you agree.

[Probes are used by Kubernetes](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) to determine application health. Configure a probe for *liveness* to determine if a Pod has entered a broken state; configure it for *readiness* to determine if the application is available to be exposed; configure it for *startup* to determine if a pod is ready to be checked for liveness. You can configure probes independently for each tier. If not explicitly configured, default probes are used during the deployment. Set the following parameters as part of a `livenessProbe`, `readinessProbe`, or `startupProbe` configuration.

Notes:
* `startupProbe` is only supported as of Kubernetes 1.18. If running a version older than 1.18, `startupProbe` will be ignored and different default values will be used for `livenessProbe` and `readinessProbe`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kubernetes 1.18 and later supports startupProbe. If your deployment uses a Kubernetes version older than 1.18, it ignores your startupProbe settings and uses different default values for livenessProbe and readinessProbe.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done (with minor modifications)


Notes:
* `startupProbe` is only supported as of Kubernetes 1.18. If running a version older than 1.18, `startupProbe` will be ignored and different default values will be used for `livenessProbe` and `readinessProbe`.
* `timeoutSeconds` cannot be greater than `periodSeconds` in some GCP environments. See [this API library from Google](https://developers.google.com/resources/api-libraries/documentation/compute/v1/csharp/latest/classGoogle_1_1Apis_1_1Compute_1_1v1_1_1Data_1_1HttpHealthCheck.html#a027a3932f0681df5f198613701a83145).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For details, see [this API library from Google]

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

* `timeoutSeconds` cannot be greater than `periodSeconds` in some GCP environments. See [this API library from Google](https://developers.google.com/resources/api-libraries/documentation/compute/v1/csharp/latest/classGoogle_1_1Apis_1_1Compute_1_1v1_1_1Data_1_1HttpHealthCheck.html#a027a3932f0681df5f198613701a83145).
* Default values are listed below in order of liveness, readiness, and startup.

Parameter | Description | Default - 1.18+ | Default - pre 1.18
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Default - pre-1.18

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

`failureThreshold` | The number consecutive failures for the pod to be terminated by Kubernetes. | `3`
### Liveness, readiness, and startup probes

[Probes are used by Kubernetes](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) to determine application health. Configure a probe for *liveness* to determine if a Pod has entered a broken state; configure it for *readiness* to determine if the application is available to be exposed; configure it for *startup* to determine if a pod is ready to be checked for liveness. You can configure probes independently for each tier. If not explicitly configured, default probes are used during the deployment. Set the following parameters as part of a `livenessProbe`, `readinessProbe`, or `startupProbe` configuration.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pega supports using liveness, readiness, and startup probes to determine application health in your deployments. For an overview of these probes, see Configure Liveness, Readiness and Startup Probes .

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done (with minor modifications)

@pegaautomationuser
Copy link
Collaborator

Starting PR-264 validation on -> integ-all

@pega-talba pega-talba added integ-gke Label that triggers automation testing against GKE and removed integ-all Label that triggers automation testing against EKS, AKS, GKE labels Mar 25, 2021
@pegaautomationuser
Copy link
Collaborator

Starting PR-264 validation on -> integ-gke

@pegaautomationuser
Copy link
Collaborator

Starting PR-264 validation on -> integ-gke

@pega-talba pega-talba merged commit 4651481 into pegasystems:master Mar 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
integ-gke Label that triggers automation testing against GKE
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants