【问题标题】:How do I undo a kubectl create deploy?如何撤消 kubectl create deploy?
【发布时间】:2021-01-14 02:47:01
【问题描述】:

我在google cloud上搭建一个nginx集群,输入了错误的镜像名称;而不是输入:

kubectl create deploy nginx --image=nginx:1.17.10

我输入了:

kubectl create deploy nginx --image=1.17.10

最终在运行 kubectl get pods 之后,它显示 ImagePullBackOff 作为 pod 的状态。

当我尝试运行上面正确的创建部署命令时,它说“nginx”已经存在。

当我尝试执行 kubernetes delete --all pods 时,使用新 ID 重新创建了 pod,但仍然具有相同的状态,并且仍然无法让我运行上面正确的“kubectl create deploy”命令。现在我被困住了。

我怎样才能撤消它?

【问题讨论】:

    标签: kubernetes google-cloud-platform google-kubernetes-engine


    【解决方案1】:

    您需要删除部署:

    kubectl delete deploy nginx
    

    否则 Kubernetes 将在每次关闭时重新创建 pod。

    您可以使用

    查看所有部署
    kubectl get deploy 
    

    【讨论】:

      【解决方案2】:

      通过kubectl edit deployment DEPLOYMENT_NAME 编辑部署并更改映像名称。

      或者

      编辑清单文件并使用正确的图像鬃毛附加文件并执行kubectl apply -f YAML file

      【讨论】:

        【解决方案3】:

        首先,您的 k8s 集群正在尝试从公共 docker 注册表中提取 image 1.17.10。但是由于这个名称不存在图像,这就是它出错的原因。当您尝试删除您的 pod 时,它会再次尝试使用与您的部署相同的图像名称创建。因此,您需要删除部署而不是 pod。否则,部署将自动尝试再次创建已删除的 pod。

        您实际上可以使用以下命令检查部署中的错误:

        kubectl describe deploy nginx
        

        对你来说,命令是kubectl delete deploy -n <Namespace_name> <deployment_name>。由于您已经在默认命名空间中创建了部署,因此您无需自动提及命名空间,它将成为默认命名空间。 您可以使用以下命令删除部署:

        kubectl delete deploy nginx
        
        

        【讨论】:

          猜你喜欢
          • 2019-07-14
          • 1970-01-01
          • 2018-05-02
          • 1970-01-01
          • 1970-01-01
          • 2021-06-01
          • 2014-04-12
          • 2019-03-01
          • 1970-01-01
          相关资源
          最近更新 更多