- Feature - Add fallback to fetch limits from EC2 API (#782, @mogren)
- Feature - Additional tags to ENI (#734, @nithu0115)
- Feature - Add support for a 'no manage' tag (#726, @euank)
- Feature - Use CRI to obtain pod sandbox IDs instead of Kubernetes API (#714, @drakedevel)
- Feature - Add support for listening on unix socket for introspection endpoint (#713, @adammw)
- Feature - Add MTU to the plugin config (#676, @mogren)
- Feature - Clean up leaked ENIs on startup (#624, @mogren)
- Feature - Introduce a minimum target for ENI IPs (#612, @asheldon)
- Feature - Allow peered VPC CIDRs to be excluded from SNAT (#520, @totahuanocotl, @rewiko, @yorg1st)
- Feature - Get container ID from kube rather than docker (#371, @rudoi)
- Improvement - Make entrypoint script fail if any step fails (#839, @drakedevel)
- Improvement - Place binaries in cmd/ and packages in pkg/ (#815, @jaypipes)
- Improvement - De-dupe calls to DescribeNetworkInterfaces (#808, @jaypipes)
- Improvement - Update RollingUpdate strategy to allow 10% unavailable (#805, @gavinbunney)
- Improvement - Bump github.com/vishvananda/netlink version from 1.0.0 to 1.1.0 (#802, @ajayk)
- Improvement - Adding node affinity for Fargate (#792, @nithu0115)
- Improvement - Force ENI/IP reconciliation to delete from the datastore (#754, @tatatodd)
- Improvement - Use dockershim.sock for CRI (#751, @mogren)
- Improvement - Treating ErrUnknownPod from ipamd to be a noop and not returning error (#750, @uruddarraju)
- Improvement - Copy CNI plugin and config in entrypoint not agent (#735, @jaypipes)
- Improvement - Adding m6g instance types (#742, Srini Ramabadran)
- Improvement - Remove deprecated session.New method (#729, @nithu0115)
- Improvement - Scope watch on "pods" to only pods associated with the local node (#716, @jacksontj)
- Improvement - Update ENI limits to match documentation (#710, @mogren)
- Improvement - Reduce image layers and strip debug flags (#699, @mogren)
- Improvement - Add run-integration-tests.sh script (#698, @nckturner)
- Improvement - Return the error from ipamd to plugin (#688, @mogren)
- Improvement - Bump aws-sdk-go to v1.23.13 (#681, @mogren)
- Improvement - Add support for m5n/m5dn/r5n/r5dn instances (#657, @Jeffwan)
- Improvement - Add IPs to the first ENI on startup (#648, @mogren)
- Improvement - Add shutdown listener (#645, @mogren)
- Improvement - Made timeouts exponential (#640, @Zyqsempai)
- Improvement - Remove vendor folder (#635, @mogren)
- Improvement - Update protobuf to v1.3.2 (#633, @mogren)
- Improvement - Reduce log level to Trace for the most common Debug lines (#631, @mogren)
- Improvement - Bump grpc version to v1.23.1 (#629, @mogren)
- Improvement - Add inCoolingPeriod for AddressInfo (#627, @chendotjs)
- Improvement - Added retryNbackoff for tagENI method (#626, @nithu0115)
- Improvement - Update backoff code from upstream and use when detaching ENIs (#623, @mogren)
- Improvement - Update kubeconfig lookup with eksctl clusters (#513, @dkeightley)
- Improvement - Fix introspection port in troubleshooting docs (#512, @drakedevel)
- Bug fix - Log security groups correctly (#646, @mogren)
- Bug fix - Fix WARM_ENI_TARGET=0 (#587, @mogren)
- Bug fix - Revert "Return delete success for pods that never got scheduled" (#672, @mogren)
- Improvement - Add support for r5dn instance family (#656, @mogren)
- Improvement - Add support for m5n/m5dn/r5n instances (#657, @Jeffwan)
- Improvement - Update cni-metrics-helper to v1.5.5 (#672, @mogren)
- Improvement - Reduce image layers and strip debug flags (#699, @mogren)
- Improvement - Add support for g4dn instance family (#621, @mogren)
- Improvement - Set cniVersion in the config to 0.3.1 (required for Kubernetes 1.16) (#605, @mogren)
- Bug fix - Return delete success for pods that never got scheduled (#623, @mogren)
- Bug fix - Copy the binary and config after ipamd is ready (#576, @mogren)
- Improvement - Update Calico version to v3.8.1 (#554, @lmm)
- Improvement - Add env var to override introspection bind address (#501, @jacksontj)
- Improvement - Remove unused env variable (#578, @mogren)
- Improvement - Exit early if MAC address doesn't match (#582, @mogren)
- Bug fix - Fix formatting flag (#521, @uthark)
- Bug fix - Fix formatting issue (#524, @uthark)
- Bug fix - Detach ENI before deleting (#538, @uthark)
- Improvement - Adding healthz endpoint to IPamD (#548, @nithu0115)
- Improvement - Adding new m5 and r5 instances (#518, @mogren)
- Improvement - t3a.small only have 2 ENIs (#543, @mogren)
- Improvement - Updating AWS Go SDK version (#549, Nordlund, Eric)
- Improvement - Reduce the wait time when checking for pods without IPs (#552, @mogren)
- Improvement - Update start script to wait for ipamd health (#552, @mogren)
- Improvement - Hide health check output (#569, @mogren)
- Improvement - Support c5.12xlarge and c5.24xlarge (#510, @mogren)
- Bug fix - Ignore namespace for custom eniconfig watch (#561, @mogren)
- Bug fix - Fix spelling on annotation (#482, @forsberg)
- Bug fix - Avoid using force detach of ENIs (#458, @mogren)
- Bug fix - Flush logs before exiting (#451, @venkatesh-eb)
- Improvement - Add IPs to existing ENIs first (#487, @mogren)
- Improvement - Added error handling for GetENIipLimit (#484, @Zyqsempai)
- Improvement - Moved all GetEnv's calls to init step (#445, @Zyqsempai)
- Improvement - On start up, wait for pods with no IP (#480, @mogren)
- Improvement - Don't modify maxENI (#472, @nckturner)
- Improvement - Improve WARM_IP_TARGET handling (#461, @nckturner)
- Improvement - Update logging format to align messages (#473, @mogren)
- Improvement - Added -W (wait for xlock's) flag to iptables commands (#439, @Zyqsempai)
- Improvement - Remove error message from Prometheus labels (#467, @bboreham)
- Improvement - Update instance types (#459, @mogren)
- Feature - Add flag to disable metrics and introspection (#436, @mogren)
- Bug fix - Adding additional CRD for Calico that was missing (#410, @wmorgan6796)
- Improvement - Update CNI metrics (#413, @mogren)
- Feature - Add an environment variable to limit the number of ENIs (#251, @pdbogen)
- Makes it possible to limit how many ENIs that are allocated per node.
- Feature - Randomize outgoing port for connections in the SNAT iptables rule (#246, @taylorb-syd)
- To avoid a race condition when using SNAT, select ports randomly instead of sequentially.
- Feature - ENIConfig set by custom annotation or label names (#280, @etopeter)
- Enables users to set a custom annotation or label key to define ENIConfig name.
- Improvement - Update Calico to 3.3.6 (#368, @2ffs2nns)
- Improvement - Add new instance types (#366, @mogren)
- Adds m5ad and r5ad families.
- Improvement - Actually enable prometheus metrics (#361, @mogren)
- Improvement - Retry LinkByMac when link not found (#360, @peterbroadhurst)
- Sometimes it takes a few seconds for a new ENI to be available, so we retry 5 times.
- Improvement - Run
yum clean all
to reduce image size (#351, @mogren) - Improvement - Renaming Prometheus metrics with "awscni_" prefix (#348, @max-rocket-internet)
- Improvement - Allow configuring docker image when running make (#178, @mikkeloscar)
- Improvement - Add support for stdout logging (#342, @rudoi)
- Adds the environment variable
AWS_VPC_K8S_CNI_LOG_FILE
that can be set tostdout
or a file path.
- Adds the environment variable
- Improvement - Some cleanups related to #234 (#244, @mogren)
- Improvement - Use apps/v1 for DaemonSet (#341, @errordeveloper)
- Improvement - Clean up aws-cni-support.sh and update the documentation (#320, @mogren)
- Improvement - Fix tiny typo in log message (#323, #324, @ankon)
- Improvement - Collect rp_filter from all network interface in aws-cni-support.sh (#338, @nak3)
- Improvement - Use device number 0 for primary device in unit test (#247, @nak3)
- Improvement - Collect iptables -nvL -t mangle in support script (#304, @nak3)
- Improvement - Return the err from f.Close() (#249, @mogren)
- Improvement - Explicitly set the IP on secondary ENIs (#271, @ewbankkit)
- Fixes IP bug on older kernels.
- Improvement - Update instance ENI and IP mapping table (#275, @hmizuma)
- Adds a1 and c5n instances. (Already included in v1.3.2)
- Improvement - Add ENI entries for p3dn.24xlarge instance (#274, @hmizuma)
- p3dn.24xlarge was already included in v1.3.2
- Improvement - Use InClusterConfig when CreateKubeClient() was called without args (#293, @nak3)
- Improvement - Expose configuration variables via ipamD to make it debug friendly (#287, @nak3)
- Improvement - Allow cross compile on different platform (#292, @nak3)
- Improvement - Add changes to support multiple platform build (#286, @mbartsch)
- arm64 build support
- Improvement - Improve setup advice in README around ENI / IP (#276 @sftim)
- Improvement - Use
unix.RT_TABLE_MAIN
for main routing table number (#269, @nak3) - Improvement - Detect if mockgen and goimports are in the path (#278, @nak3)
- Improvement - Increment IP address safely (#258, @nak3)
- Calculate the gateway IP in a safe way.
- Improvement - Remove unused options from rpc.proto (#252, @nak3)
- Improvement - Add missing unit tests execution to Makefile (#253, @nak3)
- Improvement - Bump TravisCI to use 1.11 (#243, @mogren)
- Bug fix - Fix typos in json types for ENIConfig (#393, @tiffanyfay)
- Bug fix - Avoid unbound variable error in aws-cni-support.sh (#382, @StevenACoffman)
- Bug fix - Output CIDR in correct format (#267, @nak3)
- Bug fix - Use replace when adding host route (#367, @mogren)
- Bug fix - Update k8sapi to use operator-framework inClusterConfig (#364, @tiffanyfay)
- If the environment variables are missing, fall back to DNS lookup.
- Bug fix - Set mainENIRule mask (#340, @tustvold)
- In order to match the connmark correctly, we need to mask it out when checking.
- Bug fix - Use primary interface to add iptables for connmark entry (#305, @nak3)
- Bug fix - Stop wrapping and returning nil (#245, @nak3)
- Bug fix - Fix return path of NodePort traffic when using Calico network policy (#263, @ikatson)
- Bug fix - Remove scope: Cluster from spec.names (#199, @rickardrosen)
- Bug fix - Remove unneeded spec entry in v1.3 manifest (#262, @hmizuma)
- Bug fix - Add formatter to errors.Wrapf in driver (#241, @nak3)
- Bug fix - Fix max pods for p3dn.24xlarge
- Bug fix - Bump CNI to latest 1.3 version
- Feature - Add ENI entries for p3dn.24xlarge
- Bug fix - Restrict p3dn.24xlarge to 31 IPs/ENI
- Feature - Add logic to handle multiple VPC CIDRs
- Improvement - Update instance types
- Improvement - Add retry for plumbing route entry
- Improvement - Update vpc_ip_resource_limit.go
- Improvement - Add support for g3s.xlarge machines
- Improvement - Fixing t3.xl and t3.2xl eni numbers
- Improvement - Configure MTU of ENI and veths to 9001
- Bug fix - Update containerPort in the spec
- Bug fix - cleanup the host route when perform CNI delete
- Bug fix - Add missing calico.yaml to 1.2
- Bug fix - Do not watch eniconfig CRD if cni is not configured to use pod config
- Bug fix - Fixed typo in aws-k8s-cni.yaml
- Bug fix - Add logic to dynamically discover primary interface name
- Feature - Add hostPort support #153
- Feature - Add a configuration knob to allow Pod to use different VPC SecurityGroups and Subnet #165
- Feature - Fix return path of NodePort traffic #130
- Improvement - Add more error messages during initialization #174
- Improvement - Check to make it is a Pod object #170
- Improvement - Maintain the right number of ENIs and its IP addresses in WARM-IP pool #169
- Improvement - Add support for more instance types: r5, r5d, z1d, t3 #145
- Feature - Versioning with git SHA #106
- Feature - Ability to configure secondary IP preallocation (aws#125)
- Feature - Allow pods communicate with outside VPC without NAT#81
- Improvement - Added travis CI support #116, #117, #118
- Improvement - Modify toleration to make aws-node schedule-able on all nodes #128
- Improvement - Move from TagResources to CreateTags for ENI Tagging #129
- Improvement - Updated troubleshooting guidelines
- Bug Fix - Release IP to datastore upon failure #127
Initial release of amazon-vpc-cni-k8s a cni plugin for use with Kubernetes that uses ENIs and secondary ip addresses.
See the README for additional information.