为什么我无法在迷你库贝中启用入口?



我正在尝试在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修复了该问题。

  1. 您使用的是哪种操作系统
  • 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

最新更新