【发布时间】:2020-05-20 17:00:08
【问题描述】:
我的 kubernetes 部署文件和错误如下。我正在尝试在启动 Kubernetes 部署时获取本地计算机中存在的已构建的 docker 映像。当我在底部执行部署文件时,它给了我以下错误。有人可以帮忙吗?
Failed to pull image "shan:v.0.0.1": rpc error: code = Unknown desc = Error response from daemon: pull access denied for shanservice, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: shanservice
namespace: dev
labels:
app: astec
spec:
replicas: 2
selector:
matchLabels:
name: shanservice
app: astec
template:
metadata:
name: shanservice
namespace: dev
labels:
name: shanservice
app: astec
spec:
containers:
- image: shan:v.0.0.1
name: shanservice
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
【问题讨论】:
-
您是如何配置 Kubernetes 集群的?如果 minikube 那么镜像是否存在于 minikube 节点上?
-
没有。通过使用 kubeadm。集群位于单独连接的服务器上。而且是的,我的图像 shan:v.0.0.1 存在于同一服务器中。
-
尝试使用--image-pull-policy=如果你想使用本地图像,请不要
-
对于大多数实际设置,您需要将映像推送到某个注册表(Docker Hub,您的云提供商提供的东西,您自己运行的东西)。使用您在此处显示的设置,您需要手动将图像复制到每个(工作)节点,并且每次更新图像时都必须重复此操作;这不是特别实用。
标签: docker kubernetes deployment continuous-integration