About Worker Nodes
Cloudentity Helm Chart provides support for enabling dedicated worker nodes for asynchnonous jobs precessing (streams, queues). Normally, every instance of Cloudentity would do both, serve user traffic and process background jobs. Under heavy load, it is recommended to have dedicated workload instances for each of this processes.
Example
Enable worker nodes
workers: enabled: true
Prerequisites
- Kubernetes cluster v1.16+
- Helm v3.0+
Configure Worker Nodes
Enabling worker nodes creates the following resources:
- deplyment for worker pods
- service if enabled (used to expose metrics)
- autoscaling if enabled
- pod disruption budget if enabled
While worker nodes are enabled, two deployments are available:
- acp - connected to ingress with async_processing disabled
- acp-workers - disconnected from ingress with async_processing enabled
Moreover, you can costumize worker pods in the same way as base Cloudentity pods with autoscaling, custom resources, tolerations, affinity etc.
Example
Customize worker pods
workers: enabled: true service: enabled: true podDisruptionBudget: minAvailable: 30% autoscaling: enabled: true minReplicas: 3 maxReplicas: 9 targetCPUUtilizationPercentage: 80 nodeSelector: workers: "true" affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchLabels: app.kubernetes.io/instance: acp-workers app.kubernetes.io/name: acp-workers topologyKey: kubernetes.io/hostname