我正在尝试在minkube中启用入口。当我运行minikube addons enable ingress
时,它挂起了一段时间,然后我得到以下错误消息:
❌ Exiting due to MK_ADDON_ENABLE: run callbacks: running callbacks: [sudo KUBECONFIG=/var/lib/minikube/kubeconfig /var/lib/minikube/binaries/v1.19.15/kubectl apply -f /etc/kubernetes/addons/ingress-deploy.yaml: Process exited with status 1
stdout:
namespace/ingress-nginx unchanged
serviceaccount/ingress-nginx unchanged
configmap/ingress-nginx-controller unchanged
configmap/tcp-services unchanged
configmap/udp-services unchanged
clusterrole.rbac.authorization.k8s.io/ingress-nginx unchanged
clusterrolebinding.rbac.authorization.k8s.io/ingress-nginx unchanged
role.rbac.authorization.k8s.io/ingress-nginx unchanged
rolebinding.rbac.authorization.k8s.io/ingress-nginx unchanged
service/ingress-nginx-controller-admission unchanged
stderr:
error: error validating "/etc/kubernetes/addons/ingress-deploy.yaml": error validating data: [ValidationError(Service.spec): unknown field "ipFamilies" in io.k8s.api.core.v1.ServiceSpec, ValidationError(Service.spec): unknown field "ipFamilyPolicy" in io.k8s.api.core.v1.ServiceSpec]; if you choose to ignore these errors, turn validation off with --validate=false
waiting for app.kubernetes.io/name=ingress-nginx pods: timed out waiting for the condition]
╭───────────────────────────────────────────────────────────────────────────────────────────╮
│ │
│ 😿 If the above advice does not help, please let us know: │
│ 👉 https://github.com/kubernetes/minikube/issues/new/choose │
│ │
│ Please run `minikube logs --file=logs.txt` and attach logs.txt to the GitHub issue. │
│ Please also attach the following file to the GitHub issue: │
│ - /tmp/minikube_addons_2c0e0cafd16ea0f95ac51773aeef036b316005b6_0.log │
│ │
╰───────────────────────────────────────────────────────────────────────────────────────────╯
这是我使用的minikube启动命令:minikube start --kubernetes-version=v1.19.15 --vm-driver=docker
我试着重新安装minikube。上周,当我执行同样的命令时,它运行得很好。
如果需要更具体的信息,请告诉我,我会编辑这个问题。有人知道我该怎么做吗?
提前谢谢。
有点晚了,但我希望有人发现这很有用,这是因为minikube无法及时提取图像(入口nginx控制器(,知道的方法是:
kubectl get pod -n ingress-nginx
如果入口nginx控制器xxxx(xxxx是pod的标识符(的状态为ImagePullBackOff或类似的状态,则您处于这种情况。
要修复,你需要首先描述你的吊舱:
kubectl describe pod ingress-nginx-controller-xxxxx -n ingress-nginx
查看containers/controller/images并复制其值(如果@sha256:…包含它,则不需要复制它(。你必须手动拉它,但在可能删除相关部署之前:
kubectl delete deployment ingress-nginx-controller -n ingress-nginx
然后从vm中提取图像,在我的例子中是这样的:
minikube ssh docker pull k8s.gcr.io/ingress-nginx/controller:v1.2.1
等待它,然后尝试";插件使能进入";再次看看它是否有效,它为我做到了。
降级到minikube v1.23.2修复了该问题。
- 您使用的是哪种操作系统
-
ingress和ingress dns插件目前仅在Linux上受支持。https://minikube.sigs.k8s.io/docs/drivers/docker/
-
您仍然可以使用vmware运行minikube
# If you are using Mac:
brew install docker-machine-driver-vmware
# Start a cluster using the vmware driver:
minikube start --driver=vmware
# To make vmware the default driver:
minikube config set driver vmware
升级到minikube v1.26.0解决了这个问题。
我的例子中的错误是:
X由于MK_ADDON_ENABLE而退出:运行回调:正在运行回调:[NewSession:新客户端:新客户端:使用docker从ssh创建新的本机配置时出错;{[][C:\Users<user>.minikube\machines\minikube\id_rsa]}:打开C:\Users<用户>。minikube\machines\minikube\id_rsa:访问被拒绝等待app.kubernetes.io/name=ingress nginx pods:等待条件超时]
简单的修复方法是使用Administrator运行PowerShell(我在Windows上(。我使用的是v1.26.0。
minikube delete --all --purge
minikube addons enable ingress