首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用HorizontalPodAutoscaler Fabric8 k8s java客户端删除k8s(版本: 6.0.0)

如何使用HorizontalPodAutoscaler Fabric8 k8s java客户端删除k8s(版本: 6.0.0)
EN

Stack Overflow用户
提问于 2022-09-14 08:28:16
回答 1查看 81关注 0票数 1

看来不支持使用HorizontalPodAutoscaler 8的K8S客户端ver:6.0.0删除K8S。

尽管使用HorizontalPodAutoscaler 8的Java :6.0.0创建K8S很简单。

例如。

代码语言:javascript
复制
 HorizontalPodAutoscalerStatus hpaStatus = k8sClient.resource(createHPA())
                .inNamespace(namespace)
                .createOrReplace().getStatus();
代码语言:javascript
复制
public HorizontalPodAutoscaler createHPA(){
return new HorizontalPodAutoscalerBuilder()
                .withNewMetadata()
                    .withName(applicationName)
                    .addToLabels("name", applicationName)
                .endMetadata()
                .withNewSpec()
                    .withNewScaleTargetRef()
                        .withApiVersion(hpaApiVersion)
                        .withKind("Deployment")
                        .withName(applicationName)
                    .endScaleTargetRef()
                    .withMinReplicas(minReplica)
                    .withMaxReplicas(maxReplica)
                    .addNewMetric()
                        .withType("Resource")
                        .withNewResource()
                            .withName("cpu")
                            .withNewTarget()
                                .withType("Utilization")
                                .withAverageUtilization(cpuAverageUtilization)
                            .endTarget()
                        .endResource()
                    .endMetric()
                    .addNewMetric()
                        .withType("Resource")
                        .withNewResource()
                            .withName("memory")
                            .withNewTarget() 
                                .withType("AverageValue")
                                .withAverageValue(new Quantity(memoryAverageValue))
                            .endTarget()
                        .endResource()
                    .endMetric()
                    .withNewBehavior()
                        .withNewScaleDown()
                            .addNewPolicy()
                                .withType("Pods")
                                .withValue(podScaleDownValue)
                                .withPeriodSeconds(podScaleDownPeriod)
                            .endPolicy()
                            .withStabilizationWindowSeconds(podScaledStabaliztionWindow)
                        .endScaleDown()
                    .endBehavior()
                .endSpec().build();
}

使用HorizontalPodAutoscaler 8的K8S客户端(6.0.0)删除K8S的任何解决方案都将是可行的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-30 05:04:36

首先,需要识别在基于同一个API组的部署创建过程中使用了哪个API组(v1, v2beta1, v2beta2) --需要调用自动标度函数来获取HPA实例,然后继续对该HPA实例执行任何操作。

在我的例子中,部署是使用v2beta2 API组创建的,下面的代码snnipt帮助我从提供的名称空间中删除HorizontalPodAutoscaler对象。

代码语言:javascript
复制
k8sClient.autoscaling().v2beta2().horizontalPodAutoscalers().inNamespace("test").withName("myhpa").delete()
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73713753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档