Http 如何将应用程序部署到Kubernetes中的minikube使用注册表?

Http 如何将应用程序部署到Kubernetes中的minikube使用注册表?,http,https,kubernetes,docker-registry,minikube,Http,Https,Kubernetes,Docker Registry,Minikube,在Kuberneteskubectl create-f kube registry.yaml中安装注册表 其中包含docker图像: curl http://192.168.99.100:5000/v2/_catalog {"repositories":["app1"]} 还做了如下工作: kubectl port-forward --namespace kube-system \ $(kubectl get po -n kube-system | grep kube-registry-v0

在Kubernetes
kubectl create-f kube registry.yaml中安装注册表

其中包含docker图像:

curl http://192.168.99.100:5000/v2/_catalog
{"repositories":["app1"]}
还做了如下工作:

kubectl port-forward --namespace kube-system \
$(kubectl get po -n kube-system | grep kube-registry-v0 | \
awk '{print $1;}') 5000:5000
在Kubernetes部署文件(
deployment.yaml
)中设置
image:192.168.99.100:5000/app1

将其部署到群集后:

kubectl create -f deployment.yaml
从部署菜单上的Kubernetes仪表板检查状态,出现错误:

Failed to pull image "192.168.99.100:5000/app1": rpc error: code = 2 desc = Error response from daemon: {"message":"Get https://192.168.99.100:5000/v1/_ping: http: server gave HTTP response to HTTPS client"}
Error syncing pod
原因是无法从http协议获取注册表内容。如何解决


添加了不安全的注册表(实际内容是
192.168.99.100:5000
。这里是不同的IP/端口图片。)

  • 配置docker以使用http
    不安全注册表拉取映像
  • 在节点中创建此文件并重新启动docker进程,然后尝试部署

    /etc/docker/daemon.json

    {
      "insecure-registries" : ["192.168.99.100:5000"]
    }
    
  • 配置docker以使用http
    不安全注册表拉取映像
  • 在节点中创建此文件并重新启动docker进程,然后尝试部署

    /etc/docker/daemon.json

    {
      "insecure-registries" : ["192.168.99.100:5000"]
    }
    
    有用资源

    有用资源


    当我在上面添加图片时,我从Mac docker应用程序设置了
    不安全的注册表。这仍然不起作用。查看错误消息,它试图从此ip中提取图像
    192.168.99.100:5000
    您的图像显示不同的ipI设置Mac docker应用程序中的
    不安全注册表
    ,我在上面添加了一张图片。这仍然不起作用。查看错误消息,它试图从此ip中提取映像
    192.168.99.100:5000
    您的映像显示不同的ip