ubuntu - 在从机上运行 kubernetes 部署时出现 ImagePullBackOff 错误,其中 docker docker 映像存在于主机中
问题描述
我在裸机机器上有一个 2 台机器的 kubernetes 集群,其中主机包含我只想在从节点上部署的 docker 映像,但我不想使用云存储库进行映像存储,我正在构建来自 jenkins 的 docker 映像在主机上运行的作业,如果我使用来自 dockerhub 的 docker 映像,则部署工作正常,但是当映像在主机中时,在从节点上部署时它会给我一个错误,
NAME READY STATUS RESTARTS AGE
dash-deploy-5bd7cb4484-wvwcr 0/1 ImagePullBackOff 0 22h
hello-deploy-5756df7ff4-mwzcw 1/1 Running 0 21h
hello-deploy 使用来自 docker hub 的 docker 镜像,而 dash-deploy 使用主节点上的 docker 镜像,两者的部署都是在从节点上完成的。我知道还有很多其他方法可以做到这一点,但是对此的任何帮助将不胜感激。我正在使用 ubuntu 16.04
kubeadm 版本:&version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.2", GitCommit:"81753b10df112992bf51bbc2c2f85208aad78335", GitTreeState:"clean", BuildDate:"2018-04-27T09:10: 24Z”,GoVersion:“go1.9.3”,编译器:“gc”,平台:“linux/amd64”}
kubectl version 客户端版本:version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.3", GitCommit:"d2835416544f298c919e2ead3be3d0864b52323b", GitTreeState:"clean", BuildDate:"2018-02-07T12: 22:21Z”,GoVersion:“go1.9.2”,编译器:“gc”,平台:“linux/amd64”}
服务器版本:version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.3", GitCommit:"2bba0127d85d5a46ab4b778548be28623b32d0b0", GitTreeState:"clean", BuildDate:"2018-05-21T09:05: 37Z”,GoVersion:“go1.9.3”,编译器:“gc”,平台:“linux/amd64”}
我的 yaml 文件看起来像
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: dash-deploy
spec:
replicas: 1
minReadySeconds: 1
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
template:
metadata:
labels:
app: dashboard
spec:
containers:
- name: dash-pod
image: 32:32
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: dash-svc
labels:
app: dashboard
spec:
type: NodePort
ports:
- port: 8080
nodePort: 30002
protocol: TCP
selector:
app: dashboard
---
解决方案
从站需要从某个地方下载图像。图像不会自动分发给从站。
如果您不想使用 dockerhub,则需要在集群中托管自己的 Docker Registry 以从中下载镜像。本指南将帮助您做到这一点。