我在Ubuntu 18.04计算机上设置了一个主节点,并按照指南:https://kubernetes.io/ja/docs/setup/production-environment/windows/user-guide-windows-nodes/将Windows Server 2019节点成功注册到了群集中。
现在,kubelet已在powershell上启动,并且两个节点已准备就绪。
在Windows计算机上,我运行命令行:“ kubectl create deployment --image = XXX(Windows Server 2019映像)webadmin-app”以在Windows节点上创建部署。
在创建Pod时,kubelet报告以下日志消息:
W0821 17:37:03.003768 99524 pod_container_deletor.go:77]在容器的容器中找不到容器“ dee4daa76a9e60e0e68af75597092aa5cff517c7021a6ef7579f77f662f2a163”
W0821 17:37:03.071774 99524 helpers.go:289]由于冲突而无法创建Pod沙箱。尝试删除沙箱“ dee4daa76a9e60e0e68af75597092aa5cff517c7021a6ef7579f77f662f2a163”
E0821 17:37:03.108764 99524 remote_runtime.go:200]来自运行时服务的沙箱“ 62ff282461eba2fae24a66b7d38ccca43b224c74320dbb5a0a4659b4c4446eb7”中的CreateContainer失败:rpc错误:代码=未知desc =来自守护程序Con的错误响应:容器名称“ / k8s_webadmin-site_webadmin-app-757c7455cf-nms75_default_7ac60567-f9e2-4c04-aead-c6957200c961_0”已被容器“ dee4daa76a9e60e0e68af75597092aa5cff517c7021a6ef7579f163f163”使用。您必须删除(或重命名)该容器才能重用该名称。
E0821 17:37:03.109762 99524 kuberuntime_manager.go:801]容器启动失败:CreateContainerError:来自守护程序的错误响应:冲突。容器名称“ / k8s_webadmin-site_webadmin-app-757c7455cf-nms75_default_7ac60567-f9e2-4c04-aead-c6957200c961_0”已被容器“ dee4daa76a9e60e0e68af75597092aa5cff517c7021a6ef7579f163f163”使用。您必须删除(或重命名)该容器才能重用该名称。
E0821 17:37:03.113766 99524 pod_workers.go:191]同步pod 7ac60567-f9e2-4c04-aead-c6957200c961(“ webadmin-app-757c7455cf-nms75_default(7ac60567-f9e2-4c04-aead-c6957200c961)”时出错) ,跳过:对于带有“ CreateContainerError”的“ webadmin-site”,对“ StartContainer”失败:“守护程序的错误响应:冲突。容器名称“ / k8s_webadmin-site_webadmin-app-757c7455cf-nms75_default_7ac60567-f9e2-4c04-aead-c6957200c961_0”被容器“ dee4daa76a9e60e0e68af75597092aa5cff517c7021a6ef7579f77f662f2a163”使用。您必须删除(或重命名)该容器才能重用该名称。”
在创建广告连播时,此类失败消息会不断生成。
因此,我在Pod创建期间使用“ docker ps”列出了docker容器。似乎kubelet不断创建和删除容器(基于指定的图像XXX)。
如何解决在Windows节点上创建部署失败的问题?
更新:
如果--image设置为mcr.microsoft.com/k8s/core/pause:1.2.0,则可以创建部署。 但是,如果我使用基于Windows nano服务器的另一个图像。我部署失败。 我从kubelet输出中捕获了一些错误日志:
W0826 17:58:14.903662 127340 cri_stats_provider_windows.go:89]无法获取错误为“ json”的HNS端点“”:无法将数组解组为hns.HNSEndpoint类型的Go值,继续获取其他端点的统计信息>
E0826 17:58:14.940665 127340 cni.go:364]错误添加default_webadmin-APP-757c7455cf-5c5nf / 9a37dab965d1b006c4c2ec70619b3a4bb42dd39dad8c0ce1baf39eab634da3d5到网络绒布/ vxlan0:错误而ProvisionEndpoint(9a37dab965d1b006c4c2ec70619b3a4bb42dd39dad8c0ce1baf39eab634da3d5_vxlan0,39EA65C2-C0F9-4870-8B7A-E2A1DBF5CD9D,9a37dab965d1b006c4c2ec70619b3a4bb42dd39dad8c0ce1baf39eab634da3d5 ):虚拟机或容器已被强制退出。
E0826 17:58:14.942663 127340 cni_windows.go:59]错误,同时加入到CNI网络:错误而ProvisionEndpoint(9a37dab965d1b006c4c2ec70619b3a4bb42dd39dad8c0ce1baf39eab634da3d5_vxlan0,39EA65C2-C0F9-4870-8B7A-E2A1DBF5CD9D,9a37dab965d1b006c4c2ec70619b3a4bb42dd39dad8c0ce1baf39eab634da3d5):虚拟机或容器被强行退出
W0826 17:58:14.943663 127340 docker_sandbox.go:400]无法从插件/泊坞程序读取Pod IP:networkPlugin cni在状态Pod“ webadmin-app-757c7455cf-5c5nf_default”上失败:错误,同时ProvisionEndpoint(9a37dabd965d1b006c4c2ec70619d34ce3d3d4e3d3d3d4e3d3d3d3d3d3d3d3d3d3d4d3d3d3d3d3d3d4e4e3d3d3d3d3e4e3d0e4e3d0b4e3d0b3d3d0b0e0b0b0c0b0b3c0b0b0b0b0b0b0b0b0b0b0b0b0b0b一次机会,39EA65C2-C0F9-4870-8B7A-E2A1DBF5CD9D,9a37dab965d1b006c4c2ec70619b3a4bb42dd39dad8c0ce1baf39eab634da3d5):虚拟机或容器已被强制退出。
从错误消息来看,似乎是导致容器失效的是容器的映像。我设置自己的图像时是否想念任何东西?为什么网络插件无法用于我创建的图像,但可以用于图像mcr.microsoft.com/k8s/core/pause:1.2.0?