Microk8s 入口或负载均衡器在本地单节点集群中不工作

Microk8s ingress or loadbalancer not working in local single node cluster

我在本地通过教程试用 kuberenets,运行 遇到了一些问题。

我使用 Docker 在 node js 中构建了几个片段的图像,然后用它在 microk8s 中部署。没有入口控制器,一切都运行良好。 容器是 客户端 - 端口 3000(反应应用程序) 帖子 - 端口 4000 评论 - 端口 4001 适度...

我在 microk8s 中启用入口后应用了此配置

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
    name: ingress-srv
    annotations:
        kubernetes.io/ingress.class: nginx
        nginx.ingress.kubernetes.io/use-regex: 'true'
spec:
    rules:
        - host: posts.com
          http:
            paths:
                - path: /posts/create
                  backend: 
                    serviceName: posts-clusterip-srv
                    servicePort: 4000
                - path: /posts
                  backend: 
                    serviceName: query-clusterip-srv
                    servicePort: 4002
                - path: /posts/?(.*)/comments
                  backend: 
                    serviceName: comments-clusterip-srv
                    servicePort: 4001
                - path: /?(.*)
                  backend: 
                      serviceName: client-clusterip-srv
                      servicePort: 3000

我已确保编辑主机文件以设置

127.0.0.1    posts.com

当我检查 k8s 的入口时,这是我的结果

请指导我如何解决这个问题或我的设置出了什么问题。 它工作了一次,当我用 skaffold 再次尝试时,(它部署 pods 没有任何问题,我仍然可以通过 NodePort 服务访问)当我在浏览器中转到 posts.com 时它不工作。请告诉我哪里出了问题。

PS。当我 ping posts.com 它也指向 127.0.0.1

实际上我通过重启电脑解决了这个问题。

我不确定如何,因为我还重新安装了 microk8s 并尝试了 minikube。 我想这是与 OS 相关的东西,不知何故它在重启后工作。