我想在树莓派 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
文件