I am trying to use CNI Custom Networking on EKS to make sure that Pod IPs are allocated from alternative subsets (to prevent IP starvation in the subnets my cluster nodes are running in). To do this I need to create some ENIConfigs and annotate each node.
How can I ensure that each node is annotated before any Pods are scheduled to it to ensure no Pod IPs are allocated from the subnets my nodes are running in?
EDIT: The only solution I can think of so far is:
However, if the above is the only workaround that is a lot of effort for a managed service
How about:
ENIConfigComplete: false
taint to all nodes by defaultENIConfigComplete: false
ENIConfigComplete: true
The DaemonSet would ensure that every new node was properly set up.
Salesforce talk about this technique for provisioning the disks on their new nodes:
It would avoid having a long running controller process.