首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我运行pod.yaml时,规范无效

当我运行pod.yaml时,规范无效
EN

Stack Overflow用户
提问于 2018-10-08 14:05:50
回答 2查看 8.3K关注 0票数 5

当我运行我的Pod时,我得到了Pod (Cas)是无效的规范:禁止的荚更新除了spec.containers[*].imagespec.initContainers[*].imagespec.activeDeadlineSecondsspec.tolerations (仅对现有的公差增加)之外,不得更改字段。

然而,我在kubernetes的网站上搜索,没有发现任何错误:(我真的不明白我的错误在哪里)

在Pod或部署中设置volumeMounts更好吗?

代码语言:javascript
复制
apiVersion: v1
kind: Pod 
metadata:
  name: cas-de
  namespace: ds-svc
spec:
  containers:
  - name: ds-mg-cas
    image: "docker-all.xxx.net/library/ds-mg-cas:latest"
    imagePullPolicy: Always
    ports:
    - containerPort: 8443
    - containerPort: 6402
    env:
    - name: JAVA_APP_CONFIGS
      value: "/apps/ds-cas/configs"
    - name: JAVA_EXTRA_PARAMS
      value: "-Djava.security.auth.login.config=./config/jaas.config -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=6402"
    volumeMounts:
    - name: ds-cas-config
      mountPath: "/apps/ds-cas/context"
  volumes:
    - name: ds-cas-config
      hostPath:
        path: "/apps/ds-cas/context"
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-08 14:30:41

YAML模板有效。其中一些字段可能已被更改,并被禁止,然后执行kubectl apply ....

看上去更像是一个发展。解决方案是使用kubectl delete pod cas-de命令删除现有的pod,然后执行kubectl apply -f file.yamlkubectl create -f file.yaml

票数 12
EN

Stack Overflow用户

发布于 2018-10-08 19:44:49

对象上有几个字段,在最初创建对象之后,您根本不允许更改这些字段。作为一个具体的例子,集装箱参考文件注意到volumeMounts“不能更新”。如果遇到其中一种情况,则需要删除并重新创建对象(可能先使用不同的名称创建新的对象)。

在Pod或部署中设置volumeMounts更好吗?

永远不要使用裸Pods;总是喜欢使用管理Pods的控制器之一,最常见的是部署。

更改为部署实际上解决了这个问题,因为更新部署的Pod规范将经历创建新pod、等待其可用的顺序,然后为您删除旧的Pod。它从不尝试在适当的地方更新一个Pod。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52704071

复制
相关文章

相似问题

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