From e1d8faee1c85f6799424bb6b2b79fb992f2b5aec Mon Sep 17 00:00:00 2001 From: thr Date: Fri, 13 Sep 2024 10:17:12 +0200 Subject: [PATCH] priorityClassName support added and updating helm/README.me from values.yaml --- apigateway/helm/README.md | 4 ++++ developerportal/helm/README.md | 5 +++++ microservicesruntime/helm/README.md | 6 ++++-- mywebmethodsserver/helm/README.md | 2 ++ universalmessaging/helm/README.md | 2 ++ 5 files changed, 17 insertions(+), 2 deletions(-) diff --git a/apigateway/helm/README.md b/apigateway/helm/README.md index 2d175f8..79b4782 100644 --- a/apigateway/helm/README.md +++ b/apigateway/helm/README.md @@ -169,6 +169,7 @@ Sub-folder `examples` contains some *values* examples for more use-cases. To use | `1.2.6` | Fixed commons dependency to enable metering change from 1.2.5. | | `1.2.7` | Added possibility to rename roleBinding for API Gateway, Kibana and Elasticsearch. This allows for multiple deployments into the same namespace. Also, CRD ServiceMonitor selector corrected. Support of ES storage PVC annotations. | | `1.2.8` | `tpl` function support in `affinity` value added. `affinity` support added for Kibana and Elasticsearch. `topologySpreadConstraints` support added for APIGW, Elasticsearch and Kibana. | +| `1.2.9` | `priorityClassName` support added for APIGW, Elasticsearch and Kibana. | ## Values @@ -224,6 +225,7 @@ Sub-folder `examples` contains some *values* examples for more use-cases. To use | elasticsearch.podDisruptionBudget | object | `{"data":{},"enabled":true}` | Customization of ElasticSearchs PodDisruptionBudget Policy. Elastic Cloud on Kubernetes operator (ECK) creates a default PodDisruptionBudget Policy. | | elasticsearch.podDisruptionBudget.data | object | `{}` | Overwrite the default PodDisruptionBudget Policy. Overwriting with custom PodDisruptionBudget Policy requires enabled=true. Examples can be seen here: https://kubernetes.io/docs/tasks/run-application/configure-pdb/ | | elasticsearch.podDisruptionBudget.enabled | bool | `true` | Whether a PodDisruptionBudget Policy should be created. Enabled=true results in ECK deploying the default (or custom, see data) PodDisruptionBudget Policy. Enabled=false results in no PodDisruptionBudget Policy deployment. | +| elasticsearch.priorityClassName | string | `""` | Set Pods' Priority Class Name | | elasticsearch.resources | object | `{}` | Resource Settings for Elasticsearch Example: limits: cpu: 100m memory: 128Mi requests: cpu: 100m memory: 128Mi | | elasticsearch.secretName | string | `""` | The secret name that holds the sag es user for API Gateway. | | elasticsearch.secretPasswordKey | string | `""` | The key that holds the Elasticsearch password; defauls to "password" | @@ -338,6 +340,7 @@ Sub-folder `examples` contains some *values* examples for more use-cases. To use | kibana.livenessProbe | object | `{}` | Configure Kibana's livenessProbe. | | kibana.podSecurityContext | object | `{}` | The pod securityContext for kibana pod. | | kibana.port | int | `5601` | The default Kibana Port | +| kibana.priorityClassName | string | `""` | Set Pods' Priority Class Name | | kibana.readinessProbe | object | `{"failureThreshold":3,"httpGet":{"path":"/status","port":5601,"scheme":"HTTP"},"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | Configure Kibana's readinessProbe. | | kibana.resources | object | `{}` | Resource Settings for Kibana Example: limits: cpu: 100m memory: 128Mi requests: cpu: 100m memory: 128Mi | | kibana.secretName | string | `""` | The secret name that holds the kibana user for API Gateway. | @@ -380,6 +383,7 @@ Sub-folder `examples` contains some *values* examples for more use-cases. To use | nodeSelector | object | `{}` | | | podAnnotations | object | `{}` | | | podSecurityContext | object | `{}` | | +| priorityClassName | string | `""` | Set APIGW and Nginx Pods' Priority Class Name ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/ | | prometheus | object | `{"interval":"10s","path":"/metrics","port":"5555","scheme":"http","scrape":"true","scrapeTimeout":"10s"}` | Define values for Prometheus Operator to scrap metrics via annotation or ServiceMonitor. | | prometheus-elasticsearch-exporter | object | `{"enabled":true,"es":{"uri":"http://$(ES_USER):$(ES_PASSWORD)@apigw-apigateway-es-http:9200"},"extraEnvSecrets":{"ES_PASSWORD":{"key":"password","secret":"apigw-apigateway-sag-user-es"},"ES_USER":{"key":"username","secret":"apigw-apigateway-sag-user-es"}},"podAnnotations":{"prometheus.io/path":"/metrics","prometheus.io/port":"9108","prometheus.io/scheme":"http","prometheus.io/scrape":"true"},"serviceMonitor":{"enabled":false}}` | Elasticsearch exporter settings. See https://github.com/prometheus-community/elasticsearch_exporter for details. | | prometheus-elasticsearch-exporter.enabled | bool | `true` | Deploy the prometheus exporter for elasticsearch | diff --git a/developerportal/helm/README.md b/developerportal/helm/README.md index 99be637..3fbc4c8 100644 --- a/developerportal/helm/README.md +++ b/developerportal/helm/README.md @@ -48,6 +48,7 @@ helm install webmethods/developerportal devportal | `1.0.0` | Initial release | | `1.0.1` | Supports wM version 11.0. Validate `devportal.port` value in `values.yaml` if you want to use wM image version 11.0. | | `1.0.2` | `tpl` function support in `affinity` value added. `topologySpreadConstraints` support added. | +| `1.0.3` | `priorityClassName` support added. Error is corrected on using value `useDefaultAffinityRule == true`. Now, the release name is used in condition with `app.kubernetes.io/instance`. `affinity` and `topologySpreadConstraints` support added for Elasticsearch. | ## Values @@ -64,6 +65,7 @@ helm install webmethods/developerportal devportal | devportal.elasticSearchDeployment | bool | `true` | Deploy Elasticsearch. Depends on Elasic Search Helm Charts. See https://github.com/elastic/helm-charts/blob/main/elasticsearch | | devportal.port | int | `8083` | HTTP listening port. Use on wM version 10.15 (default): `8083`, 11.0: `8080` | | devportal.useDefaultAffinityRule | bool | `true` | Use the default anti pod affinity. Specifies a Pod Anti-Affinity rule for Kubernetes pods. The default Pod Anti-Affinity is a scheduling preference that indicates how Kubernetes should distribute pods across nodes to avoid having multiple pods of the same application or with specific labels running on the same node. If you want to use your on rules, refer to affinity value and provide your own configuration. | +| elasticsearch.affinity | object | `{}` | Set Pod (anti-) affinity for ElasticSearch. You can use templates inside because `tpl` function is called for rendering. | | elasticsearch.certificateSecretName | string | `"{{ include \"common.names.fullname\" .}}-es-tls-secret"` | The name of the secret holding the tls secret By default the name will be fullname of release + "es-tls-secret" | | elasticsearch.defaultNodeSet | object | `{"count":1,"extraConfig":{},"extraInitContainers":{},"installPlugins":["mapper-size"],"memoryMapping":false,"setMaxMapCount":true}` | Default Node Set | | elasticsearch.defaultNodeSet.count | int | `1` | the number of replicas for Elastic Search | @@ -77,9 +79,11 @@ helm install webmethods/developerportal devportal | elasticsearch.keystoreSecretName | string | `""` | The secret name that holds the keystore password | | elasticsearch.nodeSets | object | `{}` | Node sets. See official ElasticSearch documentation at: https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-orchestration.html if you specify node sets here the defaultNodeSet will not be used. | | elasticsearch.port | int | `9200` | The default elasticsearch instance http communication port | +| elasticsearch.priorityClassName | string | `""` | Set Pods' Priority Class Name | | elasticsearch.secretName | string | `""` | The secret name that holds the sag es user for Developer Portal. | | elasticsearch.serviceName | string | `""` | The elasticsearch http service name that Developer Portal uses. The default is compiled of the fullname (releasename + chart name) + "-http" You MUST override this if you use an external elastic search service and do not deploy the embedded elastic CRD from this chart. | | elasticsearch.tlsEnabled | bool | `false` | Whether the communication from Developer Portal should be HTTPS Note: you will need to create certificate and a separate truststore for the communication. | +| elasticsearch.topologySpreadConstraints | object | `{}` | Set Pod topology spread constraints for ElasticSearch. You can use templates inside because `tpl` function is called for rendering. | | elasticsearch.version | string | `"8.2.3"` | The ECK version to be used | | extraConfigMaps | list | `[]` | Extra config maps for additional configurations such as extra ports, etc. | | extraContainers | list | `[]` | Extra containers which should run in addition to the main container as a sidecar | @@ -108,6 +112,7 @@ helm install webmethods/developerportal devportal | nodeSelector | object | `{}` | | | podAnnotations | object | `{}` | | | podSecurityContext | object | `{}` | | +| priorityClassName | string | `""` | Set Pods' Priority Class Name ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/ | | prometheus-elasticsearch-exporter.es.uri | string | `"{{ .Release.Name }}-developerportal-es-http:9200"` | | | prometheus-elasticsearch-exporter.image.pullPolicy | string | `"IfNotPresent"` | | | prometheus-elasticsearch-exporter.image.pullSecret | string | `""` | | diff --git a/microservicesruntime/helm/README.md b/microservicesruntime/helm/README.md index 933e04e..4a96026 100644 --- a/microservicesruntime/helm/README.md +++ b/microservicesruntime/helm/README.md @@ -111,12 +111,13 @@ helm install wm-msr webmethods/microservicesruntime \ | `1.0.4` | Option in `values.yaml` to create a ServiceMonitor added. Some errors in Nginx external LB corrected | | `1.0.5` | Value `trustStorePasswordFromSecret` added in `values.yaml` to support common `1.0.2` | | `1.0.6` | `tpl` function support in `affinity` value added. `topologySpreadConstraints` support added. | +| `1.0.7` | `priorityClassName` support added. | ## Values | Key | Type | Default | Description | |-----|------|---------|-------------| -| affinity | object | `{}` | Set Pod (anti-) affinity. You can use templates inside because `tpl` function is called for rendering. | +| affinity | object | `{}` | Set MSR and Nginx Pod (anti-) affinity. You can use templates inside because `tpl` function is called for rendering. | | autoscaling.enabled | bool | `false` | | | autoscaling.maxReplicas | int | `100` | | | autoscaling.minReplicas | int | `1` | | @@ -194,6 +195,7 @@ helm install wm-msr webmethods/microservicesruntime \ | persistence.storageClassName | string | `""` | | | podAnnotations | object | `{}` | pod annotations | | podSecurityContext.fsGroup | int | `1724` | | +| priorityClassName | string | `""` | Set MSR and Nginx Pods' Priority Class Name ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/ | | prometheus | object | `{"interval":"10s","path":"/metrics","port":"5555","scheme":"http","scrape":"true","scrapeTimeout":"10s"}` | Define values for Prometheus Operator to scrap metrics via annotation or ServiceMonitor. | | readinessProbe | object | `{"failureThreshold":3,"httpGet":{"path":"/health/readiness","port":"http"},"initialDelaySeconds":0,"periodSeconds":15,"successThreshold":1,"timeoutSeconds":30}` | Configure readiness probe | | replicaCount | int | `1` | Number of replicates in Deployment | @@ -210,5 +212,5 @@ helm install wm-msr webmethods/microservicesruntime \ | startupProbe | object | `{"failureThreshold":60,"periodSeconds":30,"tcpSocket":{"port":"http"}}` | startup probe for container | | statefulSet | bool | `false` | StatefulSet or Deployment. You should only change this if you require Client Side queuing (CSQ) or functionality in IS which requires stable hostnames and filesystems. Default is false => Deployment. Keep in mind, you must disable CSQ on each webMethods messaging and JMS connection if you don't use stateful-sets. See examples in Process Engine deployment for disableing CSQ. | | tolerations | list | `[]` | | -| topologySpreadConstraints | object | `{}` | Set Pod topology spread constraints. You can use templates inside because `tpl` function is called for rendering. | +| topologySpreadConstraints | object | `{}` | Set MSR and Nginx Pod topology spread constraints. You can use templates inside because `tpl` function is called for rendering. ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods | | volumeClaimTemplates | list | `[]` | Volume Claim Templates, only to be used when running as a Statefulset (e.g. using client-side queuing) | diff --git a/mywebmethodsserver/helm/README.md b/mywebmethodsserver/helm/README.md index f8af7f5..8e1efeb 100644 --- a/mywebmethodsserver/helm/README.md +++ b/mywebmethodsserver/helm/README.md @@ -49,6 +49,7 @@ helm install wm-mws mywebmethodsserver | `1.0.2` | `storage.enabled` added in `values.yaml`. For backward reason is this value set to `true` as default. `false` doesn't create and mount any PV. (You can test this feature if you don't want to deploy any own MWS application. MWS is more stateless and has only the database as stateful dependency.) | | `1.0.2` | `containerName` added in `values.yaml`. Default is the Chart name. (Use `helm repo update` to get latest Helm Chart version.) | | `1.0.3` | `tpl` function support in `affinity` value added. `topologySpreadConstraints` support added. | +| `1.0.4` | `priorityClassName` support added. | ## Values @@ -91,6 +92,7 @@ helm install wm-mws mywebmethodsserver | nodeSelector | object | `{}` | | | podAnnotations | object | `{}` | | | podSecurityContext | object | `{}` | | +| priorityClassName | string | `""` | Set Pods' Priority Class Name ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/ | | prometheus | object | `{"interval":"10s","path":"/metrics","port":"8585","scheme":"http","scrape":"true","scrapeTimeout":"10s"}` | Define values for Prometheus Operator to scrap metrics via annotation or ServiceMonitor. | | replicaCount | int | `1` | | | resources | object | `{}` | Define CPU and memory resources for container | diff --git a/universalmessaging/helm/README.md b/universalmessaging/helm/README.md index f335a29..3add751 100644 --- a/universalmessaging/helm/README.md +++ b/universalmessaging/helm/README.md @@ -64,6 +64,7 @@ helm install um webmethods/universalmessaging | `1.0.4` | `containerName` added in `values.yaml`. Default is the Chart name. (Use `helm repo update` to get latest Helm Chart version.) | | `1.0.5` | support of PV storage annotation and class name | | `1.0.6` | `tpl` function support in `affinity` value added. `topologySpreadConstraints` support added. | +| `1.0.7` | `priorityClassName` support added. | ## Values @@ -105,6 +106,7 @@ helm install um webmethods/universalmessaging | nodeSelector | object | `{}` | | | podAnnotations | object | `{}` | pod annotations | | podSecurityContext.fsGroup | int | `1724` | | +| priorityClassName | string | `""` | Set UM and Nginx Pods' Priority Class Name ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/ | | prometheus | object | `{"interval":"10s","path":"/metrics","port":"9200","scheme":"http","scrape":"true","scrapeTimeout":"10s"}` | Define values for Prometheus Operator to scrap metrics via annotation or ServiceMonitor. | | readinessProbe | object | `{"failureThreshold":3,"httpGet":{"path":"/health/","port":9000},"initialDelaySeconds":0,"periodSeconds":15,"successThreshold":1,"timeoutSeconds":30}` | Configure readiness probe | | replicaCount | int | `1` | Number of replicas |