Adjust the resource allocation for pods only when the required resources exceed the default allocation. No changes are needed if the calculated resources are less than or equal to the default allocation.
- POD memory must always be greater than JVM memory.
- Pods reset to default values after upgrades. Reapply changes as needed.
Pod-Specific Instructions
Pod allocation refers to the process of assigning CPU, memory, and storage resources to individual pods that run components of Data Integration workflows. Proper allocation gives each pod the resources required for its workload, which helps avoid bottlenecks and align performance with the integration use case. It provides detailed instructions for configuring pod-specific settings, including namespaces, JVM options, and resource limits for various components such as connect-cdc, connect-hub, cloud-applier, and sqdata-management.
To apply these configurations, you can use the command:
sudo KUBECONFIG=/home/k3s/.kube/k3s.yaml /usr/local/bin/k3s kubectl
This command allows you to interact with your Kubernetes cluster, specifying a custom KUBECONFIG path and using the k3s distribution's kubectl tool to modify or apply pod configurations as needed.
connect-cdc
kubectl edit statefulset connect-cdc-runtime-engine -n precisely-ns
Update JVM Options:
- name: JVM_MIN_MEMORY
value: "2000"
- name: JVM_MAX_MEMORY
value: "2000"Update Resources:
resources:
limits:
cpu: 1200m
memory: 3072Mi
requests:
cpu: 1200m
memory: 3072Mikubectl edit statefulset connect-hub -n precisely-connect-hub-ns
Update JVM Options:
- name: _JAVA_OPTIONS
value: -Xms512m -Xmx512mUpdate Resources:
resources:
limits:
cpu: 1000m
memory: 1024Mi
requests:
cpu: 1000m
memory: 1024Mikubectl edit statefulset connect-cloud-applier -n precisely-cloud-applier-ns
Update JVM Options:
- name: _JAVA_OPTIONS
value: -Xms1560m -Xmx1560m
resources:
limits:
cpu: 1000m
memory: 2432Mi
requests:
cpu: 1000m
memory: 2432Mikubectl edit statefulset mainframe-replication-manager -n precisely-sqdata-management-nsresources:
limits:
cpu: 500m
memory: 2048Mi
requests:
cpu: 200m
memory: 500MiBest Practices
- Always scale pods based on real usage.
- Use default values when calculated requirements are lower than defaults.
- Ensure _JAVA_OPTIONS are correctly configured.
- Ensure POD memory > JVM memory.
- Always check pre-requisites before running configuration commands.