当前位置: 首页 > 知识库问答 >
问题:

禁止:禁止更新“replicas”、“template”和“update strategy”以外的字段的statefulset规范

贝嘉泽
2023-03-14
public void createOrReplaceResourceByYaml(String namespace, KubernetesResource resource) {
  KubernetesClient client = k8sRestClient.newKubeClient();
  Deployment deployment = (Deployment) resource;
  logger.info(String.format("Create/Replace Deployment [%s] in namespace [%s].", ((Deployment) resource).getMetadata().getName(), namespace));
  NonNamespaceOperation<Deployment, DeploymentList, DoneableDeployment, ScalableResource<Deployment, DoneableDeployment>> deployments = client.extensions().deployments().inNamespace(namespace);
  Deployment result = deployments.createOrReplace(deployment);
  logger.info(String.format("Created/Replaced Deployment [%s].", result.getMetadata().getName()));
}
public void createOrReplaceResourceByYaml(String namespace, KubernetesResource resource) {
  KubernetesClient client = k8sRestClient.newKubeClient();
  StatefulSet statefulSet = (StatefulSet) resource;
  logger.info(String.format("Create/Replace StatefulSet [%s] in namespace [%s].", statefulSet.getMetadata().getName(), namespace));
  NonNamespaceOperation<StatefulSet, StatefulSetList, DoneableStatefulSet, RollableScalableResource<StatefulSet, DoneableStatefulSet>> statefulSets = client.apps().statefulSets().inNamespace(namespace);
  StatefulSet result = statefulSets.createOrReplace(statefulSet);
  logger.info(String.format("Created/Replaced StatefulSet [%s].", result.getMetadata().getName()));
}

执行失败:PUT在:https://kubernetes.default.svc/apis/apps/v1beta1/namespaces/itsma1/statefulsets/pro-rabbitmq。消息:statefulset.apps“Pro-RabbitMQ”无效:spec:Piopbed:禁止更新“replicas”、“template”和“update strategy”以外的字段的statefulset spec。接收状态:Status(APIVersion=v1,代码=422,details=statusdetails(causes=[statuscause(field=spec,message=biabled:禁止对“replicas”、“template”和“update strategy”以外的字段更新statefulset规范。,reason=fieldvaluebiabled,additionalproperties={})],group=apps,kind=statefulset,name=pro-rabbitmq,retryafterseconds=null,uid=null,additionalproperties={}),kind=statefulset。apps“pro-rabbitmq”无效:spec:biabled:对“replicas禁止”replicas“、”template“与”update strategy“以外得字段.,Metadata=ListMeta(ResourceVersion=Null,Selflink=Null,AdditionalProperties={}),Reason=Invalid,Status=Failure,AdditionalProperties={}).

我很好奇为什么会发生错误,以及如何修复它。

共有1个答案

景英杰
2023-03-14

您可以尝试这样做来更新StatefulSet

client.apps().StateFulSets().WithName(“repl1”).Rolling().WithTimeout(5,TimeUnit.Minutes).UpdateImage(“”);

如果只想缩放,可以试试这个

 类似资料:
  • 我目前正在使用spring-data-rest开发一个小型REST web服务,使用: 它的工作也很好,但我想阻止更新一些字段,人们不应该允许更新firstName和lastName例如。 有什么方法可以很容易地用注释来完成吗?或者我必须对每个补丁(或PUT)请求进行自定义验证吗?我不喜欢这种解决方案,因为我必须对模型的每个实体都这样做。 我希望我清楚地暴露了我的问题,如果不清楚,请多问我一些问题

  • Spring我是新来的。我试图在我的数据库中添加一个新目标。在我添加spring security之前,它是有效的,但现在如果我单击添加新目标,我有一个问题: 出现意外错误(类型=禁止,状态=403)。被禁止的 我的goat-add.html: WebSecurity配置类: 我的控制器: 我读到这个问题可以是如果不使用csrf,但我不明白我怎么能解决它。 所有代码:https://github.

  • 一、功能说明 本功能为设置禁止登陆后台的IP地址,支持通配符 二、子功能导航 1.添加IP 2.管理IP 三、功能详解 1.添加IP 1).如何进入本功能 导航栏 选择扩展 -> 菜单栏 选择IP禁止 2).界面解释 进入后选择添加IP禁止按钮弹出如下界面 界面详述 1). IP: 填写您欲禁止进入后台的IP,支持通配符,如图所示将会阻止:127.0.0.0~127.0.0.255 之间的IP登陆

  • 问题内容: 我希望能够创建一个用Python初始化的类(在Python中),该类不接受新属性,但接受对现有属性的修改。我可以通过几种方法来做到这一点,例如,使用诸如 然后直接在内部进行编辑,但是我想知道是否存在“正确”的方法? 问题答案: 我不会直接使用,但是您可以添加一个函数来显式“冻结”实例:

  • 所以,我尝试在一台机器上运行一个域、一个子域和另一个域。我已经为每个站点设置了一个conf文件: 同样的文件夹配置也可以在apache2.conf中找到(我尝试过),并且在所有站点上都是相同的配置。 问题是,把这个DocumentRoot和禁用后000-default.conf我得到403禁止。 将所有者更改为www数据:www数据 将烫发更改为755/777 将目录配置放入 apache2.co

  • 我有一个Spring项目,其中多个bean可能具有相同的bean名称。 为了避免冲突BeanDefinitionException,项目有一个重写的ContextNamespaceHandler。 我正在使用Swagger/Springfox为项目生成API文档。 组件扫描(ComponentScan)导致冲突BeanDefinitionException(BeanDefinitionExcept