当前位置: 首页 > 知识库问答 >
问题:

Kubernetes没有为入口分配地址

仲高超
2023-03-14

我是k8s的初学者,我按照k8s官方文档创建了一个hel-world入口,但我无法使其工作。首先,我创建了一个服务,就像我得到的教程一样:

$ kubectl get service web 

NAME   TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
web    NodePort   10.100.208.38   <none>        8080:31921/TCP   19m

因此,我可以通过浏览器访问我的服务:

$ minikube service web

Hello, world!
Version: 1.0.0
Hostname: web-79d88c97d6-xrshs 

到现在为止,一直都还不错。然而,我被困在入口部分。因此,我创建了类似于教程的入口:

$ kubectl describe ingress example-ingress

Name:             example-ingress
Namespace:        default
Address:          
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend"  not found>)
Rules:
Host              Path  Backends
----              ----  --------
hello-world.info  
                /   web:8080 (172.17.0.4:8080)
Annotations:        nginx.ingress.kubernetes.io/rewrite-target: /$1
...

甚至在用我的minikube ip配置了/etc/hosts之后:192.168.99.102 hello world。信息,当我卷曲它或通过浏览器访问时,我会得到nginx 404。奇怪的是,我的入口没有地址,即使过了一段时间。有人能告诉我错误在哪里吗?

附言:我在这里询问之前做了研究。我检查minikube ingress插件是否已启用,ingress nginx控制器pod是否正在运行。

我的minikube版本是1.23,kubectl客户端和服务器版本是1.22.1。

共有1个答案

濮阳品
2023-03-14

如本文所述,Minikube 1.23.0的Ingress插件似乎有一个bug,与您看到的问题相匹配。ConfigMap问题阻止生成IngressClass(默认情况下通常为“nginx”),ingress服务将无法工作。

此问题已在1.23.1中修复,因此更新Minikube应该可以解决您的问题。

 类似资料:
  • 我希望以以下方式分割Kubernetes Nginx中的传入流量: 我为找到了指向example.com的路由。 此解决方案仅在service-b超过HTTPS的情况下工作,但在我的情况下,由于其他一些内部依赖关系,我无法将此服务更改为HTTPS。 我的问题是注释适用于整个类型,我不能按路径定义它。 附:我正在使用AWS提供程序

  • 有人能帮我走台阶吗...(我在互联网的帮助下尝试了多种方法...不知道我错过了什么?) 注意:根据讨论论坛,我在ingress YAML的部署部分中添加了“hostnetwork:true”来解决“没有主机参数不能工作”,并注释了“type:nodeport”。 更新信息: kubectl描述了更新后的入口路由:在这里,我有ngnix--它工作得很好(我猜ingress和nginx都在相同的命名空

  • 所以我正在使用库伯内特斯作为一个辅助项目,它很棒。运行像我这样的小项目更便宜(一个3-5个实例的小集群基本上为我提供了大约30美元/月的GCP所需的一切)。 我唯一努力的领域是尝试使用kubernetes入口资源映射到集群并扇出到我的微服务(它们是小型Go或节点后端)。我有入口映射到不同服务的配置设置,没有问题。 我知道,在创建入口资源时,您可以很容易地让GCP启动负载平衡器。这很好,但这也意味着

  • 以下是每个部署的潜在工作流: 创建feature-api-deployment.yml 创建feature-api-service.yml 使用新的子域规则更新ingress.yml:指定 但是枚举和维护所有的子域->服务映射将会因为分解部署而变得混乱,并且会创建大量的GCE后端(默认配额是5...)所以不太理想。

  • 我有一个在kubernetes pod中运行的应用程序(在我的本地docker桌面上,启用kubernetes),监听端口8080。然后我有以下kubernetes配置 这个很好用。但我想把443端口改成其他端口,比如8443(因为我将有多个网关)。当我有这个,我不能再访问应用程序了。是否有一些配置我遗漏了?我猜我需要配置Istio来接受8443端口?我使用以下命令安装了istio: 编辑:我读了