Enabling and Customizing Worker Nodes
Enable and customize worker nodes to process Kubernetes jobs asynchronously.
About Worker Nodes
SecureAuth Helm Chart provides support for enabling dedicated worker nodes for asynchnonous jobs processing (streams, queues). Normally, every instance of SecureAuth 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.
See below for an example of how to enable worker nodes:
workers: enabled: true
Prerequisites
Kubernetes cluster v1.16+
Helm v3.0+
Configure Worker Nodes
Enabling worker nodes creates the following resources:
deployment 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 customize worker pods in the same way as base SecureAuth pods with autoscaling, custom resources, tolerations, affinity etc.
See below for an example of how to 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