Deployment and Operations

Enabling and Customizing Worker Nodes

Enable and customize worker nodes to process Kubernetes jobs asynchronously.

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:

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