0

我正在使用教程在本地尝试 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 再次尝试时,(它部署 pod 没有任何问题,我仍然可以通过 NodePort 服务访问)当我在浏览器中转到 posts.com 时它不起作用。请告诉我出了什么问题。

PS。当我 ping post.com 时,它也指向 127.0.0.1

4

1 回答 1

1

实际上我通过重启我的电脑解决了它。

我不确定如何,因为我也重新安装了 microk8s 并尝试了 minikube。我想这是与操作系统相关的东西,它在重新启动后以某种方式工作。

于 2020-05-28T07:14:18.033 回答