-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Bottlerocket on Neuron instance types #7722
base: main
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for karpenter-docs-prod ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
89fee17
to
fc91520
Compare
@@ -1353,6 +1353,20 @@ cluster-name = 'cluster' | |||
'memory.available' = '12%%' | |||
``` | |||
|
|||
#### Device ownership in Bottlerocket | |||
|
|||
Bottlerocket v1.30.0+ supports device ownership using the security context provided in the Kubernetes specfile. To enable this, you will need the following user-data configurations: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the security context coming from the Pod spec? Mind linking out to that here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ack. Updated
```toml | ||
[settings] | ||
[settings.kubernetes] | ||
device-ownership-from-security-context = true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to update our merge semantic for our settings if we are going to support this new setting here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Assuming the merge logic is agnostic to the toml key being provided, then no.
I imagine it would be able, to support arbitrary keys under Bottlerocket sysctl settings
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We map to settings.kubernetes
via a struct in pkg/providers/amifamily/bootstrap/bottlerocketsettings.go:46
. Can we add this to that struct please?
fc91520
to
ebe2ee0
Compare
⬆️ Pushed updates following comments |
Pull Request Test Coverage Report for Build 13319263932Warning: This coverage report may be inaccurate.This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.
Details
💛 - Coveralls |
@@ -44,7 +44,7 @@ func (b Bottlerocket) DescribeImageQuery(ctx context.Context, ssmProvider ssm.Pr | |||
trimmedAMIVersion := strings.TrimLeft(amiVersion, "v") | |||
ids := map[string][]Variant{} | |||
for path, variants := range map[string][]Variant{ | |||
fmt.Sprintf("/aws/service/bottlerocket/aws-k8s-%s/x86_64/%s/image_id", k8sVersion, trimmedAMIVersion): {VariantStandard}, | |||
fmt.Sprintf("/aws/service/bottlerocket/aws-k8s-%s/x86_64/%s/image_id", k8sVersion, trimmedAMIVersion): {VariantStandard, VariantNeuron}, | |||
fmt.Sprintf("/aws/service/bottlerocket/aws-k8s-%s/arm64/%s/image_id", k8sVersion, trimmedAMIVersion): {VariantStandard}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is arm not supported?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nope. Neuron instances only support x86 architecture
Fixes #7596
Description
This changes allows karpenter to launch Neuron instances (
inf
,trn
instance types) using the Bottlerocket AMI.How was this change tested?
Does this change impact docs?
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.