k8s使用ingress代理非集群ip地址

发布于 2022-09-12 13:53:17 字数 1593 浏览 21 评论 0

我有一个web服务,没有在集群中,想使用 ingress 代理

下面是我的 yaml 文件

apiVersion: v1
kind: Service
metadata:
  name: exsi-web
spec:
  ports:
    - name: http
      port: 80
      protocol: TCP
      targetPort: 443
  type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
  name: exsi-web
subsets:
  - addresses:
      - ip: 192.168.1.102
    ports:
      - name: https
        port: 443
        protocol: TCP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: esxi-web
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
    - host: exsi.mrj.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: exsi-web
                port:
                  number: 443

但是却报错

  ~ k describe ing esxi-web
Name:             esxi-web
Namespace:        default
Address:
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
  Host          Path  Backends
  ----          ----  --------
  exsi.mrj.com
                /   exsi-web:443   )
Annotations:    nginx.ingress.kubernetes.io/rewrite-target: /
Events:
  Type    Reason          Age   From                      Message
  ----    ------          ----  ----                      -------
  Normal  AddedOrUpdated  22m   nginx-ingress-controller  Configuration for default/esxi-web was added or updated

问题:

  1. 需要如何修改 ingress 的配置,才能正确发现 endpoint ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文