Kubernetes Rest API更改Pod中的现有机密/配置映射

Kubernetes Rest API更改Pod中的现有机密/配置映射,rest,kubernetes,kubernetes-pod,Rest,Kubernetes,Kubernetes Pod,我已经使用kubernetesrestapipost/API/v1/namespaces/{namespace}/pods部署了Pod 请求正文中的podspec卷如下所示: { "kind": "Pod", "apiVersion": "v1", "metadata": { "name": "test", "namespace": "default" }, "spec": { "volumes": [ {

我已经使用kubernetesrestapipost/API/v1/namespaces/{namespace}/pods部署了Pod 请求正文中的podspec卷如下所示:

{
 "kind": "Pod",
  "apiVersion": "v1",
  "metadata": {
    "name": "test",
    "namespace": "default"
  },
  "spec": {
    "volumes": [
            {
                "name": "test-secrets",
                "secret": {
                    "secretName": "test-secret-one"
                }
            }
        ],
"containers":[
<<container json>>.........
]
  }
}
{
“种类”:“豆荚”,
“apiVersion”:“v1”,
“元数据”:{
“名称”:“测试”,
“命名空间”:“默认”
},
“规格”:{
“卷”:[
{
“名称”:“测试机密”,
“秘密”:{
“secretName”:“测试机密1”
}
}
],
“容器”:[
.........
]
}
}
  • 现在我想把Pod的秘密名称test secret 1改为test secret 2

  • 我怎样才能做到这一点?我需要使用什么RESTAPI

  • 修补程序rest API-我可以使用更改容器映像,但不能用于卷。如果这可以使用,你能给我一个例子或参考

  • 是否有任何Kubernetes Rest API来重新启动Pod。请注意,我们没有使用部署对象模型。它直接部署为Pod,而不是部署


  • 这里有人能帮忙吗?

    我将答案发布为社区维基,因为解决方案来自于评论


    卷不是可更新的字段,您需要重新创建pod 使用新的规范

    大多数问题的答案是使用部署并对其进行修补。 部署将为您管理更新和重新启动

    也可以采用不同的方法,建议如下:


    如果只更新机密和Configmap的内容而不是 重命名它们后,装入的卷将由中的
    kubelet
    刷新 持续时间<代码>--同步频率(默认为1m)


    我将答案发布为社区维基,因为解决方案来自评论中


    卷不是可更新的字段,您需要重新创建pod 使用新的规范

    大多数问题的答案是使用部署并对其进行修补。 部署将为您管理更新和重新启动

    也可以采用不同的方法,建议如下:


    如果只更新机密和Configmap的内容而不是 重命名它们后,装入的卷将由中的
    kubelet
    刷新 持续时间<代码>--同步频率(默认为1m)


    卷不是可更新的字段,您需要使用新规范重新创建pod。大多数问题的答案是使用部署并对其进行修补。部署将为您管理更新并重新启动。@Matt,请继续并将其作为答案发布。我完全同意你的观点。如果你只更新Secrets和Configmap的内容而不是重命名它们,那么装载的卷将在
    --sync frequency
    (默认为1m)期间由
    kubelet
    刷新。卷不是可更新的字段,你需要用新的规范重新创建pod。大多数问题的答案是使用部署并修补它。部署将为您管理更新并重新启动。@Matt,请继续并将其作为答案发布。我完全同意你的观点。如果你只更新Secrets和Configmap的内容而不重命名它们,那么装载的卷将在
    --sync frequency
    的持续时间内由
    kubelet
    刷新(默认为1m)。