Minikube访问使用注册表插件添加的图像



我按照本页概述的说明,将本地映像推送到启用了注册表附加组件的本地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)

以下是我所遵循的步骤:

  1. 获取我的集群虚拟机的IP范围- 192.168.99.0/24
  2. 添加以下条目到我的Docker Desktop配置:
insecure-registries": [
"192.168.99.0/24"
]
  1. 已启动的Minikube注册表不安全标志:
$ minikube start —insecure-registry=“192.168.99.0/24”
4
  • 运行:
  • $ minikube addons enable registry 
    
    1. 标记我想要推送的图像:
    $ docker tag docker.io/library/myapp:v1 $(minikube ip):5000/myapp:v1
    
    1. 推送图片:
    $ 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"
    

    相关内容

    • 没有找到相关文章