Kubernetes pod status ImagePullBackOff



我正试图基于本地机器而非公共注册表中的容器映像创建一个pod。我正在检索pod的状态为ImagePullBackoffDocker文件

FROM tensorflow/tensorflow:latest-py3
RUN pip install -q keras==2.3.1
RUN pip install pillow
RUN mkdir -p /app/src
WORKDIR /app/src
COPY . ./
EXPOSE 31700
CMD ["python", "test.py"]

构建docker镜像

docker build -t tensor-keras .

在不使用yaml文件的情况下创建pod

kubectl run server --image=tensor-keras:latest

Yaml文件

apiVersion: v1 
kind: Pod
metadata:
name: server
labels: 
app: server
spec:
containers:
- name:  tensor-keras
image: tensor-keras:latest
ports:
- containerPort: 31700

我正在检索吊舱的状态

NAME          READY   STATUS             RESTARTS   AGE
server         0/1   ImagePullBackOff      0        27m        

非常感谢的帮助

默认情况下,Kubernetes会尝试从远程容器存储库中提取图像。在您的情况下,您的图像名称没有以容器存储库url为前缀,因此它使用默认的url,大多数时候它被设置为Docker Hub。

imagePullPolicy字段的值是多少?对于您的用例,应该将其设置为Never以使用本地映像。您使用哪个工具来运行您的Kubernetes实例?

  • 例如,使用minikube时,使用本地图像的过程如下所述:https://stackoverflow.com/a/42564211/2784039
  • 对于kind,您应该使用命令kind load docker-image <tensor-keras:latest>在集群中加载图像
  • 对于k3s,如果imagePullPolicy设置为Never,则使用本地图像应该是开箱即用的

相关内容

  • 没有找到相关文章

最新更新