amazon-ec2-instance-selector
amazon-ec2-instance-selector copied to clipboard
Ability to filter Ipv4 per ENIs
trafficstars
When we want to calculate the max pods in the EKS case of an instance type we need to know both the number of ENIs and the number of Ip per ENIs.
Actually we need to do the check manually in order not to have problems in the EKS clusters.
Good feature request! We can definitely get this into ec2-instance-selector:
For reference: (.NetworkInfo.Ipv4AddressesPerInterface and .NetworkInfo.Ipv6AddressesPerInterface)
{
"AutoRecoverySupported": true,
"BareMetal": false,
"BurstablePerformanceSupported": false,
"CurrentGeneration": true,
"DedicatedHostsSupported": true,
"EbsInfo": {
"EbsOptimizedInfo": {
"BaselineBandwidthInMbps": 650,
"BaselineIops": 3600,
"BaselineThroughputInMBps": 81.25,
"MaximumBandwidthInMbps": 4750,
"MaximumIops": 18750,
"MaximumThroughputInMBps": 593.75
},
"EbsOptimizedSupport": "default",
"EncryptionSupport": "supported",
"NvmeSupport": "required"
},
"FpgaInfo": null,
"FreeTierEligible": false,
"GpuInfo": null,
"HibernationSupported": true,
"Hypervisor": "nitro",
"InferenceAcceleratorInfo": null,
"InstanceStorageInfo": null,
"InstanceStorageSupported": false,
"InstanceType": "m5.large",
"MemoryInfo": {
"SizeInMiB": 8192
},
"NetworkInfo": {
"DefaultNetworkCardIndex": 0,
"EfaInfo": null,
"EfaSupported": false,
"EnaSupport": "required",
"EncryptionInTransitSupported": false,
"Ipv4AddressesPerInterface": 10,
"Ipv6AddressesPerInterface": 10,
"Ipv6Supported": true,
"MaximumNetworkCards": 1,
"MaximumNetworkInterfaces": 3,
"NetworkCards": [
{
"MaximumNetworkInterfaces": 3,
"NetworkCardIndex": 0,
"NetworkPerformance": "Up to 10 Gigabit"
}
],
"NetworkPerformance": "Up to 10 Gigabit"
},
"PlacementGroupInfo": {
"SupportedStrategies": [
"cluster",
"partition",
"spread"
]
},
"ProcessorInfo": {
"SupportedArchitectures": [
"x86_64"
],
"SustainedClockSpeedInGhz": 3.1
},
"SupportedBootModes": [
"legacy-bios",
"uefi"
],
"SupportedRootDeviceTypes": [
"ebs"
],
"SupportedUsageClasses": [
"on-demand",
"spot"
],
"SupportedVirtualizationTypes": [
"hvm"
],
"VCpuInfo": {
"DefaultCores": 1,
"DefaultThreadsPerCore": 2,
"DefaultVCpus": 2,
"ValidCores": [
1
],
"ValidThreadsPerCore": [
1,
2
]
},
"OndemandPricePerHour": 0.096,
"SpotPrice": 0.02064770118269803
}
Hey @bwagner5 I'd like to take a stab at it. I've gone through the relevant code, and I have a fair idea about the implementation. However, I'll need some pointers for writing test cases.
Thanks.