【问题标题】:Kubernetes Ingress on server side deploymentKubernetes Ingress 在服务器端部署
【发布时间】:2020-06-30 18:06:36
【问题描述】:

想要的场景:

给定一个虚拟机,设备 IP 为192.168.2.22。在其上运行带有 minikube 的 Kubernetes,为 API 应用程序提供入口、服务和部署。 (minikube IP = ingress IP = 172.17.0.2 在设备中)

然后期望从其他 PC 访问这些 API/服务器。

这里想问一下这个场景怎么实现?希望有人可以分享他们的经验和智慧。即使是一些简单的关键字也可能会有所帮助。

试过

我的想法是将172.17.0.2映射到设备上的localhost/127.0.0.1(使用iptable),但后来发现入口实际上需要host.name.com字符串才能工作,所以这个失败了。

入口描述

Name:             my-ingress
Namespace:        default
Address:          172.17.0.2
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
  Host        Path  Backends
  ----        ----  --------
  localhost
              /route1/?(.*)   service1 (172.18.0.4:80)
              /route2/?(.*)   service2 (172.18.0.4:80)
Annotations:  kubernetes.io/ingress.class: nginx
              nginx.ingress.kubernetes.io/rewrite-target: /$1

【问题讨论】:

    标签: kubernetes deployment iptables kubernetes-ingress nginx-ingress


    【解决方案1】:
    1. 从文档here 中,您应该能够将以下行添加到/etc/hosts 文件的底部。

    注意:如果您在本地运行 Minikube,请使用 minikube ip 获取 外部IP。入口列表中显示的 IP 地址将是 内部 IP。

     <MINIKUBE-EXTERNAL-IP> host.name.com
    

    然后你就可以 curl host.name.com

    1. 或者使用xip.io 通配符DNS,其中172.17.0.2.xip.io 解析为172.17.0.2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-30
      • 2019-06-28
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 2020-09-15
      • 1970-01-01
      • 2021-12-19
      相关资源
      最近更新 更多