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
Docker 用于创建部署的yaml失败_Docker_Kubernetes_Minikube - Fatal编程技术网

Docker 用于创建部署的yaml失败

Docker 用于创建部署的yaml失败,docker,kubernetes,minikube,Docker,Kubernetes,Minikube,在构建名为MyHTTP的docker映像之后,我可以使用 kubectl创建部署http部署--image=my http 这不会拉取映像,因为imagePullPolicy始终为 那就跑吧 kubectl编辑部署http部署 并将imagePullPolicy更改为Never,然后它将运行 但出于自动化目的,我创建了一个yaml来创建部署,同时设置imagePullPolicy apiVersion: apps/v1 kind: Deployment metadata: name: htt

在构建名为MyHTTP的docker映像之后,我可以使用

kubectl创建部署http部署--image=my http

这不会拉取映像,因为imagePullPolicy始终为

那就跑吧

kubectl编辑部署http部署

并将imagePullPolicy更改为Never,然后它将运行

但出于自动化目的,我创建了一个yaml来创建部署,同时设置imagePullPolicy

apiVersion: apps/v1
kind: Deployment
metadata:
  name: http-deployment
spec:
    replicas: 3
    selector:
      matchLabels:
        app: http
    template:
      metadata:
        labels:
          app: http
      spec:
        containers:
        - name: my-http
          image: my-http
          imagePullPolicy: Never
          ports:
          - containerPort: 8080
然后应用-f,POD开始运行,但过了一段时间,一个Crashloopbackoff会随着消息启动

容器映像my http已存在于计算机上

显然,它与集装箱港口有关,但如何使用该港口使其运行?没有正在运行的容器

编辑:已经存在的图像只是信息,这是pod描述中的最后一行

警告后退7秒(x8比91秒)kubelet,minikube后退 重新启动失败的容器


您的图像可能是Kubernetes无法提取的私有图像,如果您没有指定


但是,这应该不是问题,因为
imagePullPolicy:Never
只会在节点上使用图像。您可以通过
kubectl descripe pod\u name
或使用
--previous
标志获取上一个pod的日志来诊断真正的问题,因为较新的pod可能没有遇到问题。

您的映像可能是Kubernetes无法提取的私有映像,如果您没有指定


但是,这应该不是问题,因为
imagePullPolicy:Never
只会在节点上使用图像。您可以通过
kubectl descripe pod\u name
或使用
--previous
标志获取上一个pod的日志来诊断真正的问题,因为较新的pod可能没有遇到问题。

如果您使用kubernetes群集,则您的映像仅在构建映像的节点上可用

您必须将映像推送到容器注册表,然后kubernetes将尝试将映像拉到将运行容器的节点

如果要在生成映像的节点中运行容器,则必须使用NodeSelector或PodAffinity


如果使用kubernetes群集,则只能在生成映像的节点上使用映像

您必须将映像推送到容器注册表,然后kubernetes将尝试将映像拉到将运行容器的节点

如果要在生成映像的节点中运行容器,则必须使用NodeSelector或PodAffinity


该容器是否使用docker run运行?
kubectl日志podname
说了什么?没说:)那个容器使用docker运行吗?kubectl logs podname说了什么?这没说什么:)还尝试删除minikube,并用新的映像创建主节点VM。同样的问题。第一个映像成功拉取,在运行状态下短暂运行,然后在没有日志的情况下崩溃。有时间的话,我会尽量从docker仓库中提取。看看这有什么用。那么你的部署有问题了。只需尝试任何其他映像,如ngix,以查看kubernetes群集是否正常工作。还尝试删除minikube并使用新映像创建主节点VM。同样的问题。第一个映像成功拉取,在运行状态下短暂运行,然后在没有日志的情况下崩溃。有时间的话,我会尽量从docker仓库中提取。看看这有什么用。那么你的部署有问题了。只需尝试任何其他图像,如ngix,以查看kubernetes群集是否正常工作。