Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes “面向”;“豆荚”;网络nginx“;无效:spec.initContainers:禁止:pod更新不能添加或删除容器;使用容器应用pod_Kubernetes - Fatal编程技术网

Kubernetes “面向”;“豆荚”;网络nginx“;无效:spec.initContainers:禁止:pod更新不能添加或删除容器;使用容器应用pod

Kubernetes “面向”;“豆荚”;网络nginx“;无效:spec.initContainers:禁止:pod更新不能添加或删除容器;使用容器应用pod,kubernetes,Kubernetes,我试图在kubernetes集群中使用initcontainers启动应用程序之前创建文件 但是,当我设置pod.yaml并尝试使用“kubectl apply-f pod.yaml”应用它时,它会抛出以下错误 正如错误所说,您无法更新Pod添加或删除容器。引用文档() Kubernetes不会阻止您直接管理POD。它是 可以就地更新运行吊舱的某些字段。然而, Pod更新操作(如修补和替换)有一些限制 这是因为通常情况下,您不直接创建POD,而是使用部署、作业、状态集(以及更多),这些是定义PO

我试图在kubernetes集群中使用initcontainers启动应用程序之前创建文件

但是,当我设置pod.yaml并尝试使用“kubectl apply-f pod.yaml”应用它时,它会抛出以下错误

正如错误所说,您无法更新Pod添加或删除容器。引用文档()

Kubernetes不会阻止您直接管理POD。它是 可以就地更新运行吊舱的某些字段。然而, Pod更新操作(如修补和替换)有一些限制

这是因为通常情况下,您不直接创建POD,而是使用部署、作业、状态集(以及更多),这些是定义POD模板的高级资源。修改模板时,Kubernetes只需删除旧Pod,然后安排新版本

就你而言:

  • 您可以先删除pod,然后使用您定义的新规格再次创建它。但是要考虑到Pod可能被安排在集群的不同节点上(如果您有多个节点),并且由于Pod是一次性实体,可能具有不同的IP地址
  • 使用稍微复杂一点的定义来更改您的定义,部署()可以根据需要进行更改,并且每次更改其定义时,都会删除旧的Pod并安排新的Pod

从Pod的规范中,我看到您正在使用一个卷在init容器和主容器之间共享数据。这是最佳方式,但不一定需要使用主机路径。如果卷的唯一需要是在init容器和其他容器之间共享数据,则可以简单地使用
emptyDir
type,它充当临时卷,可以在容器之间共享,并且当Pod因任何原因从集群中移除时,将清理该临时卷


您可以在此处查看文档:

它是按字面意思打印出
错误图像
,还是有更详细的文本?请将这些详细信息作为文本(不是图像)直接包含在问题中(不是链接后面)。解释如何导致错误也会很有帮助。