Docker 用于创建部署的yaml失败
在构建名为MyHTTP的docker映像之后,我可以使用 kubectl创建部署http部署--image=my http 这不会拉取映像,因为imagePullPolicy始终为 那就跑吧 kubectl编辑部署http部署 并将imagePullPolicy更改为Never,然后它将运行 但出于自动化目的,我创建了一个yaml来创建部署,同时设置imagePullPolicyDocker 用于创建部署的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
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群集是否正常工作。