现在我在Windows 10上使用WSL 2和Docker桌面。
我创建了一个YAML脚本来为我的微服务创建一个入口,如下所示。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-srv
annotations:
kubernetes.io/ingress.class: nginx
spec:
rules:
- host: posts.com
http:
paths:
- path: /posts
pathType: Prefix
backend:
service:
name: posts-clusterip-srv
port:
number: 4000
我安装了ingress-nginx,方法是按照installation guide
我在指南中运行了此命令。kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.4.0/deploy/static/provider/cloud/deploy.yaml
但是当我运行kubectl get pods --namespace=ingress-nginx
时,ingress-nginx-controller
显示ImageInspectError
x1c 0d1x
当我运行命令kubectl apply -f ingress-srv.yaml
时,它显示了一条错误消息。
有谁能告诉我是什么问题吗?
我使用命令kubectl delete all --all -n ingress-nginx
删除了名称空间ingress-nginx
,并再次运行了部署脚本。kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.4.0/deploy/static/provider/cloud/deploy.yaml
但问题还是发生了。
2条答案
按热度按时间kknvjkwl1#
部署ingress-nginx控制器时出现问题。在部署入口之前,您需要首先解决该问题。因为,只有nginx控制器知道如何处理入口资源。
由于没有关于控制器部署失败的更多信息,您最好添加有关错误的更多详细信息。您可以描述控制器单元并共享其事件和状态以进一步了解此问题。
vuktfyat2#
这是因为损坏的文件系统。
当我运行ingress-nginx部署命令时,由于缺少驱动器存储大小,出现了docker-desktop崩溃。
所以我删除了所有损坏的、未使用的或悬挂的Docker图像。
docker system prune
我还删除了ingress-nginx并重新安装。
kubectl delete -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.4.0/deploy/static/provider/cloud/deploy.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.4.0/deploy/static/provider/cloud/deploy.yaml
从那以后,它运行得很好。
kubectl get pods --namespace=ingress-nginx