Deploy to an AWS Auto Mode Cluster
Serverless clusters often require custom configuration for the observe agent to work. In the case of AWS Auto Mode, there are certain constraints:
Auto Mode uses a Karpenter-based solution, which takes care of provisioning EC2 instances as necessary. Our usual helm chart includes daemonsets. However, adding daemonsets will not trigger resizing or adding new nodes (as this could lead to adding nodes in an runaway fashion).
We adjust the priority of the daemonset pods to ensure they are scheduled. See here for more details.
Prerequisites
- Create your AWS EKS Auto Mode Cluster
Process
- Create a Priority Class for Observe’s
node-logs-metricsdaemonset’s pods.
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
name: observe-agent-priority
globalDefault: false
value: 10000
preemptionPolicy: "PreemptLowerPriority"- give that priority class to the
node-logs-metricsdaemonset
# add to your values.yaml
node-logs-metrics:
priorityClassName: "observe-agent-priority"- We also need to use the node’s IP by default:
node:
# Use node IP instead of node name for kubeletstats (required for EKS auto-mode where node names are instance IDs)
kubeletstats:
useNodeIp: trueNow, deploy with the modified values.yaml.
Updated about 5 hours ago