Comments (2)
- We need scale.status.replicas to compute an autoscaling decision (spec.replicas is not necessary)
- The SNG controller should always be able to populate status.replicas, even if spec.replicas is unset (i.e. don't enforce replicas)
- The client-go code requires that both values are set, we may need to implement a custom scale/status reader
In the short term, a workaround is just to set spec.replicas on the SNG.
from karpenter-provider-aws.
I think the error is being generated from here, although not 100% sure ...
https://github.com/kubernetes/client-go/blob/master/rest/request.go#L1031
if len(contentType) > 0 {
var err error
mediaType, params, err := mime.ParseMediaType(contentType)
if err != nil {
return Result{err: errors.NewInternalError(err)} /// <<<<<
}
which is (indirectly?) called from here? https://github.com/kubernetes/client-go/blob/master/scale/client.go#L168
func (c *namespacedScaleClient) Get(ctx context.Context, resource schema.GroupResource, name string, opts metav1.GetOptions) (*autoscaling.Scale, error) {
// Currently, a /scale endpoint can return different scale types.
// Until we have support for the alternative API representations proposal,
// we need to deal with accepting different API versions.
// In practice, this is autoscaling/v1.Scale and extensions/v1beta1.Scale
path, gvr, err := c.client.pathAndVersionFor(resource)
if err != nil {
return nil, fmt.Errorf("unable to get client for %s: %v", resource.String(), err)
}
result := c.client.clientBase.Get().
AbsPath(path).
NamespaceIfScoped(c.namespace, c.namespace != "").
Resource(gvr.Resource).
Name(name).
SubResource("scale").
SpecificallyVersionedParams(&opts, dynamicParameterCodec, versionV1).
Do(ctx) /// <<<<<<<
if err := result.Error(); err != nil {
return nil, err
}
from karpenter-provider-aws.
Related Issues (20)
- Add the possibility to use "do-not-disrupt" on namespace level HOT 5
- Is Karpenter Controller support running on AL2023 ARM64? HOT 6
- ERROR: Karpenter not authorized to perform: iam:PassRole HOT 3
- Pods matching multiple nodepools with the same weight HOT 2
- What is the best way to upgrade EKS versions when pinning AMIs? HOT 5
- Add karpenter_provisioners_usage_pct metric back HOT 1
- EC2NodeClass Validation Doesn't detect malformed blockDeviceMappings.ebs.volumeSize value
- Upgrade nightmare HOT 7
- Better documentation for NodePool "Exists" operator HOT 4
- Reconciler error: getting drift, calculating ami drift, getting amis, describing images, InvalidParameterValue: The NextToken is invalid HOT 6
- Allow Karpenter SQS Queue Name to be set HOT 1
- Helm chart should default LEADER_ELECT to `replicas > 1` HOT 3
- Karpenter fails to register nodes even after successful nodeclaim launch HOT 7
- Karpenter does not disrupt HOT 14
- Cleanup docs regarding settings.aws.enablePodENI
- Karpenter can't delete node if Kubelet crashes HOT 1
- Autoscaling Policy Memory Usage set to 80% usage limit HOT 2
- Support configuring cpu options via ec2nodeclass HOT 3
- Add nodepool label to karpenter_interruption_actions_performed
- Auto-Upgrade EKSCTL version used in E2E testing
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from karpenter-provider-aws.