k3d:找不到本地存储库

k3d: local repository not found

我已经创建了我的 loca 注册表:

$ docker container run -d 
  --name registry.localhost
  --restart always
  -p 5000:5000
  registry:2

起床了 运行:

$ curl -s registry.localhost:5000/v2/_catalog | jq
{
  "repositories": [
   "greenplum-for-kubernetes",
   "greenplum-operator"
  ]
}

我正在尝试创建部署。但是我得到:

4m7s        Normal    ScalingReplicaSet         deployment/greenplum-operator              Scaled up replica set greenplum-operator-76b544fbb9 to 1
4m7s        Normal    SuccessfulCreate          replicaset/greenplum-operator-76b544fbb9   Created pod: greenplum-operator-76b544fbb9-pm7t2
<unknown>   Normal    Scheduled                 pod/greenplum-operator-76b544fbb9-pm7t2    Successfully assigned default/greenplum-operator-76b544fbb9-pm7t2 to k3d-k3s-default-agent-0
3m23s       Normal    Pulling                   pod/greenplum-operator-76b544fbb9-pm7t2    Pulling image "registry.localhost:5000/greenplum-operator:v2.2.0"
3m23s       Warning   Failed                    pod/greenplum-operator-76b544fbb9-pm7t2    Error: ErrImagePull
3m23s       Warning   Failed                    pod/greenplum-operator-76b544fbb9-pm7t2    Failed to pull image "registry.localhost:5000/greenplum-operator:v2.2.0": rpc error: code = Unknown desc = failed to pull and unpack image "registry.localhost:5000/greenplum-operator:v2.2.0": failed to resolve reference "registry.localhost:5000/greenplum-operator:v2.2.0": failed to do request: Head https://registry.localhost:5000/v2/greenplum-operator/manifests/v2.2.0: http: server gave HTTP response to HTTPS client
3m1s        Warning   Failed                    pod/greenplum-operator-76b544fbb9-pm7t2    Error: ImagePullBackOff
3m1s        Normal    BackOff                   pod/greenplum-operator-76b544fbb9-pm7t2    Back-off pulling image "registry.localhost:5000/greenplum-operator:v2.2.0"

简而言之:

http: server gave HTTP response to HTTPS client

我的集群已启动并且 运行 也启动了:

$ k3d cluster create --agents 2 --k3s-server-arg --disable=traefik
  --volume $HOME/.k3d/registries.yaml:/etc/rancher/k3s/my-registries.yaml

如您所见:

$ cat ${HOME}/.k3d/registries.yaml
mirrors:
  "registry.localhost:5000":
    endpoint:
      - "http://registry.localhost:5000"

有什么想法吗?

你的工人这样做

创建或修改/etc/docker/daemon.json

{ "insecure-registries":["registry.localhost:5000"] }

重新启动 docker 守护程序

sudo service docker restart

来源:https://github.com/docker/distribution/issues/1874

问题与k3s有关,我写错了。

k3s 需要访问 /etc/rancher/k3s/registries.yaml 文件,如您所见 here.

问题是推送 my-registries.yaml 文件而不是 registries.yaml:

$ k3d cluster create --agents 2 --k3s-server-arg --disable=traefik
  --volume $HOME/.k3d/registries.yaml:/etc/rancher/k3s/my-registries.yaml

问题已解决:

$ k3d cluster create --agents 2 --k3s-server-arg --disable=traefik
  --volume $HOME/.k3d/registries.yaml:/etc/rancher/k3s/registries.yaml