为什么 kubernetes 无法从本地注册表中提取?

为什么 kubernetes 无法从本地注册表中提取?

我想在树莓派 kubernetes 集群上部署我的容器。

我的 yml 如下所示

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  selector:
    matchLabels:
      run: my-nginx
  replicas: 1
  template:
    metadata:
      labels:
        run: my-nginx
    spec:
      containers:
      - name: my-nginx
        image:   192.168.178.37:5000/my-nginx
        imagePullPolicy: Always
        ports:
        - containerPort: 80

---
apiVersion: v1
kind: Service
metadata:
  name: my-nginx-service
  labels:
    run: my-nginx
spec:
  type: NodePort 
  ports:
    - port: 80
      targetPort: 80
      nodePort: 30007
  selector:
    run: my-nginx

但我收到以下错误

Events:
  Type     Reason          Age              From               Message
  ----     ------          ----             ----               -------
  Normal   Scheduled       7s               default-scheduler  Successfully assigned default/my-nginx-7cf6c4949c-dnb6h to node1-pi4
  Normal   Pulling         5s               kubelet            Pulling image "192.168.178.37:5000/my-nginx"
  Warning  Failed          5s               kubelet            Failed to pull image "192.168.178.37:5000/my-nginx": rpc error: code = Unknown desc = Error response from daemon: Get https://192.168.178.37:5000/v2/: http: server gave HTTP response to HTTPS client
  Warning  Failed          5s               kubelet            Error: ErrImagePull
  Normal   SandboxChanged  4s               kubelet            Pod sandbox changed, it will be killed and re-created.
  Normal   BackOff         0s (x3 over 2s)  kubelet            Back-off pulling image "192.168.178.37:5000/my-nginx"
  Warning  Failed          0s (x3 over 2s)  kubelet            Error: ImagePullBackOff
pi@master-pi4 ~/Project/htmlBasic % kubectl restart                                      

我补充道insecure registries

 % cat /etc/docker/daemon.json
{ "insecure-registries":["192.168.178.37:5000"] }

我能够从本地注册表中提取数据。

% docker pull 192.168.178.37:5000/my-nginx
Using default tag: latest
latest: Pulling from my-nginx
Digest: sha256:d498979a2da64b098e25938a0ff0dd611959d791f726d6590f671d471aefed05
Status: Image is up to date for 192.168.178.37:5000/my-nginx:latest
192.168.178.37:5000/my-nginx:latest

如何配置 Kubernetes 以便能够从我的本地注册表中提取数据?我使用的是 Kubernetes 的设置这里

答案1

你需要确保集群中的所有节点都有相同的/etc/docker/daemon.json文件

相关内容