我按照本页概述的说明,将本地映像推送到启用了注册表附加组件的本地3节点Minikube集群,并且集群以不安全的注册表标志启动,但是当我尝试使用该映像创建Pod时,我得到以下错误:
正常pull 9m18s (x4 over 10m) kubelet pull image "192.168.99.100:5000/myapp:v1 "
警告失败9m18s (x4 over 10m) kubelet pull image "192.168.99.100:5000/myapp:v1 ": rpc error: code = Unknown desc =来自daemon的错误响应:Get "https://192.168.99.100:5000/v2/": http:服务器给HTTPS客户端http响应
如果有任何解决这个问题的建议,我将不胜感激
我的Minikube (v1.23.2)在macOS (Big Sur 11.6)上使用VirtualBox驱动程序。它是一个三节点集群。我的Docker桌面版本是(20.10.8)
以下是我所遵循的步骤:
- 获取我的集群虚拟机的IP范围- 192.168.99.0/24
- 添加以下条目到我的Docker Desktop配置:
insecure-registries": [
"192.168.99.0/24"
]
- 已启动的Minikube注册表不安全标志:
$ minikube start —insecure-registry=“192.168.99.0/24”
4- 运行:
- 标记我想要推送的图像:
- 推送图片:
$ minikube addons enable registry
$ docker tag docker.io/library/myapp:v1 $(minikube ip):5000/myapp:v1
$ docker push $(minikube ip):5000/myapp:v1
推送工作正常-当我执行注册表Pod时,我可以在文件系统中看到映像。然而,当我试图创建一个圆荚体使用的图像,得到上述错误。
My Pod manifest is:
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
run: myapp
name: myapp
spec:
containers:
- image: 192.168.99.100:5000/myapp:v1
name: myapp
imagePullPolicy: IfNotPresent
resources: {}
dnsPolicy: ClusterFirst
restartPolicy: Always
通过删除集群并从一开始就使用不安全注册表标志重新创建它来解决这个问题—最初我创建了集群,停止了它,然后使用不安全注册表标志再次启动它。由于某些原因,这不起作用,但是第一次用标志启动它就起作用了。
如果您将要创建集群与注册插件很多,这可能是值得将国旗永久添加到您的配置。将IP替换为集群的子网:
$ minikube config set insecure-registry "192.168.99.0/24"