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

Support assigning Pods to Nodes using nodeSelector #148

Merged
merged 5 commits into from Jun 22, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
13 changes: 13 additions & 0 deletions charts/pega/README.md
Expand Up @@ -342,6 +342,19 @@ Parameter | Description | Default value
`initialHeap` | This specifies the initial heap size of the JVM. | `4096m`
`maxHeap` | This specifies the maximum heap size of the JVM. | `7168m`

### nodeSelector

Pega supports configuring certain nodes in your Kubernetes cluster with a label to identify its attributes, such as persistent storage. For such configurations, use the Pega Helm chart nodeSelector property to assign pods in a tier to run on particular nodes with a specified label. For more information about assigning Pods to Nodes including how to configure your Nodes with labels, see the [Kubernetes documentation on nodeSelector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector).

```yaml
tier:
- name: "stream"
nodeType: "Stream"

nodeSelector:
disktype: ssd
```

### Liveness and readiness 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. 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` or `readinessProbe` configuration.
Expand Down
4 changes: 4 additions & 0 deletions charts/pega/templates/_pega-deployment.tpl
Expand Up @@ -61,6 +61,10 @@ spec:
# Additional custom init containers
{{ toYaml .custom.initContainers | indent 6 }}
{{- end }}
{{- end }}
{{- if .node.nodeSelector }}
nodeSelector:
{{ toYaml .node.nodeSelector | indent 8 }}
{{- end }}
containers:
# Name of the container
Expand Down
4 changes: 4 additions & 0 deletions charts/pega/values.yaml
Expand Up @@ -146,6 +146,10 @@ global:
port: 7003
targetPort: 7003

# If a nodeSelector is required for this or any tier, it may be specified here:
# nodeSelector:
# disktype: ssd

ingress:
# Enter the domain name to access web nodes via a load balancer.
# e.g. web.mypega.example.com
Expand Down