aws/karpenter-provider-aws

v0.32.7 Failing MetadataOptions for IPv6 in ISO regions

jlplasce opened this issue · 1 comments

Description

Observed Behavior:
When using Chart/App version 0.32.7 of Karpenter in ISO AWS regions , the metadataOptions on NodePools is resulting in an error of:
NodeClaim creating instance with errors: UnsupportedOperation specifying HttpProtocol Metadata Options for an instnace is not support in this region

We typically provide metadataOptions as

{
    http_endpoint = "enabled"
    http_tokens  = "optional"
    httpProtocolIPv6 = "disabled"
    http_put_response_hop_limit = 2         
    instance_metadata_tags  = "disabled"
}  

AWS Communication
AWS Support verified that IPv6 Metadata is disabled by default in one ISO region, but is not yet a property available in other regions, and therefor, even setting the property to "disabled" or "false" will result in errors as the endpoint/properties do not exist

Attempted Troubleshooting
The following attempted changes were made but none were successful:

  • Completely remove any override metadataOptions and allow the chart defaults
metadataOptions = {}
  • Set httpProtocolIPv6 to disabled
{
    http_endpoint = "enabled"
    http_tokens  = "optional"
    httpProtocolIPv6 = "disabled"
    http_put_response_hop_limit = 2         
    instance_metadata_tags  = "disabled"
} 
  • Provide the above standard metadataOptions for all other settings, but remove any setting of httpProtocolIPv6
{
    http_endpoint = "enabled"
    http_tokens  = "optional"
    ## httpProtocolIPv6 = "disabled"
    http_put_response_hop_limit = 2         
    instance_metadata_tags  = "disabled"
} 
  • Set httpProtocolIPv6 to null
{
    http_endpoint = "enabled"
    http_tokens  = "optional"
    httpProtocolIPv6 = null
    http_put_response_hop_limit = 2         
    instance_metadata_tags  = "disabled"
} 

Workaround
Reverting all the way back to v0.18.1 works successfully

Versions:

  • Chart Version: 0.32.7
  • Kubernetes Version (kubectl version): 1.26.10+rke2r2
  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Can you please share your nodePool spec? I would also recommend updating to v0.33 and above as with the release of Karpenter v1.0, we have dropped support for karpenter versions v0.32 and below.