繁体   English   中英

本地主机 kubernetes 入口不向本地机器公开服务

[英]Localhost kubernetes ingress not exposing services to local machine

我在 localhost 中运行 kuberenetes,pod 正在运行,并且可以在端口转发时访问服务:

kubectl port-forward svc/my-service 8080:8080

我可以在本地主机中获取/发布等服务。

我正在尝试将它与入口一起使用来访问它,这是 yml 文件:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
    name: my-ingress
spec:
    ingressClassName: nginx
    rules:
    - http:
        paths:
        - path: /
          pathType: Prefix
          backend:
              service:
                  name: my-service
                  port:
                      number: 8080

我还安装了入口 controller。 但它没有按预期工作。 这有什么问题吗?

编辑:我试图与入口连接的服务:

apiVersion: apps/v1
kind: Deployment
metadata:
    name: my-service
    labels:
        app: my-service
spec:
    replicas: 1
    selector:
        matchLabels:
            app: my-service
    template:
        metadata:
            labels: my-service
                app: my-service
        spec:
            containers:
            - image: test/my-service:0.0.1-SNAPSHOT
              name: my-service
              ports:
                  - containerPort:8080
       ... other spring boot override properties

---

apiVersion: v1
kind: Service
metadata:
    name: my-service
    labels:
        app: my-service
spec:
    type: ClusterIP
    selector:
        app: my-service
    ports:
    - name: 8080-8080
      port: 8080
      protocol: TCP
      targetPort: 8080

服务虽然可以自己工作

编辑:

当我使用https而不是http时它起作用了

入口资源是否与服务在同一个命名空间中? 可以分享一下服务清单吗? 此外,nginx ingress-controller 的日志显示什么以及在浏览器中点击端点时会遇到什么样的错误?

顺便说一句,Ingress 的 YAML 文件对我来说看起来不错。

我是愚蠢的。 当我使用https而不是http时它起作用了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM